ADDED Android.mk Index: Android.mk ================================================================== --- Android.mk +++ Android.mk @@ -0,0 +1,49 @@ +LOCAL_PATH:= $(call my-dir)/.. + +include ${CLEAR_VARS} + +LOCAL_SRC_FILES := \ + src/gaiaaux/gg_sqlaux.c \ + src/gaiaexif/gaia_exif.c \ + src/gaiageo/gg_advanced.c \ + src/gaiageo/gg_endian.c \ + src/gaiageo/gg_ewkt.c \ + src/gaiageo/gg_geodesic.c \ + src/gaiageo/gg_geoJSON.c \ + src/gaiageo/gg_geometries.c \ + src/gaiageo/gg_geoscvt.c \ + src/gaiageo/gg_gml.c \ + src/gaiageo/gg_kml.c \ + src/gaiageo/gg_relations.c \ + src/gaiageo/gg_transform.c \ + src/gaiageo/gg_vanuatu.c \ + src/gaiageo/gg_wkb.c \ + src/gaiageo/gg_wkt.c \ + src/spatialite/mbrcache.c \ + src/spatialite/spatialite.c \ + src/spatialite/virtualfdo.c \ + src/spatialite/virtualnetwork.c \ + src/spatialite/virtualspatialindex.c \ + src/srsinit/srs_init.c \ + src/versioninfo/version.c + +LOCAL_C_INCLUDES := \ + $(LOCAL_PATH)/jni/src/headers \ + $(LOCAL_PATH)/src/headers \ + $(LOCAL_PATH)/../SQLite + +LOCAL_MODULE := spatialite + +LOCAL_LDLIBS := -ldl -llog + +LOCAL_CFLAGS := \ + -fvisibility=hidden \ + -DOMIT_GEOCALLBACKS \ + -DOMIT_GEOS \ + -DOMIT_PROJ \ + -DOMIT_EPSG \ + -DOMIT_ICONV \ + -DVERSION="\"3.0.2\"" + +include $(BUILD_SHARED_LIBRARY) + DELETED Android_3.0.2.mk Index: Android_3.0.2.mk ================================================================== --- Android_3.0.2.mk +++ Android_3.0.2.mk @@ -1,49 +0,0 @@ -LOCAL_PATH:= $(call my-dir)/.. - -include ${CLEAR_VARS} - -LOCAL_SRC_FILES := \ - src/gaiaaux/gg_sqlaux.c \ - src/gaiaexif/gaia_exif.c \ - src/gaiageo/gg_advanced.c \ - src/gaiageo/gg_endian.c \ - src/gaiageo/gg_ewkt.c \ - src/gaiageo/gg_geodesic.c \ - src/gaiageo/gg_geoJSON.c \ - src/gaiageo/gg_geometries.c \ - src/gaiageo/gg_geoscvt.c \ - src/gaiageo/gg_gml.c \ - src/gaiageo/gg_kml.c \ - src/gaiageo/gg_relations.c \ - src/gaiageo/gg_transform.c \ - src/gaiageo/gg_vanuatu.c \ - src/gaiageo/gg_wkb.c \ - src/gaiageo/gg_wkt.c \ - src/spatialite/mbrcache.c \ - src/spatialite/spatialite.c \ - src/spatialite/virtualfdo.c \ - src/spatialite/virtualnetwork.c \ - src/spatialite/virtualspatialindex.c \ - src/srsinit/srs_init.c \ - src/versioninfo/version.c - -LOCAL_C_INCLUDES := \ - $(LOCAL_PATH)/jni/src/headers \ - $(LOCAL_PATH)/src/headers \ - $(LOCAL_PATH)/../SQLite - -LOCAL_MODULE := spatialite - -LOCAL_LDLIBS := -ldl -llog - -LOCAL_CFLAGS := \ - -fvisibility=hidden \ - -DOMIT_GEOCALLBACKS \ - -DOMIT_GEOS \ - -DOMIT_PROJ \ - -DOMIT_EPSG \ - -DOMIT_ICONV \ - -DVERSION="\"3.0.2\"" - -include $(BUILD_SHARED_LIBRARY) - ADDED Android_4.2.0.mk Index: Android_4.2.0.mk ================================================================== --- Android_4.2.0.mk +++ Android_4.2.0.mk @@ -0,0 +1,23 @@ +# ------------------- +# Android_4.2.0.mk +# ndk-build clean +# ndk-build +# ------------------- +LOCAL_PATH := $(call my-dir) +JSQLITE_PATH := javasqlite-20120209 +SPATIALITE_PATH := libspatialite-4.2.0-rc1 +GEOS_PATH := geos-3.4.2 +PROJ4_PATH := proj-4.8.0 +SQLITE_PATH := sqlite-amalgamation-3080403 +ICONV_PATH := libiconv-1.13.1 +XML2_PATH := libxml2-2.9.1 +LZMA_PATH := xz-5.1.3alpha + +include $(LOCAL_PATH)/iconv-1.13.1.mk +include $(LOCAL_PATH)/sqlite-3080403.mk +include $(LOCAL_PATH)/proj4-4.8.0.mk +include $(LOCAL_PATH)/geos-3.4.2.mk +include $(LOCAL_PATH)/libxml2-2.9.1.mk +include $(LOCAL_PATH)/lzma-xz-5.1.3a.mk +include $(LOCAL_PATH)/spatialite-4.2.0.mk +include $(LOCAL_PATH)/jsqlite-20120209.mk DELETED Android_4.3.0.mk Index: Android_4.3.0.mk ================================================================== --- Android_4.3.0.mk +++ Android_4.3.0.mk @@ -1,25 +0,0 @@ -# ------------------- -# Android_4.3.0.mk -# [from 'jni/' directory] -# ndk-build clean -# ndk-build -# ------------------- -LOCAL_PATH := $(call my-dir) -JSQLITE_PATH := javasqlite-20120209 -SPATIALITE_PATH := libspatialite-4.3.0 -GEOS_PATH := geos-3.4.2 -PROJ4_PATH := proj-4.9.1 -SQLITE_PATH := sqlite-amalgamation-3081002 -ICONV_PATH := libiconv-1.13.1 -XML2_PATH := libxml2-2.9.1 -LZMA_PATH := xz-5.1.3alpha - -include $(LOCAL_PATH)/iconv-1.13.1.mk -include $(LOCAL_PATH)/sqlite-3081002.mk -include $(LOCAL_PATH)/proj4-4.9.1.mk -include $(LOCAL_PATH)/geos-3.4.2.mk -include $(LOCAL_PATH)/libxml2-2.9.1.mk -include $(LOCAL_PATH)/lzma-xz-5.1.3a.mk -include $(LOCAL_PATH)/spatialite-4.3.0.mk -include $(LOCAL_PATH)/jsqlite-20120209.mk -$(call import-module,android/cpufeatures) DELETED Android_4.4.0.mk Index: Android_4.4.0.mk ================================================================== --- Android_4.4.0.mk +++ Android_4.4.0.mk @@ -1,37 +0,0 @@ -# ------------------- -# Android_4.4.0.mk -# [from 'jni/' directory] -# ndk-build clean -# ndk-build -# ------------------- -# As of 2016-02-28 -# ------------------- -# changes: -# - geos-3.5.0 -# - liblwgeom -# - json-c-0.12 -# - spatialite [4.4.0-20160228] -# ------------------- -LOCAL_PATH := $(call my-dir) -JSQLITE_PATH := javasqlite-20120209 -SPATIALITE_PATH := libspatialite-4.4.0 -GEOS_PATH := geos-3.5.0 -JSONC_PATH := json-c-0.12 -LWGEOM_PATH := postgis-2.2.svn/liblwgeom -PROJ4_PATH := proj-4.9.1 -SQLITE_PATH := sqlite-amalgamation-3081002 -ICONV_PATH := libiconv-1.13.1 -XML2_PATH := libxml2-2.9.1 -LZMA_PATH := xz-5.2.1 - -include $(LOCAL_PATH)/iconv-1.13.1.mk -include $(LOCAL_PATH)/sqlite-3081002.mk -include $(LOCAL_PATH)/proj4-4.9.1.mk -include $(LOCAL_PATH)/geos-3.5.0.mk -include $(LOCAL_PATH)/json-c-0.12.mk -include $(LOCAL_PATH)/liblwgeom-2.2.0.mk -include $(LOCAL_PATH)/libxml2-2.9.1.mk -include $(LOCAL_PATH)/lzma-xz-5.2.1.mk -include $(LOCAL_PATH)/spatialite-4.4.0.mk -include $(LOCAL_PATH)/jsqlite-20120209.mk -$(call import-module,android/cpufeatures) Index: Makefile.am ================================================================== --- Makefile.am +++ Makefile.am @@ -1,15 +1,12 @@ ACLOCAL_AMFLAGS = -I m4 -AUTOMAKE_OPTIONS = dist-zip foreign +AUTOMAKE_OPTIONS = dist-zip -EXTRA_DIST = makefile.vc nmake.opt \ - makefile_mod.vc nmake_mod.opt \ - Android_3.0.2.mk Android_4.3.0.mk \ - spatialite-4.3.0.mk Android_4.4.0.mk spatialite-4.4.0.mk \ - mainpage.doxy README.coverage spatialite-sql-latest.html \ - config-msvc.h +EXTRA_DIST = makefile.vc nmake.opt Android.mk Android_4.2.0.mk \ + spatialite-4.2.0.mk mainpage.doxy README.coverage \ + spatialite-sql-latest.html config-msvc.h if ENABLE_EXAMPLES EXAMPLES = examples endif @@ -19,12 +16,10 @@ pkgconfig_DATA = spatialite.pc coverage-init: lcov --directory src --capture --initial --output-file libspatialite_cov.info - coverage:: - lcov --rc lcov_branch_coverage=1 --directory src --output-file libspatialite_cov.info --capture - lcov --rc lcov_branch_coverage=1 --remove libspatialite_cov.info "*/src/gaiageo/*Lexer.l" --output-file libspatialite_cov.info - genhtml --rc lcov_branch_coverage=1 -o covresults libspatialite_cov.info + lcov --directory src --output-file libspatialite_cov.info --capture + genhtml -o covresults libspatialite_cov.info MOSTLYCLEANFILES = libspatialite_cov.info Index: Makefile.in ================================================================== --- Makefile.in +++ Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,19 +77,23 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/configure $(am__configure_deps) \ + $(srcdir)/config.h.in $(srcdir)/Doxyfile.in \ + $(srcdir)/spatialite.pc.in AUTHORS COPYING INSTALL README \ + compile config.guess config.sub depcomp install-sh missing \ + ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ - $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = Doxyfile spatialite.pc @@ -188,14 +182,10 @@ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = src test examples -am__DIST_COMMON = $(srcdir)/Doxyfile.in $(srcdir)/Makefile.in \ - $(srcdir)/config.h.in $(srcdir)/spatialite.pc.in AUTHORS \ - COPYING INSTALL README compile config.guess config.sub depcomp \ - install-sh ltmain.sh missing DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ @@ -364,17 +354,14 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I m4 -AUTOMAKE_OPTIONS = dist-zip foreign -EXTRA_DIST = makefile.vc nmake.opt \ - makefile_mod.vc nmake_mod.opt \ - Android_3.0.2.mk Android_4.3.0.mk \ - spatialite-4.3.0.mk Android_4.4.0.mk spatialite-4.4.0.mk \ - mainpage.doxy README.coverage spatialite-sql-latest.html \ - config-msvc.h +AUTOMAKE_OPTIONS = dist-zip +EXTRA_DIST = makefile.vc nmake.opt Android.mk Android_4.2.0.mk \ + spatialite-4.2.0.mk mainpage.doxy README.coverage \ + spatialite-sql-latest.html config-msvc.h @ENABLE_EXAMPLES_TRUE@EXAMPLES = examples SUBDIRS = src test $(EXAMPLES) pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = spatialite.pc @@ -396,10 +383,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ @@ -651,19 +639,19 @@ dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip @@ -694,21 +682,21 @@ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst + mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build/sub \ - && ../../configure \ + && $(am__cd) $(distdir)/_build \ + && ../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=../.. --prefix="$$dc_install_base" \ + --srcdir=.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ @@ -885,19 +873,16 @@ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-pkgconfigDATA -.PRECIOUS: Makefile - coverage-init: lcov --directory src --capture --initial --output-file libspatialite_cov.info coverage:: - lcov --rc lcov_branch_coverage=1 --directory src --output-file libspatialite_cov.info --capture - lcov --rc lcov_branch_coverage=1 --remove libspatialite_cov.info "*/src/gaiageo/*Lexer.l" --output-file libspatialite_cov.info - genhtml --rc lcov_branch_coverage=1 -o covresults libspatialite_cov.info + lcov --directory src --output-file libspatialite_cov.info --capture + genhtml -o covresults libspatialite_cov.info # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: aclocal.m4 ================================================================== --- aclocal.m4 +++ aclocal.m4 @@ -1,8 +1,8 @@ -# generated automatically by aclocal 1.15 -*- Autoconf -*- +# generated automatically by aclocal 1.14.1 -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -233,11 +233,11 @@ AS_VAR_COPY([$1], [pkg_cv_][$1]) AS_VAR_IF([$1], [""], [$5], [$4])dnl ])# PKG_CHECK_VAR -# Copyright (C) 2002-2014 Free Software Foundation, Inc. +# Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -245,14 +245,14 @@ # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.15' +[am__api_version='1.14' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.15], [], +m4_if([$1], [1.14.1], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- @@ -264,18 +264,18 @@ # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.15])dnl +[AM_AUTOMAKE_VERSION([1.14.1])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -316,18 +316,19 @@ # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], -[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` +[dnl Rely on autoconf to set up CDPATH properly. +AC_PREREQ([2.50])dnl +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -354,11 +355,11 @@ [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -545,11 +546,11 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -621,11 +622,11 @@ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -711,12 +712,12 @@ # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], @@ -785,15 +786,11 @@ to "yes", and re-run configure. END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi -fi -dnl The trailing newline in this macro's definition is deliberate, for -dnl backward compatibility and to allow trailing 'dnl'-style comments -dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. -]) +fi]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], @@ -818,11 +815,11 @@ _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -829,21 +826,21 @@ # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh+set}" != xset; then +if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2014 Free Software Foundation, Inc. +# Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -861,11 +858,11 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -896,11 +893,11 @@ ] ) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -946,11 +943,11 @@ rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2014 Free Software Foundation, Inc. +# Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -987,11 +984,11 @@ # -*- Autoconf -*- # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -1014,11 +1011,11 @@ [AC_FATAL([automatic de-ANSI-fication support has been removed])]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -1043,11 +1040,11 @@ # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -1090,11 +1087,11 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -1109,11 +1106,11 @@ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2014 Free Software Foundation, Inc. +# Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -1190,11 +1187,11 @@ fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) -# Copyright (C) 2009-2014 Free Software Foundation, Inc. +# Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -1250,11 +1247,11 @@ AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2014 Free Software Foundation, Inc. +# Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -1278,11 +1275,11 @@ AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2014 Free Software Foundation, Inc. +# Copyright (C) 2006-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -1297,11 +1294,11 @@ # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2014 Free Software Foundation, Inc. +# Copyright (C) 2004-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. Index: compile ================================================================== --- compile +++ compile @@ -1,1 +1,1 @@ -/usr/share/automake-1.15/compile +/usr/share/automake-1.14/compile Index: config-msvc.h ================================================================== --- config-msvc.h +++ config-msvc.h @@ -3,39 +3,33 @@ /* / Sandro: manually adjusted so to support the MSVC compiler / using the OsGeo4W libraries */ -/* Should be defined in order to enable GCP support. */ -/* #undef ENABLE_GCP */ - /* Should be defined in order to enable GeoPackage support. */ /* #undef ENABLE_GEOPACKAGE */ /* Should be defined in order to enable LIBXML2 support. */ #define ENABLE_LIBXML2 1 -/* Should be defined in order to enable RTTOPO support. */ -#define ENABLE_RTTOPO 1 +/* Should be defined in order to enable LWGEOM support. */ +/* #undef ENABLE_LWGEOM */ /* Should be defined in order to enable GEOS_ADVANCED support. */ #define GEOS_ADVANCED 1 -/* Should be defined in order to fully disable GEOS non-thread-safe API. */ -/* #undef GEOS_ONLY_REENTRANT */ - -/* Should be defined in order to enable GEOS_REENTRANT (fully thread-safe). */ -#define GEOS_REENTRANT 1 +/* Should be defined in order to enable GEOS_TRUNK experimental support. */ +/* #undef GEOS_TRUNK */ /* Define to 1 if you have the header file. */ -#define HAVE_DLFCN_H 1 +/* #undef HAVE_DLFCN_H */ /* Define to 1 if you have the header file. */ #define HAVE_FCNTL_H 1 /* Define to 1 if you have the `fdatasync' function. */ -#define HAVE_FDATASYNC 1 +/* #undef HAVE_FDATASYNC */ /* Define to 1 if you have the header file. */ #define HAVE_FLOAT_H 1 /* Define to 1 if you have the header file. */ @@ -58,24 +52,24 @@ /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Define to 1 if you have the header file. */ -/* #undef HAVE_LIBLWGEOM_H */ +#define HAVE_LIBLWGEOM_H 1 /* Define to 1 if you have the `sqlite3' library (-lsqlite3). */ #define HAVE_LIBSQLITE3 1 /* Define to 1 if you have the `z' library (-lz). */ #define HAVE_LIBZ 1 /* Define to 1 if you have the `localtime_r' function. */ -#define HAVE_LOCALTIME_R 1 +/* #undef HAVE_LOCALTIME_R */ /* Define to 1 if `lstat' has the bug that it succeeds when given the zero-length file name argument. */ -/* #undef HAVE_LSTAT_EMPTY_STRING_BUG */ +#define HAVE_LSTAT_EMPTY_STRING_BUG 1 /* Define to 1 if you have the header file. */ #define HAVE_MATH_H 1 /* Define to 1 if you have the `memmove' function. */ @@ -95,11 +89,11 @@ /* Define to 1 if you have the header file. */ #define HAVE_SQLITE3_H 1 /* Define to 1 if you have the `sqrt' function. */ -/* #undef HAVE_SQRT */ +#define HAVE_SQRT 1 /* Define to 1 if `stat' has the bug that it succeeds when given the zero-length file name argument. */ /* #undef HAVE_STAT_EMPTY_STRING_BUG */ @@ -114,11 +108,11 @@ /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the `strcasecmp' function. */ -#define HAVE_STRCASECMP 1 +/* #undef HAVE_STRCASECMP */ /* Define to 1 if you have the `strerror' function. */ #define HAVE_STRERROR 1 /* Define to 1 if you have the `strftime' function. */ @@ -129,11 +123,11 @@ /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the `strncasecmp' function. */ -#define HAVE_STRNCASECMP 1 +/* #undef HAVE_STRNCASECMP */ /* Define to 1 if you have the `strstr' function. */ #define HAVE_STRSTR 1 /* Define to 1 if you have the header file. */ @@ -151,11 +145,11 @@ /* Define to 1 if you have the header file. */ #define HAVE_ZLIB_H 1 /* Define to 1 if `lstat' dereferences a symlink specified with a trailing slash. */ -#define LSTAT_FOLLOWS_SLASHED_SYMLINK 1 +/* #undef LSTAT_FOLLOWS_SLASHED_SYMLINK */ /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #define LT_OBJDIR ".libs/" @@ -191,38 +185,38 @@ /* Define to the full name of this package. */ #define PACKAGE_NAME "libspatialite" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "libspatialite 4.4.0-RC1" +#define PACKAGE_STRING "libspatialite 4.2.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "libspatialite" /* Define to the home page for this package. */ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.4.0-RC1" +#define PACKAGE_VERSION "4.2.0" /* Should be defined when linking liblwgeom from PostGIS 2.1 (or later). */ -/* #undefine POSTGIS_2_1 */ +/* #undef POSTGIS_2_1 1 */ /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Should contain a text-string describing the intended target CPU */ -#define TARGET_CPU "Win32" +#define TARGET_CPU "msvc-32" /* Define to 1 if you can safely include both and . */ #define TIME_WITH_SYS_TIME 1 /* Define to 1 if your declares `struct tm'. */ /* #undef TM_IN_SYS_TIME */ /* Version number of package */ -#define VERSION "4.4.0-RC1" +#define VERSION "4.2.0-rc2" /* Must be =64 in order to enable huge-file support. */ #define _FILE_OFFSET_BITS 64 /* Must be defined in order to enable huge-file support. */ Index: config.h.in ================================================================== --- config.h.in +++ config.h.in @@ -1,30 +1,24 @@ /* config.h.in. Generated from configure.ac by autoheader. */ -/* Should be defined in order to enable GCP support. */ -#undef ENABLE_GCP +/* Should be defined in order to enable CONTROL_POINTS support. */ +#undef ENABLE_CONTROL_POINTS /* Should be defined in order to enable GeoPackage support. */ #undef ENABLE_GEOPACKAGE /* Should be defined in order to enable LIBXML2 support. */ #undef ENABLE_LIBXML2 -/* Should be defined in order to enable RTTOPO support. */ -#undef ENABLE_RTTOPO +/* Should be defined in order to enable LWGEOM support. */ +#undef ENABLE_LWGEOM /* Should be defined in order to enable GEOS_ADVANCED support. */ #undef GEOS_ADVANCED -/* Should be defined in order to fully disable GEOS non-thread-safe API. */ -#undef GEOS_ONLY_REENTRANT - -/* Should be defined in order to enable GEOS_REENTRANT (fully thread-safe). */ -#undef GEOS_REENTRANT - -/* depending on SQLite library version. */ -#undef HAVE_DECL_SQLITE_INDEX_CONSTRAINT_LIKE +/* Should be defined in order to enable GEOS_TRUNK experimental support. */ +#undef GEOS_TRUNK /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ @@ -55,12 +49,12 @@ #undef HAVE_ICONV_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the header file. */ -#undef HAVE_LIBRTTOPO_H +/* Define to 1 if you have the header file. */ +#undef HAVE_LIBLWGEOM_H /* Define to 1 if you have the `sqlite3' library (-lsqlite3). */ #undef HAVE_LIBSQLITE3 /* Define to 1 if you have the `z' library (-lz). */ @@ -173,13 +167,10 @@ #undef OMIT_GEOS /* Should be defined in order to disable ICONV support. */ #undef OMIT_ICONV -/* Should be defined in order to disable KNN support. */ -#undef OMIT_KNN - /* Should be defined in order to disable MATHSQL support. */ #undef OMIT_MATHSQL /* Should be defined in order to disable PROJ.4 support. */ #undef OMIT_PROJ @@ -202,10 +193,13 @@ /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION + +/* Should be defined when linking liblwgeom from PostGIS 2.1 (or later). */ +#undef POSTGIS_2_1 /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Should contain a text-string describing the intended target CPU */ Index: configure ================================================================== --- configure +++ configure @@ -1,8 +1,8 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for libspatialite 4.4.0-RC1. +# Generated by GNU Autoconf 2.69 for libspatialite 4.3.0-devel. # # Report bugs to . # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -588,12 +588,12 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libspatialite' PACKAGE_TARNAME='libspatialite' -PACKAGE_VERSION='4.4.0-RC1' -PACKAGE_STRING='libspatialite 4.4.0-RC1' +PACKAGE_VERSION='4.3.0-devel' +PACKAGE_STRING='libspatialite 4.3.0-devel' PACKAGE_BUGREPORT='a.furieri@lqt.it' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ @@ -638,12 +638,10 @@ ANDROID_TRUE MACOSX_FALSE MACOSX_TRUE MINGW_FALSE MINGW_TRUE -MODULE_ONLY_FALSE -MODULE_ONLY_TRUE ENABLE_EXAMPLES_FALSE ENABLE_EXAMPLES_TRUE ENABLE_GEOPACKAGE_FALSE ENABLE_GEOPACKAGE_TRUE LIBXML2_LIBS @@ -791,27 +789,23 @@ with_gnu_ld with_sysroot enable_libtool_lock enable_mathsql enable_geocallbacks -enable_knn enable_proj enable_iconv enable_freexl enable_epsg enable_geos with_geosconfig -enable_gcp +enable_controlpoints enable_geosadvanced -enable_geosreentrant -with_geosonlyreentrant -enable_rttopo +enable_lwgeom enable_libxml2 enable_geopackage enable_gcov enable_examples -enable_module_only ' ac_precious_vars='build_alias host_alias target_alias CC @@ -1367,11 +1361,11 @@ # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libspatialite 4.4.0-RC1 to adapt to many kinds of systems. +\`configure' configures libspatialite 4.3.0-devel to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. @@ -1437,11 +1431,11 @@ _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libspatialite 4.4.0-RC1:";; + short | recursive ) echo "Configuration of libspatialite 4.3.0-devel:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options @@ -1461,26 +1455,22 @@ --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-mathsql enables SQL math functions [default=yes] --enable-geocallbacks enables geometry callbacks [default=no] - --enable-knn enables KNN support [default=yes] --enable-proj enables PROJ.4 inclusion [default=yes] --enable-iconv enables ICONV inclusion [default=yes] --enable-freexl enables FreeXL inclusion [default=yes] --enable-epsg enables full EPSG dataset support [default=yes] --enable-geos enables GEOS inclusion [default=yes] - --enable-gcp enables Control Points (from Grass GIS) [default=no] + --enable-controlpoints enables Control Points (from Grass GIS) [default=no] --enable-geosadvanced enables GEOS advanced features [default=yes] - --enable-geosreentrant enables GEOS reentrant (fully thread safe) - [default=yes] - --enable-rttopo enables RTTOPO support [default=no] + --enable-lwgeom enables LWGEOM support [default=no] --enable-libxml2 enables libxml2 inclusion [default=yes] --enable-geopackage enables GeoPackage support [default=yes] --enable-gcov turn on code coverage analysis tools --enable-examples enables building examples [default=yes] - --enable-module-only builds only mod_spatialite alone [default=no] Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic try to use only PIC/non-PIC objects [default=use @@ -1487,13 +1477,10 @@ both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-geosconfig=FILE specify an alternative geos-config file - --with-geosonlyreentrant - completely disables GEOS non-thread safe API - [default=no] Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a @@ -1579,11 +1566,11 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libspatialite configure 4.4.0-RC1 +libspatialite configure 4.3.0-devel generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. @@ -2119,61 +2106,15 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type - -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libspatialite $as_me 4.4.0-RC1, which was +It was created by libspatialite $as_me 4.3.0-devel, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF @@ -2525,11 +2466,11 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu -am__api_version='1.15' +am__api_version='1.14' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir @@ -2726,12 +2667,12 @@ # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` -# Expand $ac_aux_dir to an absolute path. -am_aux_dir=`cd "$ac_aux_dir" && pwd` +# expand $ac_aux_dir to an absolute path +am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; @@ -2746,11 +2687,11 @@ am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi -if test x"${install_sh+set}" != xset; then +if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" @@ -3040,11 +2981,11 @@ fi # Define the identity of the package. PACKAGE='libspatialite' - VERSION='4.4.0-RC1' + VERSION='4.3.0-devel' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF @@ -3074,12 +3015,12 @@ # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' -# We need awk for the "check" target (and possibly the TAP driver). The -# system "awk" is bad on some platforms. +# We need awk for the "check" target. The system "awk" is bad on +# some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' @@ -3133,11 +3074,10 @@ END as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 fi fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then : enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval @@ -3176,12 +3116,10 @@ $as_echo "#define NDEBUG 1" >>confdefs.h # config depending options - - @@ -17412,11 +17350,11 @@ else as_fn_error $? "'libz' is required but it doesn't seem to be installed on this system." "$LINENO" 5 fi -ac_config_files="$ac_config_files Makefile src/Makefile src/headers/Makefile src/gaiaaux/Makefile src/gaiaexif/Makefile src/gaiageo/Makefile src/gaiageo/flex/Makefile src/gaiageo/lemon/Makefile src/gaiageo/lemon/lemon_src/Makefile src/geopackage/Makefile src/spatialite/Makefile src/shapefiles/Makefile src/dxf/Makefile src/md5/Makefile src/control_points/Makefile src/cutter/Makefile src/topology/Makefile src/srsinit/Makefile src/srsinit/epsg_update/Makefile src/connection_cache/Makefile src/connection_cache/generator/Makefile src/virtualtext/Makefile src/wfs/Makefile test/Makefile test/sql_stmt_tests/Makefile test/sql_stmt_geos_tests/Makefile test/sql_stmt_geosadvanced_tests/Makefile test/sql_stmt_geopackage_tests/Makefile test/sql_stmt_gpkg_epsg492_tests/Makefile test/sql_stmt_gpkg_epsg493_tests/Makefile test/sql_stmt_proj_tests/Makefile test/sql_stmt_proj492_tests/Makefile test/sql_stmt_proj493_tests/Makefile test/sql_stmt_mathsql_tests/Makefile test/sql_stmt_rtgeom_tests/Makefile test/sql_stmt_rttopo_tests/Makefile test/sql_stmt_libxml2_tests/Makefile test/sql_stmt_security_tests/Makefile test/sql_stmt_xmlsec_tests/Makefile test/sql_stmt_freexl_tests/Makefile test/sql_stmt_cache_tests/Makefile test/sql_stmt_gpkgcache_tests/Makefile test/sql_stmt_nocache_tests/Makefile test/sql_stmt_gpkgnocache_tests/Makefile test/sql_stmt_voronoj1_tests/Makefile test/sql_stmt_voronoj2_tests/Makefile test/sql_stmt_sequence_tests/Makefile examples/Makefile Doxyfile spatialite.pc" +ac_config_files="$ac_config_files Makefile src/Makefile src/headers/Makefile src/gaiaaux/Makefile src/gaiaexif/Makefile src/gaiageo/Makefile src/gaiageo/flex/Makefile src/gaiageo/lemon/Makefile src/gaiageo/lemon/lemon_src/Makefile src/geopackage/Makefile src/spatialite/Makefile src/shapefiles/Makefile src/dxf/Makefile src/md5/Makefile src/control_points/Makefile src/srsinit/Makefile src/srsinit/epsg_update/Makefile src/connection_cache/Makefile src/connection_cache/generator/Makefile src/virtualtext/Makefile src/wfs/Makefile test/Makefile test/sql_stmt_tests/Makefile test/sql_stmt_geos_tests/Makefile test/sql_stmt_geosadvanced_tests/Makefile test/sql_stmt_geopackage_tests/Makefile test/sql_stmt_proj_tests/Makefile test/sql_stmt_mathsql_tests/Makefile test/sql_stmt_lwgeom_tests/Makefile test/sql_stmt_libxml2_tests/Makefile test/sql_stmt_security_tests/Makefile test/sql_stmt_xmlsec_tests/Makefile test/sql_stmt_freexl_tests/Makefile examples/Makefile Doxyfile spatialite.pc" # exporting the TARGET_CPU string splite_cpu=`$CC -dumpmachine` cat >>confdefs.h <<_ACEOF @@ -17500,74 +17438,10 @@ fi else $as_echo "#define OMIT_GEOCALLBACKS 1" >>confdefs.h -fi -#----------------------------------------------------------------------- - -#----------------------------------------------------------------------- -# --enable-knn -# -# Check whether --enable-knn was given. -if test "${enable_knn+set}" = set; then : - enableval=$enable_knn; -else - enable_knn=yes -fi - -if test x"$enable_knn" == "xyes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqlite3_rtree_query_callback in -lsqlite3" >&5 -$as_echo_n "checking for sqlite3_rtree_query_callback in -lsqlite3... " >&6; } -if ${ac_cv_lib_sqlite3_sqlite3_rtree_query_callback+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsqlite3 -lm $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char sqlite3_rtree_query_callback (); -int -main () -{ -return sqlite3_rtree_query_callback (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_sqlite3_sqlite3_rtree_query_callback=yes -else - ac_cv_lib_sqlite3_sqlite3_rtree_query_callback=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_sqlite3_sqlite3_rtree_query_callback" >&5 -$as_echo "$ac_cv_lib_sqlite3_sqlite3_rtree_query_callback" >&6; } -if test "x$ac_cv_lib_sqlite3_sqlite3_rtree_query_callback" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBSQLITE3 1 -_ACEOF - - LIBS="-lsqlite3 $LIBS" - -else - as_fn_error $? "obsolete 'libsqlite3' (< v.3.8.5). please retry specifying: --disable-knn" "$LINENO" 5 -fi - -else - $as_echo "#define OMIT_KNN 1" >>confdefs.h - fi #----------------------------------------------------------------------- #----------------------------------------------------------------------- # --enable-proj @@ -18252,19 +18126,19 @@ LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" #----------------------------------------------------------------------- # --enable-controlpoints # - # Check whether --enable-gcp was given. -if test "${enable_gcp+set}" = set; then : - enableval=$enable_gcp; + # Check whether --enable-controlpoints was given. +if test "${enable_controlpoints+set}" = set; then : + enableval=$enable_controlpoints; else - enable_gcp=no + enable_controlpoints=no fi - if test x"$enable_gcp" != "xno"; then - $as_echo "#define ENABLE_GCP 1" >>confdefs.h + if test x"$enable_controlpoints" != "xno"; then + $as_echo "#define ENABLE_CONTROL_POINTS 1" >>confdefs.h fi #----------------------------------------------------------------------- # --enable-geosadvanced @@ -18330,31 +18204,65 @@ ac_res=$ac_cv_search_GEOSDelaunayTriangulation if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else - as_fn_error $? "'libgeos_c' (>= v.3.4.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geosadvanced parameter." "$LINENO" 5 + as_fn_error $? "'libgeos_c' (>= v.3.4.0) is required but it doesn't seem to be installed on this system." "$LINENO" 5 fi $as_echo "#define GEOS_ADVANCED 1" >>confdefs.h fi #----------------------------------------------------------------------- - # --enable-geosreentrant + # --enable-lwgeom # - # Check whether --enable-geosreentrant was given. -if test "${enable_geosreentrant+set}" = set; then : - enableval=$enable_geosreentrant; -else - enable_geosreentrant=yes -fi - - if test x"$enable_geosreentrant" != "xno"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing GEOSContext_setErrorMessageHandler_r" >&5 -$as_echo_n "checking for library containing GEOSContext_setErrorMessageHandler_r... " >&6; } -if ${ac_cv_search_GEOSContext_setErrorMessageHandler_r+:} false; then : + # Check whether --enable-lwgeom was given. +if test "${enable_lwgeom+set}" = set; then : + enableval=$enable_lwgeom; +else + enable_lwgeom=no +fi + + if test x"$enable_lwgeom" != "xno"; then + for ac_header in liblwgeom.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "liblwgeom.h" "ac_cv_header_liblwgeom_h" "$ac_includes_default" +if test "x$ac_cv_header_liblwgeom_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBLWGEOM_H 1 +_ACEOF + +else + as_fn_error $? "cannot find liblwgeom.h, bailing out" "$LINENO" 5 +fi + +done + + _save_libs="$LIBS" + LIBS=$LIBS' -llwgeom -lgeos_c' + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int main() { return lwgeom_make_valid(); return 0; } + void lwgeom_init_allocators(void) { return; } +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + $as_echo "#define ENABLE_LWGEOM 1" >>confdefs.h + +else + as_fn_error $? "'liblwgeom' doesn't seem to be installed on this system; unsupported lwgeom_make_valid()." "$LINENO" 5 +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$_save_libs" + LIBS=$LIBS' -llwgeom -lgeos_c' + # + # testing for PostGIS 2.1 - lwgeom_set_handlers + # + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing lwgeom_set_handlers" >&5 +$as_echo_n "checking for library containing lwgeom_set_handlers... " >&6; } +if ${ac_cv_search_lwgeom_set_handlers+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -18363,15 +18271,15 @@ Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif -char GEOSContext_setErrorMessageHandler_r (); +char lwgeom_set_handlers (); int main () { -return GEOSContext_setErrorMessageHandler_r (); +return lwgeom_set_handlers (); ; return 0; } _ACEOF for ac_lib in '' geos_c; do @@ -18380,141 +18288,35 @@ else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_GEOSContext_setErrorMessageHandler_r=$ac_res + ac_cv_search_lwgeom_set_handlers=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext - if ${ac_cv_search_GEOSContext_setErrorMessageHandler_r+:} false; then : + if ${ac_cv_search_lwgeom_set_handlers+:} false; then : break fi done -if ${ac_cv_search_GEOSContext_setErrorMessageHandler_r+:} false; then : +if ${ac_cv_search_lwgeom_set_handlers+:} false; then : else - ac_cv_search_GEOSContext_setErrorMessageHandler_r=no + ac_cv_search_lwgeom_set_handlers=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_GEOSContext_setErrorMessageHandler_r" >&5 -$as_echo "$ac_cv_search_GEOSContext_setErrorMessageHandler_r" >&6; } -ac_res=$ac_cv_search_GEOSContext_setErrorMessageHandler_r +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_lwgeom_set_handlers" >&5 +$as_echo "$ac_cv_search_lwgeom_set_handlers" >&6; } +ac_res=$ac_cv_search_lwgeom_set_handlers if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + $as_echo "#define POSTGIS_2_1 1" >>confdefs.h -else - as_fn_error $? "'libgeos_c' (>= v.3.5.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geosreentrant parameter." "$LINENO" 5 fi - $as_echo "#define GEOS_REENTRANT 1" >>confdefs.h - - fi - - #----------------------------------------------------------------------- - # --with-geosonlyreentrant - # - -# Check whether --with-geosonlyreentrant was given. -if test "${with_geosonlyreentrant+set}" = set; then : - withval=$with_geosonlyreentrant; -else - with_geosonlyreentrant=no -fi - - if test x"$with_geosonlyreentrant" != "xno"; then - $as_echo "#define GEOS_ONLY_REENTRANT 1" >>confdefs.h - - fi - - #----------------------------------------------------------------------- - # --enable-rttopo - # - # Check whether --enable-rttopo was given. -if test "${enable_rttopo+set}" = set; then : - enableval=$enable_rttopo; -else - enable_rttopo=no -fi - - if test x"$enable_rttopo" != "xno"; then - for ac_header in librttopo.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "librttopo.h" "ac_cv_header_librttopo_h" "$ac_includes_default" -if test "x$ac_cv_header_librttopo_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBRTTOPO_H 1 -_ACEOF - -else - as_fn_error $? "cannot find librttopo.h, bailing out" "$LINENO" 5 -fi - -done - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing rtt_AddLineNoFace" >&5 -$as_echo_n "checking for library containing rtt_AddLineNoFace... " >&6; } -if ${ac_cv_search_rtt_AddLineNoFace+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char rtt_AddLineNoFace (); -int -main () -{ -return rtt_AddLineNoFace (); - ; - return 0; -} -_ACEOF -for ac_lib in '' rttopo; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_rtt_AddLineNoFace=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_rtt_AddLineNoFace+:} false; then : - break -fi -done -if ${ac_cv_search_rtt_AddLineNoFace+:} false; then : - -else - ac_cv_search_rtt_AddLineNoFace=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_rtt_AddLineNoFace" >&5 -$as_echo "$ac_cv_search_rtt_AddLineNoFace" >&6; } -ac_res=$ac_cv_search_rtt_AddLineNoFace -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -else - as_fn_error $? "'librttopo' (>= v.1.1.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-rttopo parameter." "$LINENO" 5 -fi - - $as_echo "#define ENABLE_RTTOPO 1" >>confdefs.h - fi else $as_echo "#define OMIT_GEOS 1" >>confdefs.h fi @@ -18784,30 +18586,10 @@ ENABLE_EXAMPLES_FALSE= fi #----------------------------------------------------------------------- -#----------------------------------------------------------------------- -# --enable-module-only -# -# Check whether --enable-module-only was given. -if test "${enable_module_only+set}" = set; then : - enableval=$enable_module_only; -else - enable_module_only=no -fi - - if test x"$enable_module_only" != "xno"; then - MODULE_ONLY_TRUE= - MODULE_ONLY_FALSE='#' -else - MODULE_ONLY_TRUE='#' - MODULE_ONLY_FALSE= -fi - -#----------------------------------------------------------------------- - # Checking for MinGW if test "$target_alias" = "mingw32"; then MINGW_TRUE= MINGW_FALSE='#' else @@ -18829,19 +18611,10 @@ ANDROID_TRUE= ANDROID_FALSE='#' else ANDROID_TRUE='#' ANDROID_FALSE= -fi - - -# testing for sqlite 3-10 or later -ac_fn_c_check_decl "$LINENO" "SQLITE_INDEX_CONSTRAINT_LIKE" "ac_cv_have_decl_SQLITE_INDEX_CONSTRAINT_LIKE" "#include -" -if test "x$ac_cv_have_decl_SQLITE_INDEX_CONSTRAINT_LIKE" = xyes; then : - $as_echo "#define HAVE_DECL_SQLITE_INDEX_CONSTRAINT_LIKE 1" >>confdefs.h - fi cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -18991,14 +18764,10 @@ as_fn_error $? "conditional \"ENABLE_GEOPACKAGE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_EXAMPLES_TRUE}" && test -z "${ENABLE_EXAMPLES_FALSE}"; then as_fn_error $? "conditional \"ENABLE_EXAMPLES\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${MODULE_ONLY_TRUE}" && test -z "${MODULE_ONLY_FALSE}"; then - as_fn_error $? "conditional \"MODULE_ONLY\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${MINGW_TRUE}" && test -z "${MINGW_FALSE}"; then as_fn_error $? "conditional \"MINGW\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -19406,11 +19175,11 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libspatialite $as_me 4.4.0-RC1, which was +This file was extended by libspatialite $as_me 4.3.0-devel, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS @@ -19472,11 +19241,11 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -libspatialite config.status 4.4.0-RC1 +libspatialite config.status 4.3.0-devel configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation @@ -19998,12 +19767,10 @@ "src/spatialite/Makefile") CONFIG_FILES="$CONFIG_FILES src/spatialite/Makefile" ;; "src/shapefiles/Makefile") CONFIG_FILES="$CONFIG_FILES src/shapefiles/Makefile" ;; "src/dxf/Makefile") CONFIG_FILES="$CONFIG_FILES src/dxf/Makefile" ;; "src/md5/Makefile") CONFIG_FILES="$CONFIG_FILES src/md5/Makefile" ;; "src/control_points/Makefile") CONFIG_FILES="$CONFIG_FILES src/control_points/Makefile" ;; - "src/cutter/Makefile") CONFIG_FILES="$CONFIG_FILES src/cutter/Makefile" ;; - "src/topology/Makefile") CONFIG_FILES="$CONFIG_FILES src/topology/Makefile" ;; "src/srsinit/Makefile") CONFIG_FILES="$CONFIG_FILES src/srsinit/Makefile" ;; "src/srsinit/epsg_update/Makefile") CONFIG_FILES="$CONFIG_FILES src/srsinit/epsg_update/Makefile" ;; "src/connection_cache/Makefile") CONFIG_FILES="$CONFIG_FILES src/connection_cache/Makefile" ;; "src/connection_cache/generator/Makefile") CONFIG_FILES="$CONFIG_FILES src/connection_cache/generator/Makefile" ;; "src/virtualtext/Makefile") CONFIG_FILES="$CONFIG_FILES src/virtualtext/Makefile" ;; @@ -20011,29 +19778,17 @@ "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "test/sql_stmt_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_tests/Makefile" ;; "test/sql_stmt_geos_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_geos_tests/Makefile" ;; "test/sql_stmt_geosadvanced_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_geosadvanced_tests/Makefile" ;; "test/sql_stmt_geopackage_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_geopackage_tests/Makefile" ;; - "test/sql_stmt_gpkg_epsg492_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_gpkg_epsg492_tests/Makefile" ;; - "test/sql_stmt_gpkg_epsg493_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_gpkg_epsg493_tests/Makefile" ;; "test/sql_stmt_proj_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_proj_tests/Makefile" ;; - "test/sql_stmt_proj492_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_proj492_tests/Makefile" ;; - "test/sql_stmt_proj493_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_proj493_tests/Makefile" ;; "test/sql_stmt_mathsql_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_mathsql_tests/Makefile" ;; - "test/sql_stmt_rtgeom_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_rtgeom_tests/Makefile" ;; - "test/sql_stmt_rttopo_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_rttopo_tests/Makefile" ;; + "test/sql_stmt_lwgeom_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_lwgeom_tests/Makefile" ;; "test/sql_stmt_libxml2_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_libxml2_tests/Makefile" ;; "test/sql_stmt_security_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_security_tests/Makefile" ;; "test/sql_stmt_xmlsec_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_xmlsec_tests/Makefile" ;; "test/sql_stmt_freexl_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_freexl_tests/Makefile" ;; - "test/sql_stmt_cache_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_cache_tests/Makefile" ;; - "test/sql_stmt_gpkgcache_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_gpkgcache_tests/Makefile" ;; - "test/sql_stmt_nocache_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_nocache_tests/Makefile" ;; - "test/sql_stmt_gpkgnocache_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_gpkgnocache_tests/Makefile" ;; - "test/sql_stmt_voronoj1_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_voronoj1_tests/Makefile" ;; - "test/sql_stmt_voronoj2_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_voronoj2_tests/Makefile" ;; - "test/sql_stmt_sequence_tests/Makefile") CONFIG_FILES="$CONFIG_FILES test/sql_stmt_sequence_tests/Makefile" ;; "examples/Makefile") CONFIG_FILES="$CONFIG_FILES examples/Makefile" ;; "Doxyfile") CONFIG_FILES="$CONFIG_FILES Doxyfile" ;; "spatialite.pc") CONFIG_FILES="$CONFIG_FILES spatialite.pc" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; @@ -21569,30 +21324,30 @@ #----------------------------------------------------------------------- # printing an eventual message reporting about GPL escalation #----------------------------------------------------------------------- gpl_escalation=no; -if test x"$enable_rttopo" != "xno"; then +if test x"$enable_lwgeom" != "xno"; then gpl_escalation=yes fi -if test x"$enable_gcp" != "xno"; then +if test x"$enable_controlpoints" != "xno"; then gpl_escalation=yes fi if test x"$gpl_escalation" != xno; then echo echo echo "==============================================================" echo " IMPORTANT NOTICE" echo "==============================================================" - echo "You have selected --enable-rttopo and/or --enable-gcp" + echo "You have selected --enable-lwgeom and/or --enable-controlpoints" echo echo "Both modules strictly depend on code released under the GPLv2+" - echo "license, wich takes precedence over any other license." + echo "license, wich is virally infective by definition." echo "Consequently the copy of libspatialite you are going to build" echo "if configured this way *must* be released under the GPLv2+ license." echo echo "If you wish better preserving the initial MPL tri-license you" echo "simply have to reconfigure by specifying the following options:" - echo " --disable-rttopo --disable-gcp" + echo " --disable-lwgeom --disable-controlpoints" echo "==============================================================" fi Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -1,10 +1,10 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT(libspatialite, 4.4.0-RC1, a.furieri@lqt.it) +AC_INIT(libspatialite, 4.3.0-devel, a.furieri@lqt.it) AC_LANG(C) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign]) AM_MAINTAINER_MODE @@ -29,18 +29,16 @@ # config depending options AH_TEMPLATE([OMIT_GEOS], [Should be defined in order to disable GEOS support.]) AH_TEMPLATE([GEOS_ADVANCED], [Should be defined in order to enable GEOS_ADVANCED support.]) -AH_TEMPLATE([GEOS_REENTRANT], - [Should be defined in order to enable GEOS_REENTRANT (fully thread-safe).]) -AH_TEMPLATE([GEOS_ONLY_REENTRANT], - [Should be defined in order to fully disable GEOS non-thread-safe API.]) -AH_TEMPLATE([ENABLE_RTTOPO], - [Should be defined in order to enable RTTOPO support.]) -AH_TEMPLATE([ENABLE_GCP], - [Should be defined in order to enable GCP support.]) +AH_TEMPLATE([GEOS_TRUNK], + [Should be defined in order to enable GEOS_TRUNK experimental support.]) +AH_TEMPLATE([ENABLE_LWGEOM], + [Should be defined in order to enable LWGEOM support.]) +AH_TEMPLATE([ENABLE_CONTROL_POINTS], + [Should be defined in order to enable CONTROL_POINTS support.]) AH_TEMPLATE([OMIT_PROJ], [Should be defined in order to disable PROJ.4 support.]) AH_TEMPLATE([OMIT_ICONV], [Should be defined in order to disable ICONV support.]) AH_TEMPLATE([OMIT_MATHSQL], @@ -47,22 +45,20 @@ [Should be defined in order to disable MATHSQL support.]) AH_TEMPLATE([OMIT_EPSG], [Should be defined in order to disable EPSG full support.]) AH_TEMPLATE([OMIT_GEOCALLBACKS], [Should be defined in order to disable GEOCALLBACKS support.]) -AH_TEMPLATE([OMIT_KNN], - [Should be defined in order to disable KNN support.]) AH_TEMPLATE([OMIT_FREEXL], [Should be defined in order to disable FREEXL support.]) AH_TEMPLATE([ENABLE_LIBXML2], [Should be defined in order to enable LIBXML2 support.]) AH_TEMPLATE([ENABLE_GEOPACKAGE], [Should be defined in order to enable GeoPackage support.]) +AH_TEMPLATE([POSTGIS_2_1], + [Should be defined when linking liblwgeom from PostGIS 2.1 (or later).]) AH_TEMPLATE([TARGET_CPU], [Should contain a text-string describing the intended target CPU]) -AH_TEMPLATE([HAVE_DECL_SQLITE_INDEX_CONSTRAINT_LIKE], - [depending on SQLite library version.]) # Checks for header files. AC_CHECK_HEADERS(stdlib.h,, [AC_MSG_ERROR([cannot find stdlib.h, bailing out])]) AC_CHECK_HEADERS(stdio.h,, [AC_MSG_ERROR([cannot find stdio.h, bailing out])]) AC_CHECK_HEADERS(string.h,, [AC_MSG_ERROR([cannot find string.h, bailing out])]) @@ -123,12 +119,10 @@ src/spatialite/Makefile \ src/shapefiles/Makefile \ src/dxf/Makefile \ src/md5/Makefile \ src/control_points/Makefile \ - src/cutter/Makefile \ - src/topology/Makefile \ src/srsinit/Makefile \ src/srsinit/epsg_update/Makefile \ src/connection_cache/Makefile \ src/connection_cache/generator/Makefile \ src/virtualtext/Makefile \ @@ -136,29 +130,17 @@ test/Makefile \ test/sql_stmt_tests/Makefile \ test/sql_stmt_geos_tests/Makefile \ test/sql_stmt_geosadvanced_tests/Makefile \ test/sql_stmt_geopackage_tests/Makefile \ - test/sql_stmt_gpkg_epsg492_tests/Makefile \ - test/sql_stmt_gpkg_epsg493_tests/Makefile \ test/sql_stmt_proj_tests/Makefile \ - test/sql_stmt_proj492_tests/Makefile \ - test/sql_stmt_proj493_tests/Makefile \ test/sql_stmt_mathsql_tests/Makefile \ - test/sql_stmt_rtgeom_tests/Makefile \ - test/sql_stmt_rttopo_tests/Makefile \ + test/sql_stmt_lwgeom_tests/Makefile \ test/sql_stmt_libxml2_tests/Makefile \ test/sql_stmt_security_tests/Makefile \ test/sql_stmt_xmlsec_tests/Makefile \ test/sql_stmt_freexl_tests/Makefile \ - test/sql_stmt_cache_tests/Makefile \ - test/sql_stmt_gpkgcache_tests/Makefile \ - test/sql_stmt_nocache_tests/Makefile \ - test/sql_stmt_gpkgnocache_tests/Makefile \ - test/sql_stmt_voronoj1_tests/Makefile \ - test/sql_stmt_voronoj2_tests/Makefile \ - test/sql_stmt_sequence_tests/Makefile \ examples/Makefile \ Doxyfile \ spatialite.pc]) # exporting the TARGET_CPU string @@ -186,23 +168,10 @@ if test x"$enable_geocallbacks" == "xyes"; then AC_CHECK_LIB(sqlite3,sqlite3_rtree_geometry_callback,,AC_MSG_ERROR([obsolete 'libsqlite3' (< v.3.7.3). please retry specifying: --disable-geocallbacks]),-lm) else AC_DEFINE(OMIT_GEOCALLBACKS) fi -#----------------------------------------------------------------------- - -#----------------------------------------------------------------------- -# --enable-knn -# -AC_ARG_ENABLE(knn, [AS_HELP_STRING( - [--enable-knn], [enables KNN support [default=yes]])], - [], [enable_knn=yes]) -if test x"$enable_knn" == "xyes"; then - AC_CHECK_LIB(sqlite3,sqlite3_rtree_query_callback,,AC_MSG_ERROR([obsolete 'libsqlite3' (< v.3.8.5). please retry specifying: --disable-knn]),-lm) -else - AC_DEFINE(OMIT_KNN) -fi #----------------------------------------------------------------------- #----------------------------------------------------------------------- # --enable-proj # @@ -311,59 +280,48 @@ LIBS="$LIBS $GEOS_LDFLAGS -lgeos_c" #----------------------------------------------------------------------- # --enable-controlpoints # - AC_ARG_ENABLE(gcp, [AS_HELP_STRING( - [--enable-gcp], [enables Control Points (from Grass GIS) [default=no]])], - [], [enable_gcp=no]) - if test x"$enable_gcp" != "xno"; then - AC_DEFINE(ENABLE_GCP) + AC_ARG_ENABLE(controlpoints, [AS_HELP_STRING( + [--enable-controlpoints], [enables Control Points (from Grass GIS) [default=no]])], + [], [enable_controlpoints=no]) + if test x"$enable_controlpoints" != "xno"; then + AC_DEFINE(ENABLE_CONTROL_POINTS) fi #----------------------------------------------------------------------- # --enable-geosadvanced # AC_ARG_ENABLE(geosadvanced, [AS_HELP_STRING( [--enable-geosadvanced], [enables GEOS advanced features [default=yes]])], [], [enable_geosadvanced=yes]) if test x"$enable_geosadvanced" != "xno"; then - AC_SEARCH_LIBS(GEOSDelaunayTriangulation,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.4.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geosadvanced parameter.])) + AC_SEARCH_LIBS(GEOSDelaunayTriangulation,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.4.0) is required but it doesn't seem to be installed on this system.])) AC_DEFINE(GEOS_ADVANCED) fi #----------------------------------------------------------------------- - # --enable-geosreentrant + # --enable-lwgeom # - AC_ARG_ENABLE(geosreentrant, [AS_HELP_STRING( - [--enable-geosreentrant], [enables GEOS reentrant (fully thread safe) [default=yes]])], - [], [enable_geosreentrant=yes]) - if test x"$enable_geosreentrant" != "xno"; then - AC_SEARCH_LIBS(GEOSContext_setErrorMessageHandler_r,geos_c,,AC_MSG_ERROR(['libgeos_c' (>= v.3.5.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-geosreentrant parameter.])) - AC_DEFINE(GEOS_REENTRANT) - fi - - #----------------------------------------------------------------------- - # --with-geosonlyreentrant - # - AC_ARG_WITH(geosonlyreentrant, [AS_HELP_STRING( - [--with-geosonlyreentrant], [completely disables GEOS non-thread safe API [default=no]])], - [], [with_geosonlyreentrant=no]) - if test x"$with_geosonlyreentrant" != "xno"; then - AC_DEFINE(GEOS_ONLY_REENTRANT) - fi - - #----------------------------------------------------------------------- - # --enable-rttopo - # - AC_ARG_ENABLE(rttopo, [AS_HELP_STRING( - [--enable-rttopo], [enables RTTOPO support [default=no]])], - [], [enable_rttopo=no]) - if test x"$enable_rttopo" != "xno"; then - AC_CHECK_HEADERS(librttopo.h,, [AC_MSG_ERROR([cannot find librttopo.h, bailing out])]) - AC_SEARCH_LIBS(rtt_AddLineNoFace,rttopo,,AC_MSG_ERROR(['librttopo' (>= v.1.1.0) is required but it doesn't seem to be installed on this system. You may need to try re-running configure with a --disable-rttopo parameter.])) - AC_DEFINE(ENABLE_RTTOPO) + AC_ARG_ENABLE(lwgeom, [AS_HELP_STRING( + [--enable-lwgeom], [enables LWGEOM support [default=no]])], + [], [enable_lwgeom=no]) + if test x"$enable_lwgeom" != "xno"; then + AC_CHECK_HEADERS(liblwgeom.h,, [AC_MSG_ERROR([cannot find liblwgeom.h, bailing out])]) + _save_libs="$LIBS" + LIBS=$LIBS' -llwgeom -lgeos_c' + AC_LINK_IFELSE([AC_LANG_SOURCE([int main() { return lwgeom_make_valid(); return 0; } + void lwgeom_init_allocators(void) { return; } ])], + [AC_DEFINE(ENABLE_LWGEOM)], + [AC_MSG_ERROR(['liblwgeom' doesn't seem to be installed on this system; unsupported lwgeom_make_valid().])]) + LIBS="$_save_libs" + LIBS=$LIBS' -llwgeom -lgeos_c' + # + # testing for PostGIS 2.1 - lwgeom_set_handlers + # + AC_SEARCH_LIBS(lwgeom_set_handlers,geos_c,AC_DEFINE(POSTGIS_2_1)) fi else AC_DEFINE(OMIT_GEOS) fi @@ -411,56 +369,43 @@ [--enable-examples], [enables building examples [default=yes]])], [], [enable_examples=yes]) AM_CONDITIONAL(ENABLE_EXAMPLES, [test x"$enable_examples" != "xno"]) #----------------------------------------------------------------------- -#----------------------------------------------------------------------- -# --enable-module-only -# -AC_ARG_ENABLE(module-only, [AS_HELP_STRING( - [--enable-module-only], [builds only mod_spatialite alone [default=no]])], - [], [enable_module_only=no]) -AM_CONDITIONAL(MODULE_ONLY, [test x"$enable_module_only" != "xno"]) -#----------------------------------------------------------------------- - # Checking for MinGW AM_CONDITIONAL([MINGW], [test "$target_alias" = "mingw32"]) # Checking for Mac OsX AM_CONDITIONAL([MACOSX], [test "$target_alias" = "macosx"]) # Checking for Android AM_CONDITIONAL([ANDROID], [test "$target_alias" = "android"]) -# testing for sqlite 3-10 or later -AC_CHECK_DECL([SQLITE_INDEX_CONSTRAINT_LIKE], - [AC_DEFINE(HAVE_DECL_SQLITE_INDEX_CONSTRAINT_LIKE)],[],[[#include ]]) - AC_OUTPUT #----------------------------------------------------------------------- # printing an eventual message reporting about GPL escalation #----------------------------------------------------------------------- gpl_escalation=no; -if test x"$enable_rttopo" != "xno"; then +if test x"$enable_lwgeom" != "xno"; then gpl_escalation=yes fi -if test x"$enable_gcp" != "xno"; then +if test x"$enable_controlpoints" != "xno"; then gpl_escalation=yes fi if test x"$gpl_escalation" != xno; then echo echo echo "==============================================================" echo " IMPORTANT NOTICE" echo "==============================================================" - echo "You have selected --enable-rttopo and/or --enable-gcp" + echo "You have selected --enable-lwgeom and/or --enable-controlpoints" echo echo "Both modules strictly depend on code released under the GPLv2+" - echo "license, wich takes precedence over any other license." + echo "license, wich is virally infective by definition." echo "Consequently the copy of libspatialite you are going to build" echo "if configured this way *must* be released under the GPLv2+ license." echo echo "If you wish better preserving the initial MPL tri-license you" echo "simply have to reconfigure by specifying the following options:" - echo " --disable-rttopo --disable-gcp" + echo " --disable-lwgeom --disable-controlpoints" echo "==============================================================" - + fi Index: examples/Makefile.am ================================================================== --- examples/Makefile.am +++ examples/Makefile.am @@ -1,15 +1,10 @@ - -if MODULE_ONLY -noinst_PROGRAMS = -else noinst_PROGRAMS = demo1 demo2 demo3 demo4 demo5 -endif AM_CFLAGS = -I@srcdir@/../src/headers AM_LDFLAGS = -L../src -lspatialite -lm $(GCOV_FLAGS) LDADD = @LIBXML2_LIBS@ MOSTLYCLEANFILES = *.gcna *.gcno *.gcda EXTRA_DIST = examples.doxy Index: examples/Makefile.in ================================================================== --- examples/Makefile.in +++ examples/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,22 +76,22 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -@MODULE_ONLY_FALSE@noinst_PROGRAMS = demo1$(EXEEXT) demo2$(EXEEXT) \ -@MODULE_ONLY_FALSE@ demo3$(EXEEXT) demo4$(EXEEXT) \ -@MODULE_ONLY_FALSE@ demo5$(EXEEXT) +noinst_PROGRAMS = demo1$(EXEEXT) demo2$(EXEEXT) demo3$(EXEEXT) \ + demo4$(EXEEXT) demo5$(EXEEXT) subdir = examples +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) @@ -187,11 +177,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -339,10 +328,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign examples/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign examples/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -629,11 +619,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: makefile.vc ================================================================== --- makefile.vc +++ makefile.vc @@ -12,23 +12,19 @@ src\gaiageo\gg_gml.obj src\gaiageo\gg_kml.obj \ src\gaiageo\gg_relations.obj src\gaiageo\gg_shape.obj \ src\gaiageo\gg_transform.obj src\gaiageo\gg_vanuatu.obj \ src\gaiageo\gg_wkb.obj src\gaiageo\gg_wkt.obj \ src\gaiageo\gg_extras.obj src\gaiageo\gg_xml.obj \ - src\gaiageo\gg_voronoj.obj src\gaiageo\gg_matrix.obj \ - src\gaiageo\gg_relations_ext.obj src\gaiageo\gg_rttopo.obj \ - src/connection_cache/alloc_cache.obj \ + src\gaiageo\gg_relations_ext.obj src/connection_cache/alloc_cache.obj \ src\spatialite\mbrcache.obj src\shapefiles\shapefiles.obj \ src\spatialite\spatialite.obj src\spatialite\virtualdbf.obj \ src\spatialite\virtualfdo.obj src\spatialite\virtualnetwork.obj \ src\spatialite\virtualshape.obj src\spatialite\virtualspatialindex.obj \ src\spatialite\statistics.obj src\spatialite\metatables.obj \ src\spatialite\virtualXL.obj src\spatialite\extra_tables.obj \ src\spatialite\virtualxpath.obj src\spatialite\virtualbbox.obj \ - src\spatialite\spatialite_init.obj src\spatialite\se_helpers.obj \ - src\spatialite\srid_aux.obj src\spatialite\table_cloner.obj \ - src\spatialite\virtualelementary.obj \ + src\spatialite\spatialite_init.obj src\gaiageo\gg_voronoj.obj \ src\wfs\wfs_in.obj src\srsinit\srs_init.obj \ src\dxf\dxf_parser.obj src\dxf\dxf_loader.obj src\dxf\dxf_writer.obj \ src\dxf\dxf_load_distinct.obj src\dxf\dxf_load_mixed.obj \ src\shapefiles\validator.obj src\md5\md5.obj src\md5\gaia_md5.obj \ src\srsinit\epsg_inlined_00.obj src\srsinit\epsg_inlined_01.obj \ @@ -52,25 +48,17 @@ src\srsinit\epsg_inlined_36.obj src\srsinit\epsg_inlined_37.obj \ src\srsinit\epsg_inlined_38.obj src\srsinit\epsg_inlined_39.obj \ src\srsinit\epsg_inlined_40.obj src\srsinit\epsg_inlined_41.obj \ src\srsinit\epsg_inlined_42.obj src\srsinit\epsg_inlined_43.obj \ src\srsinit\epsg_inlined_44.obj src\srsinit\epsg_inlined_45.obj \ - src\srsinit\epsg_inlined_46.obj src\srsinit\epsg_inlined_extra.obj \ + src\srsinit\epsg_inlined_extra.obj \ src\srsinit\epsg_inlined_prussian.obj \ src\srsinit\epsg_inlined_wgs84_00.obj src\srsinit\epsg_inlined_wgs84_01.obj \ - src\versioninfo\version.obj src\virtualtext\virtualtext.obj \ - src\cutter\gaia_cutter.obj src\spatialite\virtualknn.obj \ - src\topology\gaia_auxnet.obj src\topology\gaia_topostmts.obj \ - src\topology\gaia_auxtopo.obj src\topology\lwn_network.obj \ - src\topology\gaia_netstmts.obj src\topology\net_callbacks.obj \ - src\topology\gaia_network.obj src\topology\topo_callbacks.obj \ - src\topology\gaia_topology.obj - + src\versioninfo\version.obj src\virtualtext\virtualtext.obj SPATIALITE_DLL = spatialite$(VERSION).dll -CFLAGS = /nologo -I.\src\headers -I.\src\topology \ - -I. -IC:\OSGeo4W\include $(OPTFLAGS) +CFLAGS = /nologo -I.\src\headers -I. -IC:\OSGeo4W\include $(OPTFLAGS) default: all all: spatialite.lib spatialite_i.lib #$(EXIF_LOADER_EXE) @@ -85,11 +73,11 @@ link /debug /dll /out:$(SPATIALITE_DLL) \ /implib:spatialite_i.lib $(LIBOBJ) \ C:\OSGeo4W\lib\proj_i.lib C:\OSGeo4W\lib\geos_c.lib \ C:\OSGeo4w\lib\freexl_i.lib C:\OSGeo4w\lib\iconv.lib \ C:\OSGeo4W\lib\sqlite3_i.lib C:\OSGeo4W\lib\zlib.lib \ - C:\OSGeo4W\lib\libxml2.lib C:\OSGeo4W\lib\librttopo.lib + C:\OSGeo4W\lib\libxml2.lib if exist $(SPATIALITE_DLL).manifest mt -manifest \ $(SPATIALITE_DLL).manifest -outputresource:$(SPATIALITE_DLL);2 .c.obj: $(CC) $(CFLAGS) /c $*.c /Fo$@ @@ -107,11 +95,10 @@ del src\versioninfo\*.obj del src\virtualtext\*.obj del src\wfs\*.obj del src\dxf\*.obj del src\md5\*.obj - del src\topology\*.obj del *.pdb install: all -mkdir $(INSTDIR) -mkdir $(INSTDIR)\bin DELETED makefile_mod.vc Index: makefile_mod.vc ================================================================== --- makefile_mod.vc +++ makefile_mod.vc @@ -1,123 +0,0 @@ -# $Id: $ -# -# NMAKE Makefile to build libspatialite on Windows -# -!INCLUDE nmake_mod.opt - -LIBOBJ = src\gaiaaux\gg_sqlaux.obj src\gaiaaux\gg_utf8.obj \ - src\gaiaexif\gaia_exif.obj src\gaiageo\gg_advanced.obj \ - src\gaiageo\gg_endian.obj src\gaiageo\gg_ewkt.obj \ - src\gaiageo\gg_geodesic.obj src\gaiageo\gg_geoJSON.obj \ - src\gaiageo\gg_geometries.obj src\gaiageo\gg_geoscvt.obj \ - src\gaiageo\gg_gml.obj src\gaiageo\gg_kml.obj \ - src\gaiageo\gg_relations.obj src\gaiageo\gg_shape.obj \ - src\gaiageo\gg_transform.obj src\gaiageo\gg_vanuatu.obj \ - src\gaiageo\gg_wkb.obj src\gaiageo\gg_wkt.obj \ - src\gaiageo\gg_extras.obj src\gaiageo\gg_xml.obj \ - src\gaiageo\gg_voronoj.obj src\gaiageo\gg_matrix.obj \ - src\gaiageo\gg_relations_ext.obj src\gaiageo\gg_rttopo.obj \ - src/connection_cache/alloc_cache.obj \ - src\spatialite\mbrcache.obj src\shapefiles\shapefiles.obj \ - src\spatialite\spatialite.obj src\spatialite\virtualdbf.obj \ - src\spatialite\virtualfdo.obj src\spatialite\virtualnetwork.obj \ - src\spatialite\virtualshape.obj src\spatialite\virtualspatialindex.obj \ - src\spatialite\statistics.obj src\spatialite\metatables.obj \ - src\spatialite\virtualXL.obj src\spatialite\extra_tables.obj \ - src\spatialite\virtualxpath.obj src\spatialite\virtualbbox.obj \ - src\spatialite\spatialite_init.obj src\spatialite\se_helpers.obj \ - src\spatialite\srid_aux.obj src\spatialite\table_cloner.obj \ - src\spatialite\virtualelementary.obj \ - src\wfs\wfs_in.obj src\srsinit\srs_init.obj \ - src\dxf\dxf_parser.obj src\dxf\dxf_loader.obj src\dxf\dxf_writer.obj \ - src\dxf\dxf_load_distinct.obj src\dxf\dxf_load_mixed.obj \ - src\shapefiles\validator.obj src\md5\md5.obj src\md5\gaia_md5.obj \ - src\srsinit\epsg_inlined_00.obj src\srsinit\epsg_inlined_01.obj \ - src\srsinit\epsg_inlined_02.obj src\srsinit\epsg_inlined_03.obj \ - src\srsinit\epsg_inlined_04.obj src\srsinit\epsg_inlined_05.obj \ - src\srsinit\epsg_inlined_06.obj src\srsinit\epsg_inlined_07.obj \ - src\srsinit\epsg_inlined_08.obj src\srsinit\epsg_inlined_09.obj \ - src\srsinit\epsg_inlined_10.obj src\srsinit\epsg_inlined_11.obj \ - src\srsinit\epsg_inlined_12.obj src\srsinit\epsg_inlined_13.obj \ - src\srsinit\epsg_inlined_14.obj src\srsinit\epsg_inlined_15.obj \ - src\srsinit\epsg_inlined_16.obj src\srsinit\epsg_inlined_17.obj \ - src\srsinit\epsg_inlined_18.obj src\srsinit\epsg_inlined_19.obj \ - src\srsinit\epsg_inlined_20.obj src\srsinit\epsg_inlined_21.obj \ - src\srsinit\epsg_inlined_22.obj src\srsinit\epsg_inlined_23.obj \ - src\srsinit\epsg_inlined_24.obj src\srsinit\epsg_inlined_25.obj \ - src\srsinit\epsg_inlined_26.obj src\srsinit\epsg_inlined_27.obj \ - src\srsinit\epsg_inlined_28.obj src\srsinit\epsg_inlined_29.obj \ - src\srsinit\epsg_inlined_30.obj src\srsinit\epsg_inlined_31.obj \ - src\srsinit\epsg_inlined_32.obj src\srsinit\epsg_inlined_33.obj \ - src\srsinit\epsg_inlined_34.obj src\srsinit\epsg_inlined_35.obj \ - src\srsinit\epsg_inlined_36.obj src\srsinit\epsg_inlined_37.obj \ - src\srsinit\epsg_inlined_38.obj src\srsinit\epsg_inlined_39.obj \ - src\srsinit\epsg_inlined_40.obj src\srsinit\epsg_inlined_41.obj \ - src\srsinit\epsg_inlined_42.obj src\srsinit\epsg_inlined_43.obj \ - src\srsinit\epsg_inlined_44.obj src\srsinit\epsg_inlined_45.obj \ - src\srsinit\epsg_inlined_46.obj src\srsinit\epsg_inlined_extra.obj \ - src\srsinit\epsg_inlined_prussian.obj \ - src\srsinit\epsg_inlined_wgs84_00.obj src\srsinit\epsg_inlined_wgs84_01.obj \ - src\versioninfo\version.obj src\virtualtext\virtualtext.obj \ - src\cutter\gaia_cutter.obj src\spatialite\virtualknn.obj \ - src\topology\gaia_auxnet.obj src\topology\gaia_topostmts.obj \ - src\topology\gaia_auxtopo.obj src\topology\lwn_network.obj \ - src\topology\gaia_netstmts.obj src\topology\net_callbacks.obj \ - src\topology\gaia_network.obj src\topology\topo_callbacks.obj \ - src\topology\gaia_topology.obj -MOD_SPATIALITE_DLL = mod_spatialite$(VERSION).dll - -CFLAGS = /nologo -I.\src\headers -I.\src\topology \ - -I. -IC:\OSGeo4W\include $(OPTFLAGS) - -default: all - -all: mod_spatialite.lib mod_spatialite_i.lib -#$(EXIF_LOADER_EXE) - -mod_spatialite.lib: $(LIBOBJ) - if exist mod_spatialite.lib del mod_spatialite.lib - lib /out:mod_spatialite.lib $(LIBOBJ) - -$(MOD_SPATIALITE_DLL): mod_spatialite_i.lib - -mod_spatialite_i.lib: $(LIBOBJ) - link /debug /dll /out:$(MOD_SPATIALITE_DLL) \ - /implib:mod_spatialite_i.lib $(LIBOBJ) \ - C:\OSGeo4W\lib\proj_i.lib C:\OSGeo4W\lib\geos_c.lib \ - C:\OSGeo4w\lib\freexl_i.lib C:\OSGeo4w\lib\iconv.lib \ - C:\OSGeo4W\lib\sqlite3_i.lib C:\OSGeo4W\lib\zlib.lib \ - C:\OSGeo4W\lib\libxml2.lib C:\OSGeo4W\lib\librttopo.lib - if exist $(MOD_SPATIALITE_DLL).manifest mt -manifest \ - $(MOD_SPATIALITE_DLL).manifest -outputresource:$(MOD_SPATIALITE_DLL);2 - -.c.obj: - $(CC) $(CFLAGS) /c $*.c /Fo$@ - -clean: - del *.dll - del *.exp - del *.manifest - del *.lib - del src\gaiaaux\*.obj - del src\gaiaexif\*.obj - del src\gaiageo\*.obj - del src\spatialite\*.obj - del src\srsinit\*.obj - del src\versioninfo\*.obj - del src\virtualtext\*.obj - del src\wfs\*.obj - del src\dxf\*.obj - del src\md5\*.obj - del *.pdb - -install: all - -mkdir $(INSTDIR) - -mkdir $(INSTDIR)\bin - -mkdir $(INSTDIR)\lib - -mkdir $(INSTDIR)\include - -mkdir $(INSTDIR)\include\spatialite - copy *.dll $(INSTDIR)\bin - copy *.lib $(INSTDIR)\lib - copy src\headers\spatialite.h $(INSTDIR)\include - copy src\headers\spatialite\*.h $(INSTDIR)\include\spatialite - Index: nmake.opt ================================================================== --- nmake.opt +++ nmake.opt @@ -1,12 +1,12 @@ # Directory tree where SpatiaLite will be installed. INSTDIR=C:\OSGeo4W # Uncomment the first for an optimized build, or the second for debug. -OPTFLAGS= /nologo /Ox /fp:precise /W4 /MD /D_CRT_SECURE_NO_WARNINGS \ +OPTFLAGS= /nologo /Ox /fp:precise /W3 /MD /D_CRT_SECURE_NO_WARNINGS \ /DDLL_EXPORT /DYY_NO_UNISTD_H #OPTFLAGS= /nologo /Zi /MD /Fdspatialite.pdb /DDLL_EXPORT # Set the version number for the DLL. Normally we leave this blank since # we want software that is dynamically loading the DLL to have no problem # with version numbers. VERSION= DELETED nmake_mod.opt Index: nmake_mod.opt ================================================================== --- nmake_mod.opt +++ nmake_mod.opt @@ -1,12 +0,0 @@ -# Directory tree where SpatiaLite will be installed. -INSTDIR=C:\OSGeo4W - -# Uncomment the first for an optimized build, or the second for debug. -OPTFLAGS= /nologo /Ox /fp:precise /W4 /MD /D_CRT_SECURE_NO_WARNINGS \ - /DDLL_EXPORT /DLOADABLE_EXTENSION /DYY_NO_UNISTD_H -#OPTFLAGS= /nologo /Zi /MD /Fdmod_spatialite.pdb /DDLL_EXPORT - -# Set the version number for the DLL. Normally we leave this blank since -# we want software that is dynamically loading the DLL to have no problem -# with version numbers. -VERSION= ADDED spatialite-4.2.0.mk Index: spatialite-4.2.0.mk ================================================================== --- spatialite-4.2.0.mk +++ spatialite-4.2.0.mk @@ -0,0 +1,169 @@ +include $(CLEAR_VARS) +# ./configure --enable-examples=no --build=x86_64-pc-linux-gnu --host=arm-linux-eabi +# 2015-06-09: libspatialite-4.2.0-rc1 +LOCAL_MODULE := spatialite + +# SQLite flags copied from ASOP +common_sqlite_flags := \ + -DHAVE_USLEEP=1 \ + -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \ + -DSQLITE_THREADSAFE=1 \ + -DNDEBUG=1 \ + -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \ + -DSQLITE_DEFAULT_AUTOVACUUM=1 \ + -DSQLITE_TEMP_STORE=3 \ + -DSQLITE_ENABLE_FTS3 \ + -DSQLITE_ENABLE_FTS3_BACKWARDS \ + -DSQLITE_ENABLE_RTREE=1 \ + -DSQLITE_DEFAULT_FILE_FORMAT=4 + + +# spatialite flags +# comment out TARGET_CPU in config.h - will be replaced with TARGET_ARCH_ABI +spatialite_flags := \ + -DOMIT_FREEXL \ + -DTARGET_CPU=\"$(TARGET_ARCH_ABI)\" \ + -Dfdatasync=fsync \ + -DSQLITE_ENABLE_RTREE=1 \ + -DSQLITE_OMIT_BUILTIN_TEST=1 + +LOCAL_CFLAGS := \ + $(common_sqlite_flags) \ + $(spatialite_flags) + +# LOCAL_LDLIBS is always ignored for static libraries +# LOCAL_LDLIBS := -llog -lz +# LOADABLE_EXTENSION must NOT be defined +# For Spatialite with VirtualShapes,VirtualXL support iconv is needed +LOCAL_C_INCLUDES := \ + $(SQLITE_PATH) \ + $(SPATIALITE_PATH) \ + $(SPATIALITE_PATH)/src/headers \ + $(ICONV_PATH)/include \ + $(ICONV_PATH)/libcharset/include \ + $(GEOS_PATH)/include \ + $(GEOS_PATH)/capi \ + $(PROJ4_PATH)/src \ + $(LZMA_PATH)/src/liblzma/api \ + $(XML2_PATH)/include +LOCAL_SRC_FILES := \ + $(SPATIALITE_PATH)/src/connection_cache/alloc_cache.c \ + $(SPATIALITE_PATH)/src/connection_cache/generator/code_generator.c \ + $(SPATIALITE_PATH)/src/dxf/dxf_load_distinct.c \ + $(SPATIALITE_PATH)/src/dxf/dxf_loader.c \ + $(SPATIALITE_PATH)/src/dxf/dxf_load_mixed.c \ + $(SPATIALITE_PATH)/src/dxf/dxf_parser.c \ + $(SPATIALITE_PATH)/src/dxf/dxf_writer.c \ + $(SPATIALITE_PATH)/src/gaiaaux/gg_sqlaux.c \ + $(SPATIALITE_PATH)/src/gaiaaux/gg_utf8.c \ + $(SPATIALITE_PATH)/src/gaiaexif/gaia_exif.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_advanced.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_endian.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_ewkt.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_extras.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_geodesic.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_geoJSON.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_geometries.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_geoscvt.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_gml.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_kml.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_lwgeom.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_relations.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_relations_ext.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_shape.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_transform.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_vanuatu.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_voronoj.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_wkb.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_wkt.c \ + $(SPATIALITE_PATH)/src/gaiageo/gg_xml.c \ + $(SPATIALITE_PATH)/src/geopackage/gaia_cvt_gpkg.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkgAddGeometryColumn.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkg_add_geometry_triggers.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkg_add_spatial_index.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkg_add_tile_triggers.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkgBinary.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkgCreateBaseTables.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesTable.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesZoomLevel.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkgGetImageType.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_row.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_zoom.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkgInsertEpsgSRID.c \ + $(SPATIALITE_PATH)/src/geopackage/gpkgMakePoint.c \ + $(SPATIALITE_PATH)/src/md5/gaia_md5.c \ + $(SPATIALITE_PATH)/src/md5/md5.c \ + $(SPATIALITE_PATH)/src/shapefiles/shapefiles.c \ + $(SPATIALITE_PATH)/src/shapefiles/validator.c \ + $(SPATIALITE_PATH)/src/spatialite/extra_tables.c \ + $(SPATIALITE_PATH)/src/spatialite/mbrcache.c \ + $(SPATIALITE_PATH)/src/spatialite/metatables.c \ + $(SPATIALITE_PATH)/src/spatialite/spatialite.c \ + $(SPATIALITE_PATH)/src/spatialite/spatialite_init.c \ + $(SPATIALITE_PATH)/src/spatialite/statistics.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualbbox.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualdbf.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualfdo.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualgpkg.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualnetwork.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualshape.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualspatialindex.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualXL.c \ + $(SPATIALITE_PATH)/src/spatialite/virtualxpath.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_00.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_01.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_02.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_03.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_04.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_05.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_06.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_07.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_08.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_09.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_10.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_11.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_12.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_13.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_14.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_15.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_16.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_17.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_18.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_19.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_20.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_21.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_22.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_23.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_24.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_25.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_26.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_27.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_28.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_29.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_30.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_31.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_32.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_33.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_34.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_35.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_36.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_37.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_38.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_39.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_40.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_41.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_42.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_43.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_44.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_45.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_extra.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_prussian.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_00.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_01.c \ + $(SPATIALITE_PATH)/src/srsinit/srs_init.c \ + $(SPATIALITE_PATH)/src/srsinit/epsg_update/auto_epsg.c \ + $(SPATIALITE_PATH)/src/versioninfo/version.c \ + $(SPATIALITE_PATH)/src/virtualtext/virtualtext.c \ + $(SPATIALITE_PATH)/src/wfs/wfs_in.c +LOCAL_STATIC_LIBRARIES := iconv proj geos libxml2 +include $(BUILD_STATIC_LIBRARY) DELETED spatialite-4.3.0.mk Index: spatialite-4.3.0.mk ================================================================== --- spatialite-4.3.0.mk +++ spatialite-4.3.0.mk @@ -1,189 +0,0 @@ -include $(CLEAR_VARS) -# ./configure --enable-lwgeom=no --enable-gcp --enable-examples=no --build=x86_64-pc-linux-gnu --host=arm-linux-eabi -# ./configure --build=x86_64-pc-linux-gnu --host=arm-linux-eabi --without-grib --prefix=$PROJECT/external/gdal -# 20150607.libspatialite-4.3.0-dev -LOCAL_MODULE := spatialite - -# SQLite flags copied from ASOP -common_sqlite_flags := \ - -DHAVE_USLEEP=1 \ - -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \ - -DSQLITE_THREADSAFE=1 \ - -DNDEBUG=1 \ - -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \ - -DSQLITE_DEFAULT_AUTOVACUUM=1 \ - -DSQLITE_TEMP_STORE=3 \ - -DSQLITE_ENABLE_FTS3 \ - -DSQLITE_ENABLE_FTS3_BACKWARDS \ - -DSQLITE_ENABLE_RTREE=1 \ - -DSQLITE_DEFAULT_FILE_FORMAT=4 - - -# spatialite flags -# comment out TARGET_CPU in config.h - will be replaced with TARGET_ARCH_ABI -spatialite_flags := \ - -DOMIT_FREEXL \ - -DTARGET_CPU=\"$(TARGET_ARCH_ABI)\" \ - -Dfdatasync=fsync \ - -DSQLITE_ENABLE_RTREE=1 \ - -DENABLE_GCP=1 \ - -DENABLE_GEOPACKAGE=1 \ - -DENABLE_LIBXML2=1 \ - -DSQLITE_OMIT_BUILTIN_TEST=1 - -LOCAL_CFLAGS := \ - $(common_sqlite_flags) \ - $(spatialite_flags) - -# LOCAL_LDLIBS is always ignored for static libraries -# LOCAL_LDLIBS := -llog -lz -# LOADABLE_EXTENSION must NOT be defined -# For Spatialite with VirtualShapes,VirtualXL support iconv is needed -# 2014-07-26 - adapted based on ls -1 result in all directories -# Note: not included are: /src/gaiageo/ -# --> Ewkt.c:2071:24: error: expected ')' before 'yymsp' -# - Ewkt.c,geoJSON.c,Gml.c,Kml.c,vanuatuWkt.c -# - lex.Ewkt.c,lex.geoJSON.c,lex.Gml.c,lex.Kml.c,lex.VanuatuWkt.c -# 20150607 - ENABLE_GCP=1: 'GPL v2.0 or any subsequent version' -# 'srsinit/epsg_update' is not included, since it is not needed in the library [tools to create the epsg_inlined_*.c files] -LOCAL_C_INCLUDES := \ - $(SQLITE_PATH) \ - $(SPATIALITE_PATH) \ - $(SPATIALITE_PATH)/src/headers \ - $(ICONV_PATH)/include \ - $(ICONV_PATH)/libcharset/include \ - $(GEOS_PATH)/include \ - $(GEOS_PATH)/capi \ - $(PROJ4_PATH)/src \ - $(LZMA_PATH)/src/liblzma/api \ - $(XML2_PATH)/include -LOCAL_SRC_FILES := \ - $(SPATIALITE_PATH)/src/connection_cache/alloc_cache.c \ - $(SPATIALITE_PATH)/src/connection_cache/generator/code_generator.c \ - $(SPATIALITE_PATH)/src/control_points/gaia_control_points.c \ - $(SPATIALITE_PATH)/src/control_points/grass_crs3d.c \ - $(SPATIALITE_PATH)/src/control_points/grass_georef.c \ - $(SPATIALITE_PATH)/src/control_points/grass_georef_tps.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_load_distinct.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_loader.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_load_mixed.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_parser.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_writer.c \ - $(SPATIALITE_PATH)/src/gaiaaux/gg_sqlaux.c \ - $(SPATIALITE_PATH)/src/gaiaaux/gg_utf8.c \ - $(SPATIALITE_PATH)/src/gaiaexif/gaia_exif.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_advanced.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_endian.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_ewkt.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_extras.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_geodesic.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_geoJSON.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_geometries.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_geoscvt.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_gml.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_kml.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_lwgeom.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_matrix.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_relations.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_relations_ext.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_shape.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_transform.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_vanuatu.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_voronoj.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_wkb.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_wkt.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_xml.c \ - $(SPATIALITE_PATH)/src/geopackage/gaia_cvt_gpkg.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgAddGeometryColumn.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_add_geometry_triggers.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_add_spatial_index.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_add_tile_triggers.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgBinary.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgCreateBaseTables.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesTable.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesZoomLevel.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgGetImageType.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_row.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_zoom.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgInsertEpsgSRID.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgMakePoint.c \ - $(SPATIALITE_PATH)/src/md5/gaia_md5.c \ - $(SPATIALITE_PATH)/src/md5/md5.c \ - $(SPATIALITE_PATH)/src/shapefiles/shapefiles.c \ - $(SPATIALITE_PATH)/src/shapefiles/validator.c \ - $(SPATIALITE_PATH)/src/spatialite/extra_tables.c \ - $(SPATIALITE_PATH)/src/spatialite/mbrcache.c \ - $(SPATIALITE_PATH)/src/spatialite/metatables.c \ - $(SPATIALITE_PATH)/src/spatialite/se_helpers.c \ - $(SPATIALITE_PATH)/src/spatialite/spatialite.c \ - $(SPATIALITE_PATH)/src/spatialite/spatialite_init.c \ - $(SPATIALITE_PATH)/src/spatialite/srid_aux.c \ - $(SPATIALITE_PATH)/src/spatialite/statistics.c \ - $(SPATIALITE_PATH)/src/spatialite/table_cloner.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualbbox.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualdbf.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualelementary.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualfdo.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualgpkg.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualnetwork.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualshape.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualspatialindex.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualXL.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualxpath.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_00.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_01.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_02.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_03.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_04.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_05.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_06.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_07.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_08.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_09.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_10.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_11.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_12.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_13.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_14.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_15.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_16.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_17.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_18.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_19.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_20.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_21.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_22.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_23.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_24.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_25.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_26.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_27.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_28.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_29.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_30.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_31.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_32.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_33.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_34.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_35.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_36.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_37.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_38.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_39.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_40.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_41.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_42.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_43.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_44.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_45.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_46.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_extra.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_prussian.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_00.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_01.c \ - $(SPATIALITE_PATH)/src/srsinit/srs_init.c \ - $(SPATIALITE_PATH)/src/versioninfo/version.c \ - $(SPATIALITE_PATH)/src/virtualtext/virtualtext.c \ - $(SPATIALITE_PATH)/src/wfs/wfs_in.c -LOCAL_STATIC_LIBRARIES := iconv proj geos libxml2 -include $(BUILD_STATIC_LIBRARY) DELETED spatialite-4.4.0.mk Index: spatialite-4.4.0.mk ================================================================== --- spatialite-4.4.0.mk +++ spatialite-4.4.0.mk @@ -1,210 +0,0 @@ -include $(CLEAR_VARS) -# ./configure --enable-lwgeom=yes --enable-gcp --enable-examples=no --build=x86_64-pc-linux-gnu --host=arm-linux-eabi -# 20150626.libspatialite-4.4.0-dev -# ------------------- -# As of 2015-10-03 [4.4.0-t20160229] -# ------------------- -# changes: -# - geos-3.5.0 -# - json-c-0.12 -# - json-c-0.12 -# ------------------- -# Excluded files: -# gaiageo/ -# - directories 'flex' and 'lemon' -# - Ewkt.c/.h geoJSON.c/.h -# - Gml.c/.h Kml.c/.h -# - lex.*.c -# srsinit/ -# - directory 'epsg_update' -# ------------------- -LOCAL_MODULE := spatialite - -# SQLite flags copied from ASOP -common_sqlite_flags := \ - -DHAVE_USLEEP=1 \ - -DSQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=1048576 \ - -DSQLITE_THREADSAFE=1 \ - -DNDEBUG=1 \ - -DSQLITE_ENABLE_MEMORY_MANAGEMENT=1 \ - -DSQLITE_DEFAULT_AUTOVACUUM=1 \ - -DSQLITE_TEMP_STORE=3 \ - -DSQLITE_ENABLE_FTS3 \ - -DSQLITE_ENABLE_FTS3_BACKWARDS \ - -DSQLITE_ENABLE_RTREE=1 \ - -DSQLITE_DEFAULT_FILE_FORMAT=4 - -# spatialite flags -# comment out TARGET_CPU in config.h - will be replaced with TARGET_ARCH_ABI -spatialite_flags := \ - -DOMIT_FREEXL \ - -DTARGET_CPU=\"$(TARGET_ARCH_ABI)\" \ - -Dfdatasync=fsync \ - -DSQLITE_ENABLE_RTREE=1 \ - -DENABLE_GCP=1 \ - -DENABLE_GEOPACKAGE=1 \ - -DENABLE_LIBXML2=1 \ - -DENABLE_LWGEOM=1 \ - -DSQLITE_OMIT_BUILTIN_TEST=1 - -LOCAL_CFLAGS := \ - $(common_sqlite_flags) \ - $(spatialite_flags) - -# LOCAL_LDLIBS is always ignored for static libraries -# LOCAL_LDLIBS := -llog -lz -# LOADABLE_EXTENSION must NOT be defined -LOCAL_C_INCLUDES := \ - $(SQLITE_PATH) \ - $(SPATIALITE_PATH) \ - $(SPATIALITE_PATH)/src/headers \ - $(SPATIALITE_PATH)/src/topology \ - $(ICONV_PATH)/include \ - $(ICONV_PATH)/libcharset/include \ - $(GEOS_PATH)/include \ - $(GEOS_PATH)/capi \ - $(LWGEOM_PATH) \ - $(PROJ4_PATH)/src \ - $(LZMA_PATH)/src/liblzma/api \ - $(XML2_PATH)/include -LOCAL_SRC_FILES := \ - $(SPATIALITE_PATH)/src/connection_cache/generator/code_generator.c \ - $(SPATIALITE_PATH)/src/connection_cache/alloc_cache.c \ - $(SPATIALITE_PATH)/src/control_points/gaia_control_points.c \ - $(SPATIALITE_PATH)/src/control_points/grass_crs3d.c \ - $(SPATIALITE_PATH)/src/control_points/grass_georef.c \ - $(SPATIALITE_PATH)/src/control_points/grass_georef_tps.c \ - $(SPATIALITE_PATH)/src/cutter/gaia_cutter.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_load_distinct.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_loader.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_load_mixed.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_parser.c \ - $(SPATIALITE_PATH)/src/dxf/dxf_writer.c \ - $(SPATIALITE_PATH)/src/gaiaaux/gg_sqlaux.c \ - $(SPATIALITE_PATH)/src/gaiaaux/gg_utf8.c \ - $(SPATIALITE_PATH)/src/gaiaexif/gaia_exif.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_advanced.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_endian.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_ewkt.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_extras.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_geodesic.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_geoJSON.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_geometries.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_geoscvt.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_gml.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_kml.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_lwgeom.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_matrix.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_relations.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_relations_ext.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_shape.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_transform.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_vanuatu.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_voronoj.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_wkb.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_wkt.c \ - $(SPATIALITE_PATH)/src/gaiageo/gg_xml.c \ - $(SPATIALITE_PATH)/src/geopackage/gaia_cvt_gpkg.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgAddGeometryColumn.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_add_geometry_triggers.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_add_spatial_index.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_add_tile_triggers.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgBinary.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgCreateBaseTables.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesTable.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgCreateTilesZoomLevel.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgGetImageType.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_row.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkg_get_normal_zoom.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgInsertEpsgSRID.c \ - $(SPATIALITE_PATH)/src/geopackage/gpkgMakePoint.c \ - $(SPATIALITE_PATH)/src/md5/gaia_md5.c \ - $(SPATIALITE_PATH)/src/md5/md5.c \ - $(SPATIALITE_PATH)/src/shapefiles/shapefiles.c \ - $(SPATIALITE_PATH)/src/shapefiles/validator.c \ - $(SPATIALITE_PATH)/src/spatialite/extra_tables.c \ - $(SPATIALITE_PATH)/src/spatialite/mbrcache.c \ - $(SPATIALITE_PATH)/src/spatialite/metatables.c \ - $(SPATIALITE_PATH)/src/spatialite/se_helpers.c \ - $(SPATIALITE_PATH)/src/spatialite/spatialite.c \ - $(SPATIALITE_PATH)/src/spatialite/spatialite_init.c \ - $(SPATIALITE_PATH)/src/spatialite/srid_aux.c \ - $(SPATIALITE_PATH)/src/spatialite/statistics.c \ - $(SPATIALITE_PATH)/src/spatialite/table_cloner.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualbbox.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualdbf.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualelementary.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualfdo.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualgpkg.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualknn.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualnetwork.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualshape.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualspatialindex.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualXL.c \ - $(SPATIALITE_PATH)/src/spatialite/virtualxpath.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_00.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_01.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_02.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_03.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_04.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_05.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_06.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_07.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_08.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_09.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_10.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_11.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_12.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_13.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_14.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_15.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_16.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_17.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_18.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_19.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_20.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_21.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_22.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_23.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_24.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_25.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_26.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_27.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_28.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_29.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_30.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_31.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_32.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_33.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_34.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_35.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_36.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_37.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_38.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_39.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_40.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_41.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_42.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_43.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_44.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_45.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_46.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_extra.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_prussian.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_00.c \ - $(SPATIALITE_PATH)/src/srsinit/epsg_inlined_wgs84_01.c \ - $(SPATIALITE_PATH)/src/srsinit/srs_init.c \ - $(SPATIALITE_PATH)/src/topology/gaia_auxnet.c \ - $(SPATIALITE_PATH)/src/topology/gaia_auxtopo.c \ - $(SPATIALITE_PATH)/src/topology/gaia_netstmts.c \ - $(SPATIALITE_PATH)/src/topology/gaia_network.c \ - $(SPATIALITE_PATH)/src/topology/gaia_topology.c \ - $(SPATIALITE_PATH)/src/topology/gaia_topostmts.c \ - $(SPATIALITE_PATH)/src/topology/lwn_network.c \ - $(SPATIALITE_PATH)/src/topology/net_callbacks.c \ - $(SPATIALITE_PATH)/src/topology/topo_callbacks.c \ - $(SPATIALITE_PATH)/src/versioninfo/version.c \ - $(SPATIALITE_PATH)/src/virtualtext/virtualtext.c \ - $(SPATIALITE_PATH)/src/wfs/wfs_in.c -LOCAL_STATIC_LIBRARIES := iconv proj geos libljson-c liblwgeom libxml2 -include $(BUILD_STATIC_LIBRARY) Index: spatialite-sql-latest.html ================================================================== --- spatialite-sql-latest.html +++ spatialite-sql-latest.html @@ -1,25 +1,25 @@ + + SpatiaLite SQL functions reference list -

SpatiaLite 4.4.0-RC1          SQL functions reference list

+

SpatiaLite 4.3.0          SQL functions reference list

back @@ -83,14 +79,14 @@ or NULL if PROJ.4 is currently unsupported - - - + + + @@ -112,19 +108,13 @@ - - - - - - - - - + + + @@ -132,18 +122,11 @@ - - - - - - - + @@ -201,67 +184,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -277,14 +203,10 @@ - - - @@ -357,11 +279,11 @@ +

SQL functions reporting GEOS / LWGEOM errors and warnings

@@ -384,20 +306,20 @@ - - - - - - - - + + + + + + + + @@ -712,49 +634,34 @@ - + - + - + @@ -1113,21 +1020,14 @@ - + - + @@ -1205,36 +1105,30 @@ - + - + - - + - @@ -1291,37 +1185,10 @@ - - - - - - - - - - @@ -1572,18 +1439,18 @@ - - @@ -1599,11 +1466,11 @@ - + @@ -1659,11 +1526,11 @@ - + @@ -1869,39 +1736,16 @@ + ST_Relate( geom1 Geometry , geom2 Geometry , patternMatrix String ) : Integer - - - - - - + returns TRUE if the spatial relationship specified by the patternMatrix holds @@ -2058,12 +1902,12 @@ - + @@ -2282,76 +2126,76 @@ The default factor applies a filtering; by declaring some lower factor you can get a more aggressive filtering effect.
By setting the optional allow_holes argument to TRUE all interior holes will be preserved.
The optional argument tolerance is intended to normalize the input Geometry, suppressing repeated (or too close) Points.
NULL is returned on failure. +

SQL functions that implement spatial operators
[LWGEOM features]

- + - + - + - + - + - + - + - + @@ -2368,24 +2212,16 @@ - + - + - + - + - + - + - - - - - - + - + @@ -2506,184 +2336,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2873,10 +2529,24 @@
  • if the third argument mode is set to TRUEa PESSIMISTIC strategy will be applied, i.e. an attempt will be made in order to update the Statistics tables before returning the Envelope.
  • otherwise the returned Envelope will simply reflect the current values stored into the Statics tables as they are (OPTIMISTIC strategy, adopted by default).

  • NULL will be returned if any error occurs or if the required table isn't a Layer. + + + + + - - - - - - - - - - @@ -3237,31 +2886,10 @@
  • if the optional coverage_name argument is set then only that single Raster Coverage will be updated; otherwise all registered Raster Coverages will be processed in a single pass (may require a long time).
  • if the optional transaction argument is set to TRUE then the whole operation will be internally handled as a single SQL Transaction.

  • -the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be - returned on invalid arguments. - - - - - - - - - - @@ -3925,16 +3553,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5075,69 +3786,46 @@
  • ::ignore::column_name
  • ::cast2multi::geometry_column

  • - Will return 0 (i.e. FALSE) on failure, any other value (i.e. TRUE) on success. NULL will be returned on invalid arguments. - - - - - + + out_pk Text , out_multi_id Text ) : Integer + DropGeoTable( db-prefix Text , table Text ) : Integer + ExportSHP( table Text , geom_column Text , filename Text , charset Text , geom_type Text) : Integer + [ , text_dats Integer ] ] ) : Integer - + @@ -5309,11 +3973,11 @@ Will return the total number of imported rows.
    NULL will be returned on invalid arguments.
    Please note well: this SQL function open the doors to many potential security issues, and thus is always disabled by default.
    Explicitly setting the environment variable SPATIALITE_SECURITY=relaxed is absolutely required in order to effectively enable this function. - - - - - - + Explicitly setting the environment variable SPATIALITE_SECURITY=relaxed is absolutely required in order to effectively enable this function.

    SQL Version Info [and build options testing] functions

    geos_version geos_version( void ) : String returns the current GEOS version as a text string
    or NULL if GEOS is currently unsupported
    rttopo_versionrttopo_version( void ) : Stringreturns the current RTTOPO version as a text string
    - or NULL if RTTOPO is currently unsupported
    lwgeom_versionlwgeom_version( void ) : Stringreturns the current LWGEOM version as a text string
    + or NULL if LWGEOM is currently unsupported
    libxml2_version libxml2_version( void ) : String returns the current LibXML2 version as a text string
    or NULL if LibXML2 is currently unsupported
    HasIconvHasGeosAdvanced( void ) : Boolean TRUE if the underlaying library was built enabling GEOSADVANCED
    HasGeosTrunk HasGeosTrunk( void ) : Boolean TRUE if the underlaying library was built enabling GEOSTRUNK
    HasGeosReentrantHasGeosReentrant( void ) : BooleanTRUE if the underlaying library was built enabling GEOSREENTRANT
    HasGeosOnlyReentrantHasGeosOnlyReentrant( void ) : BooleanTRUE if the underlaying library was built enabling GEOSONLYREENTRANT
    HasRtTopoHasRtTopo( void ) : BooleanTRUE if the underlaying library was built enabling RTTOPO
    HasLwGeomHasLwGeom( void ) : BooleanTRUE if the underlaying library was built enabling LWGEOM
    HasLibXML2 HasLibXML2( void ) : Boolean TRUE if the underlaying library was built enabling LibXML2
    HasEpsg HasEpsg( void ) : Boolean
    HasFreeXL HasFreeXL( void ) : Boolean TRUE if the underlaying library was built enabling FREEXL
    HasGeoPackage HasGeoPackage( void ) : BooleanTRUE if the underlaying library was built enabling GeoPackage support (GPKG)
    HasGCPHasGCP( void ) : Boolean
    - HasGroundControlPoints ( void ) : Boolean
    TRUE if the underlaying library was built enabling Ground Control Points support (GGP)
    HasTopologyHasTopology( void ) : BooleanTRUE if the underlaying library was built enabling Topology support
    TRUE if the underlaying library was built enabling GeoPackage support (GPKG))

    Generic SQL functions

    Function Syntax Summary
    eval eval( X TEXT [ , Y TEXT ) : Text Evaluate the SQL text in X. Return the results, using string Y as the separator.
    If Y is omitted, use a single space character.
    Explicitly setting the environment variable SPATIALITE_SECURITY=relaxed is absolutely required in order to effectively enable this function.
    -

    Global settings per connection

    FunctionSyntaxSummary
    EnableGpkgModeEnableGpkgMode( void ) : voidEnables the Geopackage mode
    - all connections initially start by disabling the GPKG mode, that has always to be explicitly enabled whenever reguired.
    - Enabling GPKG mode is a supported option only if the currently connected DB-file presents a GPKG layout.
    DisableGpkgModeDisableGpkgMode( void ) : voidDisables the Geopackage mode
    GetGpkgModeGetGpkgMode( void ) : booleanReturns TRUE if the Geopackage mode is currently enabled, otherwise FALSE
    EnableGpkgAmphibiousModeEnableGpkgAmphibiousMode( void ) : voidEnables the Geopackage amphibious mode
    - all connections initially start by disabling the amphibious mode, that has always to be explicitly enabled whenever reguired.
    - Note: GPKG mode and GPKG amphibious mode are mutually exclusive options.
    DisableGpkgAmphibiousModeDisableGpkgAmphibiousMode( void ) : voidDisables the Geopackage amphibious mode
    GetGpkgAmphibiousModeGetGpkgAmphibiousMode( void ) : booleanReturns TRUE if the Geopackage amphibious mode is currently enabled, otherwise FALSE
    SetDecimalPrecisionSetDecimalPrecision( integer ) : voidExplicitly sets the number of decimal digits (precision) to be displayed by ST_AsText() for coordinate values: the standard default setting is 6 decimal digits.
    - Passing any negative precision will automatically restore the initial default setting.
    - The spatialite_gui tool will honor this setting for all floating point values to be displayed on the screen.
    GetDecimalPrecisionGetDecimalPrecision( void ) : integerReturns the currently set decimal precision.
    - A negative precision identifies the default setting.
    -

    SQL functions manipolating Sequences

    FunctionSyntaxSummary
    sequence_nextvalsequence_nextval ( seq_name Text ) : Integeradvances to its next value the Sequence and then returns the value.
    - Will return NULL if any error occurred.
    sequence_currvalsequence_currval ( seq_name Text ) : Integerreturns the value most recently obtained by sequence_nextval() for the Sequence identified by seq_name
    - Will return NULL if the Sequence identified by seq_name has never been used before.
    sequence_lastvalsequence_lastval ( void ) : Integerreturns the value most recently obtained by sequence_nextval()
    - Will return NULL if sequence_nextval() has never been called before.
    sequence_setvalsequence_setval ( seq_name Text , value Integer ) : Integersets the current value for the Sequence identified by seq_name; if the Sequence doesn't yet exist it will be created on-the-fly.
    - Will return value on success or NULL on failure.

    SQL math functions

    Function Syntax Summary
    returns the arc sine of x, that is, the value whose sine is x
    returns NULL if x is not in the range -1 to 1
    Atan Atan( x Double precision ) : Double precision returns the arc tangent of x, that is, the value whose tangent is x
    Atan2Atan2( y Double precision , x Double precision ) : Double precisionreturns the principal value of the arc tangent of y/x in radians, using the signs of the two - arguments to determine the quadrant of the result. The eturn value is in the range[-pi, pi].
    Ceil
    Ceiling
    Ceil( x Double precision ) : Double precision
    Ceiling( x Double precision ) : Double precision
    returns the smallest integer value not less than x
    Cos
    Var_samp Var_samp( x Double precision ) : Double precision returns the sample variance of the input values (square of the sample standard deviation)
    aggregate function
    -

    SQL functions reporting GEOS / RTTOPO errors and warnings

    Function Syntax Summary
    GEOS_GetLastWarningMsg GEOS_GetLastWarningMsg( void ) : StringGEOS Will (possibly) return a Point Geometry extracted from the latest error / warning message returned by GEOS.
    NULL will be returned if there is no pending GEOS message, or if the current GEOS message doesn't contain a critical Point.
    RTTOPO_GetLastWarningMsgRTTOPO_GetLastWarningMsg( void ) : StringRTTOPOWill return the most recent warning message returned by RTTOPO (if any).
    - NULL will be returned if there is no pending RTTOPO warning.
    RTTOPO_GetLastErrorMsgRTTOPO_GetLastErrorMsg( void ) : StringRTTOPOWill return the most recent error message returned by RTTOPO (if any).
    - NULL will be returned if there is no pending RTTOPO error.
    LWGEOM_GetLastWarningMsgLWGEOM_GetLastWarningMsg( void ) : StringLWGEOMWill return the most recent warning message returned by LWGEOM (if any).
    + NULL will be returned if there is no pending LWGEOM warning.
    LWGEOM_GetLastErrorMsgLWGEOM_GetLastErrorMsg( void ) : StringLWGEOMWill return the most recent error message returned by LWGEOM (if any).
    + NULL will be returned if there is no pending LWGEOM error.

    SQL length/distance unit-conversion functions

    Function Syntax Summary
    will return a POLYGON approximating the Circular Stripe delimited by two arcs sharing the same Centre [cx, cy] but having different radii [radius_1, radius_2]; the arc's extremities will be defined by start, stop angles expressed in degrees.
    The optional argument step if specified defines how many points will be interpolated on the circumference; a point will be set every step degrees.
    The implicit default setting corresponds to a point every 10 degrees.
    SquareGridSquareGrid( geom ArealGeometry , size Double precision [ , mode Integer , [ origing PointGeometry ] ] ) : Geometry
    - ST_SquareGrid( geom ArealGeometry , size Double precision [ , mode Integer , [ origing PointGeometry ] ] ) : Geometry
    SquareGrid( geom ArealGeometry , size Double precision [ , edges_only Boolean , [ origing PointGeometry ] ] ) : Geometry
    + ST_SquareGrid( geom ArealGeometry , size Double precision [ , edges_only Boolean , [ origing PointGeometry ] ] ) : Geometry
    GEOS return a grid of square cells (having the edge length of size) precisely covering the input Geometry.
    - The specific Type of returned Geometry is controlled by the mode attribute value: -
      -
    • any positive value will cause a MultiLinesting to be returned.
    • -
    • zero (default value) will cause a MultiPolygon to be returned.
    • -
    • any negative value will cause a MultiPoint to be returned.
    • -
    + The returned Geometry will usually be of the MultiPolygon type (a collection of Squares), but will be a MultiLinestring if the optional edges_only argument is set to TRUE
    If the optional origin argument (expected to be a Point) is not specified then the (0,0) grid origin will be assumed by default.
    NULL will be returned if any error is encountered.
    TriangularGridTriangularGrid( geom ArealGeometry , size Double precision [ , mode Integer , [ origing PointGeometry ] ] ) : Geometry
    - ST_TriangularGrid( geom ArealGeometry , size Double precision [ , mode Integer , [ origing PointGeometry ] ] ) : Geometry
    TriangularGrid( geom ArealGeometry , size Double precision [ , edges_only Boolean , [ origing PointGeometry ] ] ) : Geometry
    + ST_TriangularGrid( geom ArealGeometry , size Double precision [ , edges_only Boolean , [ origing PointGeometry ] ] ) : Geometry
    GEOS return a grid of triangular cells (having the edge length of size) precisely covering the input Geometry.
    - The specific Type of returned Geometry is controlled by the mode attribute value: -
      -
    • any positive value will cause a MultiLinesting to be returned.
    • -
    • zero (default value) will cause a MultiPolygon to be returned.
    • -
    • any negative value will cause a MultiPoint to be returned.
    • -
    + The returned Geometry will usually be of the MultiPolygon type (a collection of Squares), but will be a MultiLinestring if the optional edges_only argument is set to TRUE
    If the optional origin argument (expected to be a Point) is not specified then the (0,0) grid origin will be assumed by default.
    NULL will be returned if any error is encountered.
    HexagonalGridHexagonalGrid( geom ArealGeometry , size Double precision [ , mode Integer , [ origing PointGeometry ] ] ) : Geometry
    - ST_HexagonalGrid( geom ArealGeometry , size Double precision [ , mode Integer , [ origing PointGeometry ] ] ) : Geometry
    HexagonalGrid( geom ArealGeometry , size Double precision [ , edges_only Boolean , [ origing PointGeometry ] ] ) : Geometry
    + ST_HexagonalGrid( geom ArealGeometry , size Double precision [ , edges_only Boolean , [ origing PointGeometry ] ] ) : Geometry
    GEOS return a grid of hexagonal cells (having the edge length of size) precisely covering the input Geometry.
    - The specific Type of returned Geometry is controlled by the mode attribute value: -
      -
    • any positive value will cause a MultiLinesting to be returned.
    • -
    • zero (default value) will cause a MultiPolygon to be returned.
    • -
    • any negative value will cause a MultiPoint to be returned.
    • -
    + The returned Geometry will usually be of the MultiPolygon type (a collection of Squares), but will be a MultiLinestring if the optional edges_only argument is set to TRUE
    If the optional origin argument (expected to be a Point) is not specified then the (0,0) grid origin will be assumed by default.
    NULL will be returned if any error is encountered.
    BuildMbr BuildMbr( x1 Double precision , y1 Double precision , x2 Double precision , y2 Double precision [ , SRID Integer] ) : GeometryGeomFromEWKT( ewktGeometry String ) : Geometry base construct a geometric object given its EWKT Representation
    AsFGFAsFGF( geom Geometry , dims Integer ) : BinaryAsFGF( geom Geometry ) : Binary basereturns the FGF [FDO Geometry Binary Format] representation
    - dims can assume one of the following values: -
      -
    • 0 XY dimension
    • -
    • 1 XYZ dimension
    • -
    • 2 XYM dimension
    • -
    • 3 XYZM dimension
    • -
    returns the FGF [FDO Geometry Binary Format] representation
    GeomFromFGF GeomFromFGF( fgfGeometry Binary [ , SRID Integer] ) : Geometry base construct a geometric object given its FGF binary Representation
    GEOS The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN corresponding to a function invocation on NULL arguments.
    TRUE if this geometric object is simple, as defined in the Geometry Model
    IsValidIsValid( geom Geometry [ , esri_flag Boolean ] ) : Integer
    - ST_IsValid( geom Geometry [ , esri_flag Boolean ] ) : Integer
    IsValid( geom Geometry ) : Integer
    + ST_IsValid( geom Geometry ) : Integer
    GEOS The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN - corresponding to a function invocation on NULL arguments.
    - If the ESRI_flag argument is set to 1 (TRUE), then all ESRI-like internal holes - (violating the standard OGC model) will be considered valid.
    + corresponding to a function invocation on NULL arguments.
    TRUE if this geometric object does not contains any topological error
    IsValidReasonIsValidReason( geom Geometry [ , esri_flag Boolean ] ) : String
    - ST_IsValidReason( geom Geometry [ , esri_flag Boolean ] ) : String
    IsValidReason( geom Geometry ) : String
    + ST_IsValidReason( geom Geometry ) : String
    GEOSWill return a TEXT string stating if a Geometry is valid and if not valid, a reason why.
    - If the ESRI_flag argument is set to 1 (TRUE), then all ESRI-like internal holes - (violating the standard OGC model) will be considered valid.
    +
    Will return a TEXT string stating if a Geometry is valid and if not valid, a reason why.
    NULL will be returned on invalid arguments.
    IsValidDetailIsValidDetail( geom Geometry [ , esri_flag Boolean ]) : Geometry
    - ST_IsValidDetail( geom Geometry [ , esri_flag Boolean ]) : Geometry
    IsValidDetail( geom Geometry ) : Geometry
    + ST_IsValidDetail( geom Geometry ) : Geometry
    GEOSWill return a Geometry detail (usually a POINT) causing invalidity.
    - If the ESRI_flag argument is set to 1 (TRUE), then all ESRI-like internal holes - (violating the standard OGC model) will be considered valid.
    +
    Will return a Geometry detail (usually a POINT) causing invalidity.
    NULL will be returned on invalid arguments, or in the case of a valid Geometry.
    Boundary Boundary( geom Geometry ) : Geometry
    ST_Boundary( geom Geometry ) : Geometry
    Xreturns a (possibly) sanitized Geometry [if a valid Geometry was supplied], or NULL in any other case
    Please note: current implementations only affects:
    • repeated vertices suppression
    • Ring's closure enforcement
    EnsureClosedRingsEnsureClosedRings( geom Geometry ) : geom Geometrybasereturns a new Geometry derived from the input Geometry; all Rings within the output Geometry are ensured to be correctly closed, - i.e. will have exactly coincident start and end vertices.
    - This function accepts input Geometries of any class: Point, MultiPoint, Linestring, MultiLinestring, - Polygon, MultiPolygon, GeometryCollection and Geometry.
    - Will return NULL on invalid argument. -
    RemoveRepeatedPointsRemoveRepeatedPoints( geom Geometry ) : geom Geometry
    - RemoveRepeatedPoints( geom Geometry , tolerance Double ) : geom Geometry
    basereturns a new Geometry derived from the input Geometry; all repeated vertices found in Linestrings or Rings will be removed and the same applies - to repeated points found in Multipoints.
    - This function accepts input Geometries of any class: Point, MultiPoint, Linestring, MultiLinestring, - Polygon, MultiPolygon, GeometryCollection and Geometry. -
      -
    • if the optional argument tolerance is defined all vertices/points presenting a distance less or equal to this value will be considered as repeated points.
      - The default tolerance value is 0.0, this intending an exact coincidence; the same applies to any negative tolerance.
    • -
    • Linestring or Ring vertices are considered to be repeated only if they are consecutive.
    • -
    • Multipoint points are considered to be repeated independentely from their relative order.
    • -

    - Will return NULL on invalid arguments. -

    SQL Geometry-compression functions

    Function Syntax OGC
    defined
    Simplify( c Curve , tolerance Double precision ) : Curve
    ST_Simplify( c Curve , tolerance Double precision ) : Curve
    ST_Generalize( c Curve , tolerance Double precision ) : Curve
    GEOSreturn a geometric object representing a simplified version of c applying the Douglas-Peuker + return a geometric object representing a simplified version of c applying the Douglas-Peukert algorithm with given tolerance
    SimplifyPreserveTopology SimplifyPreserveTopology( c Curve , tolerance Double precision ) : Curve
    ST_SimplifyPreserveTopology( c Curve , tolerance Double precision ) : Curve
    GEOSreturn a geometric object representing a simplified version of c applying the Douglas-Peuker + return a geometric object representing a simplified version of c applying the Douglas-Peukert algorithm with given tolerance and respecting topology

    SQL functions on type LineString

    Function Syntax
    PointN PointN( line LineString , n Integer ) : Point
    ST_PointN( line LineString , n Integer ) : Point
    X basereturn a Point containing Point n of line (first Point corresponds to n=1)
    return a Point containing Point n of line
    AddPoint AddPoint( line LineString , point Point [ , position Integer ] ) : Linestring
    ST_AddPoint( line LineString , point Point [ , position Integer ] ) : Linestring
    basereturn the area of s
    Area( s Surface , use_ellipsoid Boolean ) : Double precision
    ST_Area( s Surface , use_ellipsoid Boolean ) : Double precision
    XRTTOPOLWGEOM return the area of s (measured in meters).
    If the use_ellipsoid argument is set to TRUE the precise (but slower) area will be computed on the Ellipsoid, otherwise will be computed on the Sphere (approximative, but faster).
    This function only supports Long/Lat coordinates, and will return NULL for any planar CRS

    SQL functions on type Polygon

    The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN corresponding to a function invocation on NULL arguments;
    convenience predicate: TRUE if g1 is completely covered by g2
    Relate Relate( geom1 Geometry , geom2 Geometry , patternMatrix String ) : Integer
    - ST_Relate( geom1 Geometry , geom2 Geometry , patternMatrix Text ) : Integer
    - Relate( geom1 Geometry , geom2 Geometry ) : Text
    - ST_Relate( geom1 Geometry , geom2 Geometry ) : Text
    - Relate( geom1 Geometry , geom2 Geometry , bnr Integer ) : Text
    - ST_Relate( geom1 Geometry , geom2 Geometry , bnr Integer ) : Text
    X GEOS

    OGC canonical signature

    - The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, +
    The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN corresponding to a function invocation on NULL arguments;
    - returns TRUE if the spatial relationship specified by the patternMatrix holds.
    -

    non-canonical signature

    - The return type is Text, this corresponding to the serialized representation of some [DE-9IM] intersection matrix.
    - The optional argument bnr determines the Boundary Node Rule to be appiled, and has the following interpretation: -
      -
    • 1: OGC/MOD2 (this is the default case, and will be always assumed for any unknown value)
    • -
    • 2: Endpoint
    • -
    • 3: Multivalent Endpoint
    • -
    • 4: Monovalent Endpoint
    • -

    - Will return NULL on NULL or invalid geometries. -
    RelateMatchST_RelatedMatch( matrix Text , pattern Text ) : IntegerGEOSEvaluates if an intersection matrix [DE-9IM] satisfies an intersection pattern.
    - The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, - and –1 for UNKNOWN corresponding to a function invocation on NULL or invalid arguments.

    SQL functions for distance relationships

    Function Syntax OGC
    defined
    GEOS Return a Linestring being a substring of the input one starting and ending at the given fractions of total 2d length.
    Second and third arguments are expected to be in the range between 0.0 and 1.0.
    NULL is returned for invalid arguments
    ClosestPointClosestPoint( geom1 Geometry , geom2 Geometry ) : Point
    - ST_ClosestPoint( geom1 Geometry , geom2 Geometry ) : Point
    ClosesetPoint( geom1 Geometry , geom2 Geometry ) : Point
    + ST_ClosesetPoint( geom1 Geometry , geom2 Geometry ) : Point
    GEOS Returns the Point on geom1 that is closest to geom2.
    NULL is returned for invalid arguments (or if distance is ZERO)
    ShortestLine
    -

    SQL functions that implement spatial operators
    [RTTOPO features]

    Function Syntax OGC
    defined
    required
    module
    Summary
    MakeValid MakeValid( geom Geometry ) : Geometry
    ST_MakeValid( geom Geometry ) : Geometry
    RTTOPOLWGEOM return a geometric object representing the repaired version of the input Geometry.
    If the input Geometry was already valid, then it will be returned exactly as it was.
    NULL is returned on failure.
    MakeValidDiscarded MakeValidDiscarded( geom Geometry ) : Geometry
    ST_MakeValidDiscarded( geom Geometry ) : Geometry
    RTTOPOLWGEOM return a geometric object containing all elements that would be eventually discarded by ST_MakeValid() while validating the same input Geometry.
    NULL is returned on failure, or if no discarded item exists.
    Segmentize Segmentize( geom Geometry, dist Double precision ) : Geometry
    ST_Segmentize( geom Geometry , dist Double precision ) : Geometry
    RTTOPOLWGEOM return a new Geometry corresponding to the input Geometry; as much Linestring / Ring vertices as required will be eventually interpolated so to ensure that no segment will be longer than dist.
    NULL is returned on failure.
    Split Split( geom Geometry, blade Geometry ) : Geometry
    ST_Split( geom Geometry , blade Geometry ) : Geometry
    RTTOPOLWGEOM return a new Geometry collecting all items resulting by splitting the input Geometry by the blade.
    NULL is returned on failure.
    SplitLeft SplitLeft( geom Geometry, blade Geometry ) : Geometry
    ST_SplitLeft( geom Geometry , blade Geometry ) : Geometry
    RTTOPOLWGEOM return a new Geometry collecting all items resulting by splitting the input Geometry by the blade and falling on the left side.
    All items not affected by the split operation (i.e. not intersecting the blade) will be returned into the left collection.
    NULL is returned on failure.
    SplitRight SplitRight( geom Geometry, blade Geometry ) : Geometry
    ST_SplitRight( geom Geometry , blade Geometry ) : Geometry
    RTTOPOLWGEOM return a new Geometry collecting all items resulting by splitting the input Geometry by the blade and falling on the right side.
    NULL is returned on failure (or if the right side is empty).
    Azimuth Azimuth( pt1 Geometry, pt2 Geometry ) : Double precision
    ST_Azimuth( pt1 Geometry , pt2 Geometry ) : Double precision
    RTTOPOLWGEOM return the angle (in radians) from the horizontal of the vector defined by pt1 and pt2.
    Both pt1 and pt2 are expected to be simple Points.
    Starting since 4.1.0 if both points supports long/lat coords the returned Azimuth will be precisely computed on the ellipsoid.
    NULL is returned on failure.
    On the clock: 12=0; 3=PI/2; 6=PI; 9=3PI/2
    Project Project( start_point Geometry, distance Double precision, azimuth Double precision ) : Geometry
    ST_Project( start_point Geometry, distance Double precision, azimuth Double precision ) : Geometry
    RTTOPOLWGEOM return a new Point projected from a start point using a bearing and distance.
    start_point is expected to be simple long/lat Point.
    distance is expected to be measured in meters; azimuth (aka bearing or heading) has the same identical meaning as in ST_Azimuth().
    NULL is returned on failure or on invalid arguments.
    SnapToGridreturn a new Geometry corresponding to the input Geometry; all points and vertices will be snapped to the grid defined by its origin and size(s).
    Removes all consecutive points falling on the same cell.
    All collapsed geometries will be stripped from the returned Geometry.
    NULL is returned on failure.
    GeoHashGeoHash( geom Geometry [ , precision Integer ] ) : String
    - ST_GeoHash( geom Geometry [ , precision Integer ] ) : String
    GeoHash( geom Geometry ) : String
    + ST_GeoHash( geom Geometry ) : String
    LRTTOPOLWGEOM Return a GeoHash representation (geohash.org) of the geometry.
    - A GeoHash encodes a point into a text form that is sortable and searchable based on prefixing.
    -
      -
    • If no precision is specficified ST_GeoHash returns a GeoHash based on full precision of the input geometry type.
      - Points return a GeoHash with 20 characters of precision (about enough to hold the full double precision of the input).
    • -
    • Other types return a GeoHash with a variable amount of precision, based on the size of the feature. - Larger features are represented with less precision, smaller features with more precision. - The idea is that the box implied by the GeoHash will always contain the input feature.
    • -
    • When explicitly set the precision argument will determine how many characters should by used by the returned GeoHash.
    • -

    + A GeoHash encodes a point into a text form that is sortable and searchable based on prefixing.
    ST_GeoHash will not work with geometries that are not in geographic (lon/lat) coordinates
    AsX3D AsX3D( geom Geometry ) : String
    AsX3D( geom Geometry , precision Integer ) : String
    AsX3D( geom Geometry , precision Integer , options Integer ) : String
    @@ -2394,45 +2230,39 @@ ST_AsX3D( geom Geometry , precision Integer ) : String
    ST_AsX3D( geom Geometry , precision Integer , options Integer ) : String
    ST_AsX3D( geom Geometry , precision Integer , options Integer , refid String ) : String
    RTTOPOLWGEOM Returns a geometry as an X3D XML formatted node element.
    MaxDistance MaxDistance( geom1 Geometry , geom2 Geometry ) : Double precision
    ST_MaxDistance( geom1 Geometry , geom2 Geometry ) : Double precision
    RTTOPOLWGEOM return the max distance between geom1 and geom2
    3DDistance ST_3DDistance( geom1 Geometry , geom2 Geometry ) : Double precision RTTOPOLWGEOM return the 3D-distance between geom1 and geom2 (Z coordinates will be considered)
    3DMaxDistance ST_3DMaxDistance( geom1 Geometry , geom2 Geometry ) : Double precision RTTOPOLWGEOM return the max 3D-distance between geom1 and geom2 (Z coordinates will be considered)
    3dLengthST_3dLength( geom Geometry ) : Double precisionRTTOPOreturn the total 2D or 3D-length of Linestring or MultiLinestring geometry.
    - Z coordinates if eventually present will be considered leading to a 3D measured length; otherwise a 2D length will be computed.
    ST_Node ST_Node( geom Geometry ) : Geometry RTTOPOLWGEOM Fully nodes a set of linestrings using the least possible number of nodes while preserving all of the input ones.
    NULL will be returned if the input Geometry isn't a set of linestrings or if any other error occurs.
    SelfIntersections SelfIntersections( geom Geometry ) : Geometry
    ST_SelfIntersections( geom Geometry ) : Geometry
    RTTOPOLWGEOM Returns a MultiPoint Geometry representing any self-intersection found within the input geometry [expected to be of the Linestring or MultiLinestring type].
    NULL will be returned for invalid arguments, or when no self-intersections were found.

    SQL functions for coordinate transformations

    SwapCoords( geom Geometry ) : Geometry
    SwapCoordinates( geom Geometry ) : Geometry
    base return a geometric object obtained by swapping x- and y-coordinates
    -

    SQL functions supporting Affine Transformations and Ground Control Points

    FunctionSyntaxOGC
    defined
    required
    module
    Summary
    ATM_CreateATM_Create( void ) : AffineMatrix
    - ATM_Create( a Integer , b Integer , d Integer , e Integer , xoff Integer , yoff Integer ] ) : AffineMatrix
    - ATM_Create( a Integer , b Integer , c Integer , d Integer , e Integer , f Integer , - g Integer , h Integer , i Integer , xoff Integer , yoff Integer , zoff Integer ] ) : AffineMatrix
    basereturn a BLOB-encoded Affine Transformation matrix. -
      -
    • the first form (no arguments) will return an Identity matrix.
    • -
    • the second and third forms will respectively return a fully initialized 2D or 3D Affine Transformation matrix.
    • -

    - will return NULL on invalid arguments.
    ATM_CreateTranslateATM_CreateTranslate( tx Double precision , ty Double precision ] ) : AffineMatrix
    - ATM_CreateTranslate( tx Double precision , ty Double precision , tz Double precision ] ) : AffineMatrix
    basereturn a BLOB-encoded Affine Transformation matrix representing a 2D or 3D Translate transformation.
    - will return NULL on invalid arguments.
    ATM_CreateScaleATM_CreateScale( sx Double precision , sy Double precision ] ) : AffineMatrix
    - ATM_CreateScale( sx Double precision , sy Double precision , sz Double precision ] ) : AffineMatrix
    basereturn a BLOB-encoded Affine Transformation matrix representing a 2D or 3D Scale transformation.
    - will return NULL on invalid arguments.
    ATM_CreateRotateATM_CreateRotate( angleInDegrees Double precision ] ) : AffineMatrix
    - ATM_CreateZRoll( angleInDegrees Double precision ] ) : AffineMatrix
    basereturn a BLOB-encoded Affine Transformation matrix representing a Rotate transformation (along the Z axis).
    - will return NULL on invalid argument.
    ATM_CreateXRollATM_CreateXRoll( angleInDegrees Double precision ] ) : AffineMatrixbasereturn a BLOB-encoded Affine Transformation matrix representing a Rotate transformation (along the X axis).
    - will return NULL on invalid argument.
    ATM_CreateYRollATM_CreateYRoll( angleInDegrees Double precision ] ) : AffineMatrixbasereturn a BLOB-encoded Affine Transformation matrix representing a Rotate transformation (along the Y axis).
    - will return NULL on invalid argument.
    ATM_MultiplyATM_Multiply( matrixA AffineMatrix , matrixB AffineMatrix ) : AffineMatrixbasereturn a BLOB-encoded Affine Transformation matrix representing the result of multiplying matrixA by matrixB.
    - will return NULL on invalid arguments.
    ATM_TranslateATM_Translate( matrix AffineMatrix , tx Double precision , ty Double precision ] ) : AffineMatrix
    - ATM_CreateTranslate( matrix AffineMatrix , tx Double precision , ty Double precision , tz Double precision ] ) : AffineMatrix
    basereturn a BLOB-encoded Affine Transformation matrix by chaining a further 2D or 3D Translate to a previous transformation matrix.
    - will return NULL on invalid arguments.
    ATM_ScaleATM_Scale( matrix AffineMatrix , sx Double precision , sy Double precision ] ) : AffineMatrix
    - ATM_Scale( matrix AffineMatrix , sx Double precision , sy Double precision , sz Double precision ] ) : AffineMatrix
    basereturn a BLOB-encoded Affine Transformation matrix by chaining a further 2D or 3D Scale to a previous transformation matrix.
    - will return NULL on invalid arguments.
    ATM_RotateATM_Rotate( matrix AffineMatrix , angleInDegrees Double precision ] ) : AffineMatrix
    - ATM_ZRoll( matrix AffineMatrix , angleInDegrees Double precision ] ) : AffineMatrix
    basereturn a BLOB-encoded Affine Transformation matrix by chaining a further Rotate (along the Z axis) to a previous transformation matrix.
    - will return NULL on invalid argument.
    ATM_XRollATM_XRoll( matrix AffineMatrix , angleInDegrees Double precision ] ) : AffineMatrixbasereturn a BLOB-encoded Affine Transformation matrix by chaining a further Rotate (along the X axis) to a previous transformation matrix.
    - will return NULL on invalid argument.
    ATM_YRollATM_YRoll( matrix AffineMatrix , angleInDegrees Double precision ] ) : AffineMatrixbasereturn a BLOB-encoded Affine Transformation matrix by chaining a further Rotate (along the Y axis) to a previous transformation matrix.
    - will return NULL on invalid argument.
    ATM_DeterminantATM_Determinant( matrix AffineMatrix ] ) : Double precisionbasereturn the Determinant from an Affine Transformation matrix.
    - will return 0.0 on invalid argument.
    ATM_IsInvertibleATM_IsInvertible( matrix AffineMatrix ] ) : Integerbasereturn 1 if the Affine Transformation matrix can be inverted, 0 if not.
    - will return -1 on invalid argument.
    ATM_InvertATM_Invert( matrix AffineMatrix ] ) : AffineMatrixbasereturn an inverted Affine Transformation matrix.
    - will return NULL on invalid argument.
    ATM_IsValidATM_IsValid( matrix AffineMatrix ] ) : Integerbasereturn 1 if the BLOB argument really contains a valid Affine Transformation matrix, 0 if not.
    - will return -1 on invalid argument.
    ATM_AsTextATM_AsText( matrix AffineMatrix ] ) : Textbasereturn a serialized text string corresponding to an Affine Transformation matrix.
    - will return NULL on invalid argument.
    ATM_TransformATM_Transform( geom Geometry , matrix AffineMatrix [ , newSRID Integer ] ) : Geometrybasereturn a geometric object obtained by applying an Affine Transformation; if the optional arg newSRID is defined then the returned Geometry will assume the corresponding - Reference System, otherwise it will preserve the same Reference System of the input Geometry.
    - will return NULL on invalid arguments.
    GCP_ComputeGCP_Compute( pointA Geometry , pointB Geometry [ order Integer] ) : PolynomialCoeffsGrassGis code
    GPLv2+
    return BLOB-encoded objects containing Polynomial coefficients computed from a set of matching Ground Control Points pairs. -
      -
    • pointA corresponds to the origin Reference System; pointB corresponds to the destination target.
    • -
    • the input Geometries must be of the Point type and must have the same dimensions
    • -
    • if the points have XYZ or XYZM dimensions then 3D coeffs will be returned, otherwise 2D coeffs will be return.
    • -
    • the optional order argument can assume the following values: -
        -
      • 0: a set of 2D coeffs will be returned by applying the Thin Plate Spline method.
      • -
      • 1: (default setting) a set of 2D or 3D Polynomial coeffs of the 1st order will be returned.
      • -
      • 2: a set of 2D or 3D Polynomial coeffs of the 2nd order will be returned.
      • -
      • 3: a set of 2D or 3D Polynomial coeffs of the 3rd order will be returned.
      • -
    • -

    - will return NULL on invalid arguments
    - aggreagate function
    GCP_IsValidGCP_IsValid( matrix PolynomialCoeffs ] ) : IntegerGrassGis code
    GPLv2+
    return 1 if the BLOB argument really contains valid Polynomial coeffs, 0 if not.
    - will return -1 on invalid argument.
    GCP_AsTextGCP_AsText( matrix PolynomialCoeffs ] ) : TextGrassGis code
    GPLv2+
    return a serialized text string corresponding to the Polynomial coeffs.
    - will return NULL on invalid argument.
    GCP2ATMGCP2ATM( matrix PolynomialCoeffs ] ) : AffineMatrixGrassGis code
    GPLv2+
    return an Affine Transformation matrix corresponding to the Polynomial coeffs.
    - Only a set of Polynomial coeffs of the 1st order can be converted to an Affine Transformation matrix.
    - will return NULL on invalid argument.
    GCP_TransformGCP_Transform( geom Geometry , coeffs PolynomialCoeffs [ , newSRID Integer ] ) : GeometryGrassGis code
    GPLv2+
    return a geometric object obtained by applying a Transformation based on Polynomial coefficients of the 1st, 2nd or 3rd order; if the optional arg newSRID is defined then the returned Geometry will assume the corresponding - Reference System, otherwise it will preserve the same Reference System of the input Geometry.
    - will return NULL on invalid arguments.

    SQL functions for Spatial-MetaData and Spatial-Index handling

    Function Syntax OGC
    defined
    CreateTopologyTablesCreateTopologyTables( SRID Integer , dims : String ) : Integer
    + CreateTopologyTables( prefix String , SRID Integer , dims : String ) : Integer
    baseCreates a set of Topology tables +
      +
    • SRID argument is mandatory
    • +
    • dims argument must be 'XY' or 'XYZ':
      + 2 or 3 are valid aliases
    • +
    • the optional argument prefix can be used to support more Topology sets on the same DB:
      + if omitted a "topo_" prefix will be assumed by default
    • +

    +the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure)
    CreateRasterCoveragesTable CreateRasterCoveragesTable( void ) : Integer base Creates the raster_coverages table required by RasterLite-2
    @@ -3024,31 +2694,10 @@
  • if the optional coverage_name argument is set then only that single Vector Coverage will be updated; otherwise all registered Vector Coverages will be processed in a single pass (may require a long time).
  • if the optional transaction argument is set to TRUE then the whole operation will be internally handled as a single SQL Transaction.

  • -the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be - returned on invalid arguments.
    SE_RegisterVectorCoverageKeywordSE_RegisterVectorCoverageeKeyword( coverage_name String , keyword String ) : Integerlibxml2Adds a keyword to an already defined Vector Coverage. -
      -
    • coverage_name must identify an existing Vector Coverage.
    • -
    • keyword must not be already defined for the same Coverage.
    • -

    -the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be - returned on invalid arguments.
    SE_UnregisterVectorCoverageKeywordSE_UnregisterVectorCoverageKeyword( coverage_name String , keyword String ) : Integerlibxml2Removes an already defined keyword from a Vector Coverage. -
      -
    • coverage_name and keyword must identify some previously defined keyword.
    • -

    the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be returned on invalid arguments.
    SE_RegisterExternalGraphic SE_RegisterExternalGraphic( xlink_href String , resource BLOB ) : Integer
    SE_RegisterExternalGraphic( xlink_href String , resource BLOB , title String , abstract String , file_name String ) : Integer
    SE_RegisterRasterCoverageKeywordSE_RegisterRasterCoverageKeyword( coverage_name String , keyword String ) : Integerlibxml2Adds a keyword to an already defined Raster Coverage. -
      -
    • coverage_name must identify an existing Raster Coverage.
    • -
    • keyword must not be already defined for the same Coverage.
    • -

    -the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be - returned on invalid arguments.
    SE_UnregisterRasterCoverageKeywordSE_UnregisterRasterCoverageKeyword( coverage_name String , keyword String ) : Integerlibxml2Removes an already defined keyword from a Raster Coverage. -
      -
    • coverage_name and keyword must identify some previously defined keyword.
    • -

    the return type is Integer, with a return value of 1 for TRUE (success) or 0 for FALSE (failure): -1 will be returned on invalid arguments.
    SE_SetStyledGroupInfos SE_SetStyledGroupInfos( group_name String , title String , abstract String ) : Integer XB_IsSvg( xmlObject XmlBLOB ) : Integer libxml2 The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN corresponding to a function invocation on NULL arguments.
    XB_IsGpxXB_IsGpx( xmlObject XmlBLOB ) : Integerlibxml2The return type is Integer, with a return value of 1 for TRUE, 0 for FALSE, and –1 for UNKNOWN - corresponding to a function invocation on NULL arguments.
    XB_GetDocumentSize XB_GetDocumentSize( xmlObject XmlBLOB ) : Integer libxml2 Will return the size in bytes of the corresponding uncompressed XmlDocument.
    @@ -4018,17 +3640,10 @@
    XB_GetGeometry( xmlObject XmlBLOB ) : Geometry libxml2 Will return the Geometry (Bounding Box) defined within the XmlBLOB (if any).
    NULL will be returned for any invalid input (not a valid XmlBLOB object), or when no Bounding Box is defined.
    Supported only on ISO Metadata XML Documents.
    XB_MLineFromGPXXB_MLineFromGPX( xmlObject XmlBLOB ) : Geometrylibxml2Will return a Geometry of the MULTILINESTRING XYZM type by parsing an XmlBLOB corresponding to a GPX document.
    - NULL will be returned for any invalid input (not a valid XmlBLOB object), or when a valid XmlBLOB does not contains a GPX document, or when a valid GPX - does not contains any <trk> tag.
    XB_GetLastParseError XB_GetLastParseError( void ) : String libxml2 Will return the most recent XML parsing error (if any).
    @@ -4090,21 +3705,21 @@
    Syntax Summary
    SridIsGeographic SridIsGeographic( SRID Integer ) : Integer Will inspect the SRID definitions checking if the SRID is of the Geographic type;
    - will return 1 (i.e. TRUE) or 0 (i.e. FALSE).
    + will return 1 (i.e. TRUE or 0 (i.e. FALSE).
    NULL will be returned on invalid argument or if the SRID is undefined.
    SridIsProjected SridIsProjected( SRID Integer ) : Integer Will inspect the SRID definitions checking if the SRID is of the Projected type;
    - will return 1 (i.e. TRUE) or 0 (i.e. FALSE).
    + will return 1 (i.e. TRUE or 0 (i.e. FALSE).
    NULL will be returned on invalid argument or if the SRID is undefined.
    SridHasFlippedAxes SridHasFlippedAxes( SRID Integer ) : IntegerWill inspect the SRID definitions checking if the SRID requires a flipped Axes configuration: i.e. Y,X instead of the most usual X,Y;
    - will return 1 (i.e. TRUE) or 0 (i.e. FALSE).
    +
    Will inspect the SRID definitions checking if the SRID requires a flipped Axes configuration: i.e. Y,X instead of the most usual X.Y;
    + will return 1 (i.e. TRUE or 0 (i.e. FALSE).
    NULL will be returned on invalid argument or if the SRID is undefined.
    SridGetSpheroid SridGetSpheroid( SRID Integer ) : Text
    SridGetEllipsoid( SRID Integer ) : Text
    Will inspect the SRID definitions then returning the appropriate Spheroid name.
    @@ -4140,914 +3755,10 @@
    SridGetAxis_2_Orientation SridGetAxis_2_Orientation( SRID Integer ) : Text Will inspect the SRID definitions then returning the appropriate Orientation for its second axis.
    NULL will be returned on invalid argument or if the SRID is undefined.
    -

    SQL functions supporting Topology-Geometry

    FunctionSyntaxISO 13249-3
    defined
    required
    module
    Summary
    GetLastTopologyExceptionGetLastTopologyException( toponame Text ) : TextRTTOPOWill return the most recent exception raised by this Topo-Geo, or NULL if no exception is currently pending.
    InitTopoGeoST_InitTopoGeo( toponame Text ) : IntegerXRTTOPOThis SQL function is explicitly required by ISO 13249-3, anyway it's simply implemented as an alias-name for CreateTopology ( toponame ).
    - Will return 1 on success) or 0 on failure: -1 will be returned on invalid arguments.
    CreateTopologyCreateTopology( toponame Text ) : Integer
    - CreateTopology( toponame Text , srid Integer ) : Integer
    - CreateTopology( toponame Text , srid Integer , has_z Boolean ) : Integer
    - CreateTopology( toponame Text , srid Integer , has_z Boolean , tolerance Double precision ) : Integer
    RTTOPOWill create all DBMS objects (tables, triggers, indices and alike) required in order to store a separate Topo-Geo. -
      -
    • toponame: the individual unique name of this Topo-Geo: all subordinated tables will use it as a prefix.
    • -
    • srid: the Spatial Reference System supporting this Topo-Geo (-1 by default).
    • -
    • has_z: if set to TRUE this Topo-Geo will support 3D - XYZ coordinates (FALSE by default).
    • -
    • tolerence: the standard tolerance to be applied to this Topo-Geo. (0.0 by default, i.e. no tolerance at all).
    • -
    - Will return 1 on success) or 0 on failure: an exception will be raised while passing a negative tolerance value.
    DropTopologyDropTopology( toponame Text ) : IntegerRTTOPOCompletely removes a Topo-Geo (and all data it contains) from the DBMS: to be invoked very cautiously and only if you are absolutely sure of what you are doing.
    - Will return 1 on success) or 0 on failure: -1 will be returned on invalid arguments.
    AddIsoNodeST_AddIsoNode( toponame Text , face-id Integer , point Geometry ) : IntegerXRTTOPOWill add a new isolated Node; face-id is expected to exactly match the ID of the Face containing point; by passing a - NULL face-id the function itself will take care to identify the appropriate Face.
    - Will return the ID of the inserted Node on success; an exception will be raised on failure.
    MoveIsoNodeST_MoveIsoNode( toponame Text , node-id Integer , point Geometry ) : TextXRTTOPOWill move an isolated Node from a point to another.
    - Will return a text message on success; an exception will be raised on failure.
    RemIsoNodeST_RemIsoNode( toponame Text , node-id Integer ) : TextXRTTOPOWill remove an isolated Node.
    - Will return a text message on success; an exception will be raised on failure.
    AddIsoEdgeST_AddIsoEdge( toponame Text , startnode-id Integer , endnode-id Integer , linestring Geometry ) : IntegerXRTTOPOWill add a new isolated Edge connecting two isolated Nodes.
    - Will return the ID of the inserted Edge on success; an exception will be raised on failure.
    ChangeEdgeGeomST_ChangeEdgeGeom( toponame Text , edge-id Integer , linestring Geometry ) : TextXRTTOPOWill change the geometry of an Edge without affecting Topology relationships.
    - Will return a text message on success; an exception will be raised on failure.
    RemIsoEdgeST_RemIsoEdge( toponame Text , edge-id Integer ) : TextXRTTOPOWill remove an isolated Edge.
    - Will return a text message on success; an exception will be raised on failure.
    NewEdgesSplitST_NewEdgesSplit( toponame Text , edge-id Integer , point Geometry ) : IntegerXRTTOPOWill split an Edge by creating a new intermediate Node. The original Edge will be deleted and will be replaced by two new Edges.
    - Will return the ID of the inserted Node on success; an exception will be raised on failure.
    ModEdgeSplitST_ModEdgeSplit( toponame Text , edge-id Integer , point Geometry ) : IntegerXRTTOPOWill split an Edge by creating a new intermediate Node. The original Edge will be modified and a new Edge will be inserted.
    - Will return the ID of the inserted Node on success; an exception will be raised on failure.
    NewEdgeHealST_NewEdgeHeal( toponame Text , edge1-id Integer , edge2-id Integer ) : IntegerXRTTOPOWill heal two Edges by deleting the Node connecting them. Both the original Edges will be deleted and will be replaced by - a new Edge preserving the same orientation of the first Edge provided.
    - Will return the ID of the removed Node on success; an exception will be raised on failure.
    ModEdgeHealST_ModEdgeHeal( toponame Text , edge1-id Integer , edge2-id Integer ) : IntegerXRTTOPOWill heal two Edges by deleting the Node connecting them. The first Edge provided will be modified and the second deleted.
    - Will return the ID of the removed Node on success; an exception will be raised on failure.
    AddEdgeNewFacesST_AddEdgeNewFaces( toponame Text , startnode-id Integer , endnode-id Integer , linestring Geometry ) : IntegerXRTTOPOWill add a new Edge connecting two Nodes. If this new Edge splits a Face the original Face will be deleted and replaced by two new Faces.
    - Will return the ID of the inserted Edge on success; an exception will be raised on failure.
    AddEdgeModFaceST_AddEdgeModFace( toponame Text , startnode-id Integer , endnode-id Integer , linestring Geometry ) : IntegerXRTTOPOWill add a new Edge connecting two Nodes. If this new Edge splits a Face the original Face will be modified and a new Face will be inserted.
    - Will return the ID of the inserted Edge on success; an exception will be raised on failure.
    RemEdgeNewFaceST_RemEdgeNewFace( toponame Text , edge-id Integer ) : IntegerXRTTOPOWill remove an Edge. If the removed Edge separated two Faces the original Faces will be deleted and replaced by a new Face.
    - Will return the ID of the inserted Face on success; an exception will be raised on failure.
    RemEdgeModFaceST_RemEdgeModFace( toponame Text , edge-id Integer ) : IntegerXRTTOPOWill remove an Edge. If the removed Edge separated two Faces one of then will be modified and the other deleted.
    - Will return the ID of the surviving Face on success; an exception will be raised on failure.
    GetFaceGeometryST_GetFaceGeometry( toponame Text , face-id Integer ) : GeometryXRTTOPOWill return the exact Geometry of a Face.
    - Will return a Polygon on success; an exception will be raised on failure.
    GetFaceEdgesST_GetFaceEdges( toponame Text , face-id Integer ) : DB-tableXRTTOPOWill update a DB-Table containing the ordered list of all Edges delimiting the given Face. - The orientation will always be counterclockwise, and all Edges traversed in the opposite direction (i.e. from end to start) will be marked by a negative sign.
    - Will return NULL on success; an exception will be raised on failure.
    ValidateTopoGeoST_ValidateTopoGeo( toponame Text ) : DB-tableXRTTOPOWill create a DB-Table containing a validation report for the given TopoGeo: if the output table is empty and no exception was raised - the Topology is assumed to be fully valid, otherwise a row will be inserted into the table for each detected Topology invalidity.
    - If the destination table already exists it will be dropped and created yet again.
    - Will return NULL on success; an exception will be raised on failure.
    CreateTopoGeoST_CreateTopoGeo( toponame Text , geometry BLOB )XRTTOPOWill populate a full Topology by importing a collection of arbitrary Geometries.
    - The destination Topology must already exists and must be empty; both SRID and dimensions of input Geometries must match SRID and dimensions declared by Topology.
    - Will return NULL on success; an exception will be raised on failure.
    GetNodeByPointGetNodeByPoint( toponame Text , point Geometry ) : Integer
    - GetNodeByPoint( toponame Text , point Geometry , tolerance Double precision ) : Integer
    RTTOPOWill attempt to find the ID of a Node located at Point. -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.

    - Will return the ID of the Node on success; an exception will be raised on failure.
    GetEdgeByPointGetEdgeByPoint( toponame Text , point Geometry ) : Integer
    - GetEdgeByPoint( toponame Text , point Geometry , tolerance Double precision ) : Integer
    RTTOPOWill attempt to find the ID of an Edge intersecting the given Point. -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.

    - Will return the ID of the Edge on success; an exception will be raised on failure.
    GetFaceByPointGetFaceByPoint( toponame Text , point Geometry ) : Integer
    - GetFaceByPoint( toponame Text , point Geometry , tolerance Double precision ) : Integer
    RTTOPOWill attempt to find the ID of a Face intersecting the given Point. -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.

    - Will return the ID of the Face on success; an exception will be raised on failure.
    TopoGeo_AddPointTopoGeo_AddPoint( toponame Text , point Geometry ) : Text
    - TopoGeo_AddPoint( toponame Text , point Geometry , tolerance Double precision ) : Text
    RTTOPOWill attempt to add a Point (or even a MultiPoint) to an already existing Topology, possibly splitting existing Edges. -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.

    - Will return a comma separated list of all IDs of corresponding Nodes on success; an exception will be raised on failure.
    TopoGeo_AddLineStringTopoGeo_AddLineString( toponame Text , linestring Geometry ) : Integer
    - TopoGeo_AddLineString( toponame Text , linestring Geometry , tolerance Double precision ) : Integer
    RTTOPOWill attempt to add a Linestring (or even a MultiLinestring) to an already existing Topology, possibly splitting existing Edges/Faces. -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.

    - Will return a comma separated list of all IDs of the corresponding Edges on success; an exception will be raised on failure.
    TopoGeo_AddLineStringNoFaceTopoGeo_AddLineStringNoFace( toponame Text , linestring Geometry ) : Integer
    - TopoGeo_AddLineStringNoFace( toponame Text , linestring Geometry , tolerance Double precision ) : Integer
    RTTOPOVery similar to TopoGeo_AddLinestring except for a very critical difference. - This function is strongly optimized for maximum speed, and will just update Nodes and Edges purposely ignoring Faces.
    - Consequently it will always leave the target Topology in an inconsistent state; only after executing TopoGeo_Polygonize() all Faces will be - properly restored and the target Topology will finally resume a consistent state. -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.

    - Will return a comma separated list of all IDs of the corresponding Edges on success; an exception will be raised on failure.
    TopoGeo_TopoSnapTopoGeo_TopoSnap( toponame Text , input Geometry , iterate Integer , remove_vertices Integer ) : Geometry
    - TopoGeo_TopoSnap( toponame Text , input Geometry , iterate Integer , remove_vertices Integer , toleranceDouble precision ) : Geometry
    RTTOPOWill attempt to snap (i.e. renode) the input Geometry (any type) against the Topology identified by toponame. -
      -
    • both arguments iterate and remove_vertices are intended to be Boolean (0 = FALSE, any other value = TRUE).
    • -
    • if argument iterate is set to TRUE the input Geometry will be iteratively processed until no more snaps are found.
    • -
    • if argument remove_vertices is set to TRUE any vertex falling within the tolerance radius will be removed.
    • -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.
    • -

    - Will return a snapped Geometry on success; an exception will be raised on failure.
    TopoGeo_SnappedGeoTableTopoGeo_SnappedGeoTable( toponame Text , db-prefix Text , table-name Text , column-name Text , output-table Text , - iterate Integer , remove_vertices Integer ) : Integer
    - TopoGeo_SnappedGeoTable( toponame Text , db-prefix Text , table-name Text , column-name Text , output-table Text , - iterate Integer , remove_vertices Integer , tolerance Double precision ) : Integer
    RTTOPOWill attempt to create and populate an output-table by snapping against the Topology identified by toponame all Geometries - from an input GeoTable identified by db-prefix, table-name and column-name. -
      -
    • db-prefix can be NULL, and in this case the input GeoTable is expected to be located within the "MAIN" database.
    • -
    • column-name too can be NULL, and in this case the name of the column containing Geometries will be automatically retrieved; - if "db"."table" does not contains any Geometry column, or if it contains two or more Geometries an exception will be raised.
    • -
    • the input GeoTable must be properly registered and must match both SRID and dimensions declared by the target Topology.
    • -
    • this function accepts input Geometries of any class: Point, MultiPoint, Linestring, MultiLinestring, - Polygon, MultiPolygon, GeometryCollection and Geometry.
    • -
    • arguments iterate and remove_vertices will be interpreted in the same way adopted by TopoGeo_TopoSnap().
    • -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_SubdivideLinesTopoGeo_SubdivideLines( input Geometry , line_max_points Integer ) : MultiLinestring
    - TopoGeo_SubdivideLines( input Geometry , line_max_points Integer , line_max_length Double precision ) : MultiLinestring
    RTTOPOWill attempt to split a Linestring (or even a MultiLinestring, Polygon or Multipolygon) into a collection - of shorter LineStrings fully respecting Topology consistency. -
      -
    • if argument line_max_points is set to a positive value (>= 2) then all input Linestrings will be split into many - shorter lines having no more than the required number of points.
    • -
    • if argument line_max_length is set to a positive value, in units of the SRID, then a separate output line will be split every time - that it becomes longer than the allowed limit.
    • -
    • either line_max_point and line_max_length can assume a NULL value, this intending ignore.
    • -
    • if both line_max_point and line_max_length are active at the same time then the first limit encountered will apply.
    • -
    • in any other case all input Linestrings will be simply copied into the output collection exactly as they are.
    • -

    - Will return a MultiLinestring Geometry on success; an exception will be raised on failure.
    TopoGeo_FromGeoTableTopoGeo_FromGeoTable( toponame Text , db-prefix Text , table-name Text , column-name Text ) : Integer
    - TopoGeo_FromGeoTable( toponame Text , db-prefix Text , table-name Text , column-name Text , line_max_points Integer ) : Integer
    - TopoGeo_FromGeoTable( toponame Text , db-prefix Text , table-name Text , column-name Text , line_max_points Integer , - line_max_length Double precision ) : Integer
    - TopoGeo_FromGeoTable( toponame Text , db-prefix Text , table-name Text , column-name Text , line_max_points Integer , - line_max_length Double precision , tolerance Double precision ) : Integer
    RTTOPOWill attempt to import all Geometries from an input GeoTable identified by db-prefix, table-name and column-name into an already existing Topology-Geometry. -
      -
    • db-prefix can be NULL, and in this case the input GeoTable is expected to be located within the "MAIN" database.
    • -
    • column-name too can be NULL, and in this case the name of the column containing Geometries will be automatically retrieved; - if "db"."table" does not contains any Geometry column, or if it contains two or more Geometries an exception will be raised.
    • -
    • the input GeoTable must be properly registered and must match both SRID and dimensions declared by the target Topology.
    • -
    • this function accepts input Geometries of any class: Point, MultiPoint, Linestring, MultiLinestring, - Polygon, MultiPolygon, GeometryCollection and Geometry.
    • -
    • The optional arguments line_max_points and line_max_length will be interpreted in the same way adopted by TopoGeo_SubdivideLines() - (default for both: NULL, this meaning ignore).
    • -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_FromGeoTableNoFaceTopoGeo_FromGeoTableNoFace( toponame Text , db-prefix Text , table-name Text , column-name Text ) : Integer
    - TopoGeo_FromGeoTableNoFace( toponame Text , db-prefix Text , table-name Text , column-name Text , line_max_points Integer ) : Integer
    - TopoGeo_FromGeoTableNoFace( toponame Text , db-prefix Text , table-name Text , column-name Text , line_max_points Integer , - line_max_length Double precision ) : Integer
    - TopoGeo_FromGeoTableNoFace( toponame Text , db-prefix Text , table-name Text , column-name Text , line_max_points Integer , - line_max_length Double precision , tolerance Double precision ) : Integer
    RTTOPOVery similar to TopoGeo_FromGeoTable except for a very critical difference. - This function is strongly optimized for maximum speed, and will just update Nodes and Edges purposely ignoring Faces.
    - Consequently it will always leave the target Topology in an inconsistent state; only after executing TopoGeo_Polygonize() all Faces will be - properly restored and the target Topology will finally resume a consistent state.
    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_FromGeoTableExtTopoGeo_FromGeoTableExt( toponame Text , db-prefix Text , table-name Text , column-name Text , dustbin-table Text , - dustbin-view Text ) : Integer
    - TopoGeo_FromGeoTableExt( toponame Text , db-prefix Text , table-name Text , column-name Text , dustbin-table Text , - dustbin-view Text , line_max_points Integer ) : Integer
    - TopoGeo_FromGeoTableExt( toponame Text , db-prefix Text , table-name Text , column-name Text , dustbin-table Text , - dustbin-view Text , line_max_points Integer , line_max_length Double precision ) : Integer
    - TopoGeo_FromGeoTableExt( toponame Text , db-prefix Text , table-name Text , column-name Text , dustbin-table Text , - dustbin-view Text , line_max_points Integer , line_max_length Double precision , tolerance Double precision ) : Integer
    RTTOPOWill attempt to import all Geometries from an input GeoTable identified by db-prefix, table-name and column-name into an already existing Topology-Geometry. - When some Topology expection is encounterd this function will never stop: the Primary Key corresponding to the failing feature will be saved into the dustbin-table, - and the loading process will restart from the next feature until all input features will be consumed. -
      -
    • db-prefix can be NULL, and in this case the input GeoTable is expected to be located within the "MAIN" database.
    • -
    • column-name too can be NULL, and in this case the name of the column containing Geometries will be automatically retrieved; - if "db"."table" does not contains any Geometry column, or if it contains two or more Geometries an exception will be raised.
    • -
    • the input GeoTable must be properly registered and must match both SRID and dimensions declared by the target Topology.
    • -
    • the input GeoTable is absolutely required to declare a Primary Key.
    • -
    • this function accepts input Geometries of any class: Point, MultiPoint, Linestring, MultiLinestring, - Polygon, MultiPolygon, GeometryCollection and Geometry.
    • -
    • dustbin-table is the name of the table intended to store PK values corresponding to features failing to be imported; this table should not already exist - and will be automatically created by the function itself.
    • -
    • dustbin-view is the name of the Spatial View supporting the above table; this view should not already exist - and will be automatically created by the function itself.
      - Note: both the dustbin-table and the dustbin-view will be always created on the same DB containing the input GeoTable.
    • -
    • The optional arguments line_max_points and line_max_length will be interpreted in the same way adopted by TopoGeo_SubdivideLines() - (default for both: NULL, this meaning ignore).
    • -
    • The optional argument tolerance if omitted will assume the corresponding value declared when creating the target Topology.
    • -

    - Will return 0 on full success or a positive integer corresponding to the total count of failing features referenced by the dustbin table.
    - An exception will be raised only on wrong arguments.
    TopoGeo_FromGeoTableNoFaceExtTopoGeo_FromGeoTableNoFaceExt( toponame Text , db-prefix Text , table-name Text , column-name Text , dustbin-table Text , - dustbin-view Text ) : Integer
    - TopoGeo_FromGeoTableNoFaceExt( toponame Text , db-prefix Text , table-name Text , column-name Text , dustbin-table Text , - dustbin-view Text , line_max_points Integer ) : Integer
    - TopoGeo_FromGeoTableNoFaceExt( toponame Text , db-prefix Text , table-name Text , column-name Text , dustbin-table Text , - dustbin-view Text , line_max_points Integer , line_max_length Double precision ) : Integer
    - TopoGeo_FromGeoTableNoFaceExt( toponame Text , db-prefix Text , table-name Text , column-name Text , dustbin-table Text , - dustbin-view Text , line_max_points Integer , line_max_length Double precision , tolerance Double precision ) : Integer
    RTTOPOVery similar to TopoGeo_FromGeoTableExt except for a very critical difference. - This function is strongly optimized for maximum speed, and will just update Nodes and Edges purposely ignoring Faces.
    - Consequently it will always leave the target Topology in an inconsistent state; only after executing TopoGeo_Polygonize() all Faces will be - properly restored and the target Topology will finally resume a consistent state.
    - Will return 0 on full success or a positive integer corresponding to the total count of failing features referenced by the dustbin table.
    - An exception will be raised only on wrong arguments.
    TopoGeo_PolygonizeTopoGeo_Polygonize( toponame Text )
    - TopoGeo_Polygonize( toponame Text , force_rebuild Boolean )
    RTTOPOWill remove all existing Faces from a Topology then rebuilding all them by scratch. -
      -
    • If the Topology already is in a fully consistent state (i.e. all Edges are found to be assigned to their corresponding Faces) the function will immediately return - whithout taking any action.
    • -
    • If the Topology is in an inconsistent state (i.e. some Edges are found lacking their corresponding Faces (preasumably due to previous calls to TopoGeo_AddLinesStringNoFace, - TopoGeo_FromGeoTableNoFace and/or TopoGeo_FromGeoTableNoFaceExt) the function will effectively rebuild all Faces from scratch.
    • -
    • If the optional argument force_rebuild is set to TRUE (not 0) all Faces will be unconditionally rebuilt.
    • -
    - Caveat: for efficiency/speed reasons this function requires a substantial amount of available RAM: any attempt to process a very - huge Topology on a platform supporting a very limited amount of RAM will probably fail due to insufficient memory errors.
    - Will return NULL on full success; an exception will be raised on failure.
    TopoGeo_RemoveSmallFacesTopoGeo_RemoveSmallFaces( toponame Text , min-area Double precision ) : IntegerRTTOPOWill remove from the given Topology all Faces presenting an area smaller than min-area.
    - Will return 1 on full success; an exception will be raised on failure.
    TopoGeo_RemoveDanglingEdgesTopoGeo_RemoveDanglingEdges( toponame Text ) : IntegerRTTOPOWill remove from the given Topology all dangling Edges.
    - Will return 1 on full success; an exception will be raised on failure.
    TopoGeo_RemoveDanglingNodesTopoGeo_RemoveDanglingNodes( toponame Text ) : IntegerRTTOPOWill remove from the given Topology all dangling Nodes.
    - Will return 1 on full success; an exception will be raised on failure.
    TopoGeo_NewEdgeHealTopoGeo_NewEdgeHeal( toponame Text ) : IntegerRTTOPOWill remove from the given Topology all unnecessary Nodes.
    - An unnecessary Node is one connected to exactly two Edges whilst both Edges share the same two Faces; it's obvious that such a Node could be safely removed giving birth to a single Edge - without altering in any way the Topological self-consistency.
    - All unnecessary Nodes identified by this function will be removed by implicitly calling ST_NewEdgeHeal()
    - Will return 1 on full success; an exception will be raised on failure.
    TopoGeo_ModEdgeHealTopoGeo_ModEdgeHeal( toponame Text ) : IntegerRTTOPOWill remove from the given Topology all unnecessary Nodes.
    - An unnecessary Node is one connected to exactly two Edges whilst both Edges share the same two Faces; it's obvious that such a Node could be safely removed giving birth to a single Edge - without altering in any way the Topological self-consistency.
    - All unnecessary Nodes identified by this function will be removed by implicitly calling ST_ModEdgeHeal()
    - Will return 1 on full success; an exception will be raised on failure.
    TopoGeo_CloneTopoGeo_Clone( toponame Text , new-toponame Text ) : IntegerRTTOPOWill clone an existing Topology into another; the destionation Topology shall not exist and will be automatically created.
    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_GetEdgeSeedTopoGeo_GetEdgeSeed( toponame Text , edge-id Integer ) : GeometryXRTTOPOWill return a Point Geometry uniquely identifying an Edge (i.e. spatially intersecting the Edge).
    - Will return a Point on success; an exception will be raised on failure.
    TopoGeo_GetFaceSeedTopoGeo_GetFaceSeed( toponame Text , face-id Integer ) : GeometryXRTTOPOWill return a Point Geometry uniquely identifying a Face (i.e. spatially intersecting the Face).
    - Will return a Point on success; an exception will be raised on failure.
    TopoGeo_SnapPointToSeedTopoGeo_SnapPointToSeed( point Geometry , toponame Text , distance Double ) : GeometryXRTTOPOWill possibly return a new Point precisely snapped to the nearset TopoNode within the given distance; if no such TopoNode exists NULL will be returned.
    - An exception will be raised on invalid arguments.
    TopoGeo_SnapLineToSeedTopoGeo_SnapLineToSeed( line Geometry , toponame Text , distance Double ) : GeometryXRTTOPOWill possibly return a new Linestring precisely snapped to the nearset Edge TopoSeed within the given distance; if no such TopoSeed exists NULL will be returned.
    - An exception will be raised on invalid arguments.
    TopoGeo_UpdateSeedsTopoGeo_UpdateSeeds( toponame Text ) : Integer
    - TopoGeo_UpdateSeeds( toponame Text , incremental-mode Integer ) : Integer
    XRTTOPOWill update all persistent Edge- and Face-Seeds so to correctly represent the current state of the underlaying Topology. -
      -
    • if the optional argument incremental-mode is set to TRUE an incremental update (faster) will be applied, - otherwise all persistent Seeds will be rebuilt from scratch (slower).
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_ToGeoTableTopoGeo_ToGeoTable( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, out-table Text ) : Integer
    - TopoGeo_ToGeoTable( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, out-table Text , with-spatial-index Boolenan ) : Integer
    RTTOPOWill attempt to export into an Output GeoTable all Geometries out from a Topology-Geometry matching (via Seed-based references) a given - Reference-GeoTable containing information attributes. -
      -
    • db-prefix can be NULL, and in this case the reference GeoTable is expected to be located within the "MAIN" database.
    • -
    • ref-column-name too can be NULL, and in this case the name of the column containing Geometries will be automatically retrieved; - if "db"."table" does not contains any Geometry column, or if it contains two or more Geometries an exception will be raised.
    • -
    • the reference GeoTable must be properly registered and must match both SRID and dimensions declared by the target Topology.
    • -
    • this function accepts input Geometries of any class: Point, MultiPoint, Linestring, MultiLinestring, - Polygon, MultiPolygon, GeometryCollection and Geometry.
    • -
    • the output GeoTable will be always located on the "MAIN" DB and must not exists; it will be automatically created with the same identical - attributes of the reference GeoTable.
    • -
    • all spatial features found into the reference GeoTable will be copied into the output GeoTable. All information attributes will be preserved - exactly as they are, and the feature's Geometry will be built by aggregating all Topology objects matching the reference Geometry by Seed correspondences.
      - If no matching Topology objectes are found the result will be a NULL output Geometry.
    • -
    • Please note: this function will automatically invoke TopoGeo_UpdateSeeds() (incremental mode).
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_ToGeoTableGeneralizeTopoGeo_ToGeoTableGeneralize( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, out-table Text , tolerance Double precision ) : Integer
    - TopoGeo_ToGeoTableGeneralize( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, out-table Text , tolerance Double precision , with-spatial-index Boolean ) : Integer
    RTTOPOExactly the same as TopoGeo_ToGeoTable() except in that all exported geometries will be simplified / generalized still maintaining full topological consistency. -
      -
    • tolerance represents the approximation radius required by the Douglas-Peuker simplification algorithm.
      -

    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_CreateTopoLayerTopoGeo_CreateTopoLayer( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, topolayer-name Text ) : Integer
    - TopoGeo_CreateTopoLayer( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, topolayer-name Text , is-view Boolean ) : Integer
    RTTOPOWill create a fully defined new TopoLayer starting from a reference GeoTable: -
      -
    • db-prefix can be NULL, and in this case the reference GeoTable is expected to be located within the "MAIN" database.
    • -
    • ref-column-name too can be NULL, and in this case the name of the column containing Geometries will be automatically retrieved; - if "db"."table" does not contains any Geometry column, or if it contains two or more Geometries an exception will be raised.
    • -
    • the reference GeoTable must be properly registered and must match both SRID and dimensions declared by the target Topology.
    • -
    • this function accepts input Geometries of any class: Point, MultiPoint, Linestring, MultiLinestring, - Polygon, MultiPolygon, GeometryCollection and Geometry.
    • -
    • if the optional boolean argument is-view is set to TRUE (any other value different from zero) then a View or a Table containing a unregistered Geometry column will - be accepted (FALSE by default).
      - In this case ref-column must be always explicitly defined, and must contain all Geometries matching both SRID and dimensions declared by the target Topology.
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_InitTopoLayerTopoGeo_InitTopoLayer( toponame Text , db-prefix Text , ref-table-name Text , topolayer-name Text ) : IntegerRTTOPOWill initialize a partialy defined new TopoLayer starting from a reference plain Table or View: -
      -
    • db-prefix can be NULL, and in this case the reference Table or View is expected to be located within the "MAIN" database.
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_RemoveTopoLayerTopoGeo_RemoveTopoLayer( toponame Text , topolayer-name Text ) : IntegerRTTOPOWill completely remove an existing TopoLayer.
    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_ExportTopoLayerTopoGeo_ExportTopoLayer( toponame Text , topolayer-name Text , out-table Text ) : Integer
    - TopoGeo_ExportTopoLayer( toponame Text , topolayer-name Text , out-table Text , with-spatial-index Boolean ) : Integer
    - TopoGeo_ExportTopoLayer( toponame Text , topolayer-name Text , out-table Text , with-spatial-index Boolean , create-only Boolean ) : Integer
    RTTOPOWill create and populate a GeoTable corresponding to a TopoLayer. -
      -
    • if the optional boolean argument with-spatial-index is set to TRUE (any other value different from zero) then a Spatial Index supporting - the output GeoTable will be automatically created (FALSE by default).
    • -
    • if the optional boolean argument create-only is set to TRUE (any other value different from zero) then the output GeoTable will be created - but will not be populated thus remaining completely empty (FALSE by default).
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoGeo_InsertFeatureFromTopoLayerTopoGeo_InsertFeatureFrom( toponame Text , topolayer-name Text , out-table Text , fid Integer ) : IntegerRTTOPOWill inserting a single TopoFeature identified by is fid into a GeoTable corresponding to a TopoLayer. -
      -
    • the output GeoTable must exist and is expected to be created by a previous call to TopoGeo_ExportTopoLayer().
    • -
    • the TopoFeature identified by fid must exist and a corresponding row must not be already inserted into the output GeoTable.
    • -

    - Will return 1 on success; an exception will be raised on failure.
    -

    SQL functions supporting Topology-Network

    FunctionSyntaxISO 13249-3
    defined
    required
    module
    Summary
    GetLastNetworkExceptionGetLastNetworkException( netname Text ) : TextRTTOPOWill return the most recent exception raised by this Topo-Net, or NULL if no exception is currently pending.
    InitTopoNetST_InitTopoNet( netname Text ) : IntegerXRTTOPOThis SQL function is explicitly required by ISO 13249-3, anyway it's simply implemented as an alias-name for CreateNetwork ( netname ).
    - Will return 1 on success) or 0 on failure: -1 will be returned on invalid arguments.
    CreateNetworkCreateNetwork( netname Text ) : Integer
    - CreateNetwork( netname Text , spatial Boolean ) : Integer
    - CreateNetwork( netname Text , spatial Boolean , srid Integer ) : Integer
    - CreateNetwork( netname Text , spatial Boolean , srid Integer , has_z Boolean ) : Integer
    - CreateNetwork( netname Text , spatial Boolean , srid Integer , has_z Boolean , allow_coincident Boolean ) : Integer
    RTTOPOWill create all DBMS objects (tables, triggers, indices and alike) required in order to store a separate Topo-Net. -
      -
    • netname: the individual unique name of this Topo-Net: all subordinated tables will use it as a prefix.
    • -
    • spatial: if set to TRUE this Topo-Net will be considered a Spatial-Network, otherwise a Logical-Network will be assumed (FALSE by default).
    • -
    • srid: the Spatial Reference System supporting this Topo-Net (-1 by default).
    • -
    • has_z: if set to TRUE this Topo-Net will support 3D - XYZ coordinates (FALSE by default).
    • -
    • allow_coincident: if set to FALSE all Node-on-Node, Link-on-Node or Node-on-Link conditions will raise an exception (TRUE by default).
    • -
    DropNetworkDropNetwork( netname Text ) : IntegerRTTOPOCompletely removes a Topo-Net (and all data it contains) from the DBMS: to be invoked very cautiously and only if you are absolutely sure of what you are doing.
    - Will return 1 on success) or 0 on failure: -1 will be returned on invalid arguments.
    AddIsoNetNodeST_AddIsoNetNode( netname Text , point Geometry ) : IntegerXRTTOPOWill add a new isolated NetNode.
    - Will return the ID of the inserted NetNode on success; an exception will be raised on failure.
    MoveIsoNetNodeST_MoveIsoNetNode( netname Text , node-id Integer , point Geometry ) : TextXRTTOPOWill move an isolated NetNode from a point to another.
    - Will return a text message on success; an exception will be raised on failure.
    RemIsoNetNodeST_RemIsoNetNode( netname Text , node-id Integer ) : TextXRTTOPOWill remove an isolated NetNode.
    - Will return a text message on success; an exception will be raised on failure.
    AddLinkST_AddLink( netname Text , startnode-id Integer , endnode-id Integer , linestring Geometry ) : IntegerXRTTOPOWill add a new Link connecting two NetNodes.
    - Will return the ID of the inserted Link on success; an exception will be raised on failure.
    ChangeLinkGeomST_ChangeLinkGeom( netname Text , link-id Integer , linestring Geometry ) : TextXRTTOPOWill change the geometry of a Link without affecting Topology relationships.
    - Will return a text message on success; an exception will be raised on failure.
    RemoveLinkST_RemoveLink( netname Text , link-id Integer ) : TextXRTTOPOWill remove a Link.
    - Will return a text message on success; an exception will be raised on failure.
    NewLogLinkSplitST_NewLogLinkSplit( netname Text , link-id Integer ) : IntegerXRTTOPOWill split a Link (of the Logical type) by creating a new intermediate NetNode. The original Link will be deleted and will be replaced by two new Links.
    - Will return the ID of the inserted Node on success; an exception will be raised on failure.
    ModLogLinkSplitST_ModLogLingSplit( netname Text , link-id Integer ) : IntegerXRTTOPOWill split a Link (of the Logical type) by creating a new intermediate NetNode. The original Link will be modified and a new Link will be inserted.
    - Will return the ID of the inserted Node on success; an exception will be raised on failure.
    NewGeoLinkSplitST_NewGeoLinkSplit( netame Text , link-id Integer , point Geometry ) : IntegerXRTTOPOWill split a Link (of the Spatial type) by creating a new intermediate NetNode. The original Link will be deleted and will be replaced by two new Links.
    - Will return the ID of the inserted NetNode on success; an exception will be raised on failure.
    ModGeoLinkSplitST_ModGeoLingSplit( netame Text , link-id Integer , point Geometry ) : IntegerXRTTOPOWill split a Link (of the Spatial type) by creating a new intermediate NetNode. The original Link will be modified and a new Link will be inserted.
    - Will return the ID of the inserted NetNode on success; an exception will be raised on failure.
    NewLinkHealST_NewLinkHeal( netname Text , link1-id Integer , link2-id Integer ) : IntegerXRTTOPOWill heal two Links by deleting the NetNode connecting them. Both the original Links will be deleted and will be replaced by - a new Link preserving the same orientation of the first Link provided.
    - Will return the ID of the removed NetNode on success; an exception will be raised on failure.
    ModLinkHealST_ModLinkHeal( netname Text , link1-id Integer , link2-id Integer ) : IntegerXRTTOPOWill heal two Links by deleting the NetNode connecting them. The first Link provided will be modified and the second deleted.
    - Will return the ID of the removed NetNode on success; an exception will be raised on failure.
    LogiNetFromTGeoST_LogiNetFromTGeo( netname Text , toponame Text ) : IntegerXRTTOPOWill create a Logical Topology-Network from an existing Topology-Geometry.
    - The destination TopoNet is expected to exist and to be completely empty.
    - Will return 1 on success; an exception will be raised on failure.
    - Calling this function on behalf of some Network of the Spatial type will raise an exception.
    SpatNetFromTGeoST_SpatNetFromTGeo( netname Text , toponame Text ) : IntegerXRTTOPOWill create a Spatial Topology-Network from an existing Topology-Geometry.
    - The destination TopoNet is expected to exist and to be completely empty.
    - Will return 1 on success; an exception will be raised on failure.
    - Calling this function on behalf of some Network of the Logical type will raise an exception; both the TopoNet - and the TopoGeo are expected to declared the same identical SRID and dimensions (2D or 3D), - otherwise an exception will be raised.
    SpatNetFromGeomST_SpatNetFromGeom( netname Text , geometry BLOB )XRTTOPOWill populate a full Network by importing a collection of arbitrary Geometries.
    - The destination Network must already exists and must be empty; both SRID and dimensions of input Geometries must match SRID and dimensions declared by Network.
    - Calling this function on behalf of some Network of the Logical type will raise an exception
    - Will return NULL on success; an exception will be raised on failure.
    ValidLogicalNetST_ValidLogicalNet( netname Text ) : DB-tableXRTTOPOWill create a DB-Table containing a validation report for the given TopoNet of the Logical type: if the output table is empty and no exception was raised - the Network is assumed to be fully valid, otherwise a row will be inserted into the table for each detected Topology invalidity.
    - If the destination table already exists it will be dropped and created yet again.
    - Will return NULL on success; an exception will be raised on failure.
    - Calling this function on behalf of some Network of the Spatial type will raise an exception.
    ValidSpatialNetST_ValidSpatialNet( netname Text ) : DB-tableXRTTOPOWill create a DB-Table containing a validation report for the given TopoNet of the Spatial type: if the output table is empty and no exception was raised - the Network is assumed to be fully valid, otherwise a row will be inserted into the table for each detected Topology invalidity.
    - If the destination table already exists it will be dropped and created yet again.
    - Will return NULL on success; an exception will be raised on failure.
    - Calling this function on behalf of some Network of the Logical type will raise an exception.
    GetNetNodeByPointGetNetNodeByPoint( netname Text , point Geometry ) : Integer
    - GetNetNodeByPoint( netname Text , point Geometry , tolerance Double precision ) : Integer
    RTTOPOWill attempt to find the ID of a NetNode located at Point. -
    • The optional argument tolerance if omitted will imply an exact coincidence (0.0 by default).

    - Will return the ID of the NetNode on success; an exception will be raised on failure.
    - Note: this function cannot be applied to a Logical Network
    GetLinkByPointGetLinkByPoint( netname Text , point Geometry ) : Integer
    - GetLinkByPoint( netname Text , point Geometry , tolerance Double precision ) : Integer
    RTTOPOWill attempt to find the ID of a Link intersecting the given Point. -
    • The optional argument tolerance if omitted will imply an exact coincidence (0.0 by default).

    - Will return the ID of the Link on success; an exception will be raised on failure.
    - Note: this function cannot be applied to a Logical Network
    TopoNet_FromGeoTableTopoNet_FromGeoTable( toponame Text , db-prefix Text , table-name Text , column-name Text ) : IntegerRTTOPOWill attempt to import all Geometries from an input GeoTable identified by db-prefix, table-name and column-name into an already existing Topology-Network. -
      -
    • db-prefix can be NULL, and in this case the input GeoTable is expected to be located within the "MAIN" database.
    • -
    • column-name too can be NULL, and in this case the name of the column containing Geometries will be automatically retrieved; - if "db"."table" does not contains any Geometry column, or if it contains two or more Geometries an exception will be raised.
    • -
    • the input GeoTable must be properly registered and must match both SRID and dimensions declared by the target Topology.
    • -
    • this function only accepts input Geometries of the Linestring or MultiLinestring classes.
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoNet_CloneTopoNet_Clone( netname Text , new-netname Text ) : IntegerRTTOPOWill clone an existing Network into another; the destionation Network shall not exist and will be automatically created.
    - Will return 1 on success; an exception will be raised on failure.
    TopoNet_GetLinkSeedTopoNet_GetLinkSeed( netname Text , link-id Integer ) : GeometryRTTOPOWill return a Point Geometry uniquely identifying a Link (i.e. spatially intersecting the Link).
    - Will return a Point on success; an exception will be raised on failure.
    TopoNet_UpdateSeedsTopoNet_UpdateSeeds( netname Text ) : Integer
    - TopoNet_UpdateSeeds( netname Text , incremental-mode Integer ) : Integer
    RTTOPOMWill update all persistent Link-Seeds so to correctly represent the current state of the underlaying Network. -
      -
    • if the optional argument incremental-mode is set to TRUE an incremental update (faster) will be applied, - otherwise all persistent Seeds will be rebuilt from scratch (slower).
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoNet_ToGeoTableTopoNet_ToGeoTable( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, out-table Text ) : Integer
    - TopoNet_ToGeoTable( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, out-table Text , with-spatial-index Boolean ) : Integer
    RTTOPOWill attempt to export into an Output GeoTable all Geometries out from a Topology-Network matching (via Seed-based references) a given - Reference-GeoTable containing information attributes. -
      -
    • db-prefix can be NULL, and in this case the reference GeoTable is expected to be located within the "MAIN" database.
    • -
    • ref-column-name too can be NULL, and in this case the name of the column containing Geometries will be automatically retrieved; - if "db"."table" does not contains any Geometry column, or if it contains two or more Geometries an exception will be raised.
    • -
    • the reference GeoTable must be properly registered and must match both SRID and dimensions declared by the target Network.
    • -
    • this function accepts input Geometries of the following classes: Point, MultiPoint, Linestring, MultiLinestring, - GeometryCollection and Geometry.
      - All areal Geometries (Polygon, MultiPolygon) will be always ignored.
    • -
    • the output GeoTable will be always located on the "MAIN" DB and must not exists; it will be automatically created with the same identical - attributes of the reference GeoTable.
    • -
    • all spatial features found into the reference GeoTable will be copied into the output GeoTable. All information attributes will be preserved - exactly as they are, and the feature's Geometry will be built by aggregating all Topology objects matching the reference Geometry by Seed correspondences.
      - If no matching Topology objectes are found the result will be a NULL output Geometry.
    • -
    • Please note: this function will automatically invoke TopoNet_UpdateSeeds() (incremental mode).
    • -

    - Will return 1 on success; an exception will be raised on failure.
    TopoNet_ToGeoTableGeneralizeTopoNet_ToGeoTableGeneralize( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, out-table Text , tolerance Double precision ) : Integer
    - TopoNet_ToGeoTableGeneralize( toponame Text , db-prefix Text , ref-table-name Text , ref-column-name Text, out-table Text , tolerance Double precision , with-spatial-index Boolean ) : Integer
    LRTTOPOExactly the same as TopoNet_ToGeoTable() except in that all exported geometries will be simplified / generalized still maintaining full topological consistency. -
      -
    • tolerance represents the approximation radius required by the Douglas-Peuker simplification algorithm.
    • -

    - Will return 1 on success; an exception will be raised on failure.
    -

    SQL functions supporting WMS datasources

    FunctionSyntaxSummary
    WMS_CreateTablesWMS_CreateTables() : IntegerCreates all DB Tables required for permanently egistering WMS datasources and their configurations.
    - Will return 1 on success; 0 on failure.
    WMS_RegisterGetCapabilitiesWMS_RegisterGetCapabilities( url Text ) : Integer
    - WMS_RegisterGetCapabilities( url Text , title Text , abstract Text ) : Integer
    Registers a WMS server.
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_UnRegisterGetCapabilitiesWMS_UnRegisterGetCapabilities( url Text ) : IntegerUnregisters a WMS server (and all related children).
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_SetGetCapabilitiesInfosWMS_SetGetCapabilitiesInfos( url Text , title Text , abstract Text )Sets or updates the Title and Abstract for the WMS server identified by url.
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_RegisterGetMapWMS_RegisterGetMap( getcapabilitites_url Text , getmap_url Text , layer_name Text , version Text, ref_sys Text , - image_format Text , style Text , is_transparent Boolean , flip_axes Boolean ) : Integer
    - WMS_RegisterGetMap( getcapabilitites_url Text , getmap_url Text , layer_name Text , version Text, ref_sys Text , - image_format Text , style Text , is_transparent Boolean , flip_axes Boolean , is_tiled Boolean , - is_cached Boolean , tile_width Integer , tile_height Integer ) : Integer
    - WMS_RegisterGetMap( getcapabilitites_url Text , getmap_url Text , layer_name Text , title Text , abstract Text , - version Text, ref_sys Text , image_format Text , style Text , is_transparent Boolean , flip_axes Boolean , - is_tiled Boolean , is_cached Boolean , tile_width Integer , tile_height Integer , bgcolor Text , - is_queryable Boolean , getfeatureinfo_url Text ) : Integer
    Registers a WMS layer. -
      -
    • getcapabilities_url: URL referencing the parent WMS GetCapabilities request (must be already registered).
    • -
    • getmap_url: base URL corresponding to the WMS GetMap request.
    • -
    • layer_name name of the WMS Layer.
    • -
    • title (optional arg): Title of the WMS Service.
    • -
    • abstract (optional arg): Abstract of the WMS Service.
    • -
    • version: version of the WMS protocol to be used for GetMap requests (e.g. '1.1.1' or '1.3.0').
    • -
    • ref_sys: reference system to be used for GetMap requests (e.g. 'EPSG:4326' or 'EPSG:32632').
    • -
    • image_format: MIME type of the image returned by a WMS GetMap request (e.g. 'image/png' or 'image/jpeg').
    • -
    • style: name of the style to be applied to the WMS Layer (could be 'default').
    • -
    • is_transparent: if the image returned by a WMS GetMap request should be opaque or transparent.
    • -
    • flip_axes: if a WMS GetMap request requires flipping the horizontal and vertical axes.
    • -
    • is_tiled (optional arg): if WMS GetMap requests should be handled by tiles or not.
    • -
    • is_cached (optional arg): if WMS GetMap results should be cached or not (applies only to tiled requests).
    • -
    • tile_width (optional arg): tile width expressed in pixels (applies only to tiled requests).
    • -
    • tile_height (optional arg): tile height expressed in pixels (applies only to tiled requests).
    • -
    • bgcolor (optional arg): image background color (Hex RGB color as e.g. 'ff8000' or 'A8A8A8').
    • -
    • is_queriable (optional arg): if the WMS Layer supports or not GetFeatureInfo requests.
    • -
    • getfeatureinfo_url (optional arg): base URL corresponding to a WMS GetFeatureInfo request.
    • -

    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_UnRegisterGetMapWMS_UnRegisterGetMap( getmap_url Text , layer_name Text ) : IntegerUnregisters a WMS Layer (and all related children).
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_SetGetMapInfosWMS_SetGetMapInfos( getmap_url Text , layer_name Text , title Text , abstract Text ) : IntegerSets or updates the Title and Abstract for the WMS Layer identified by getmap_url and layer_name.
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_SetGetMapOptionsWMS_SetGetMapOptions( getmap_url Text , layer_name Text , transparent Boolean , flip_axes Boolean )
    - WMS_SetGetMapOptions( getmap_url Text , layer_name Text , is_tiled Boolean , cached Boolean , tile_width Integer , tile_height Integer) : Integer
    - WMS_SetGetMapOptions( getmap_url Text , layer_name Text , is_queryable Boolean , getfeatureinfo_url Text ) : Integer
    - WMS_SetGetMapOptions( getmap_url Text , layer_name Text , bgcolor Text ) : Integer
    Sets or updates configurable options for the WMS Layer identified by getmap_url and layer_name.
    - Please check WMS_RegisterGetMap for more informations about supported options.
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_RegisterSettingWMS_RegisterSetting( getmap_url Text , layer_name Text , key Text , value Text ) : Integer
    - WMS_RegisterSetting( getmap_url Text , layer_name Text , key Text , value Text , is_default Boolean ) : Integer
    Registers an alternative setting for the WMS Layer identified by getmap_url and layer_name. -
      -
    • key: identifies a specific multi-value setting, and should be one between version, format or style.
    • -
    • value: an alternative setting value. Examples: -
        -
      • key = 'version' , value = ''1.0.0'
      • -
      • key = 'version' , value = ''1.1.0'
      • -
      • key = 'version' , value = ''1.1.1'
      • -
      • key = 'version' , value = ''1.3.0'
      • -
      -
    • -
    • is_default (optional arg): if the corresponding value will become the standard setting for the corresponding WMS Layer (FALSE if undefined).
    • -

    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_UnRegisterSettingWMS_UnRegisterSetting( getmap_url Text , layer_name Text , key Text , value Text ) : IntegerUnregisters an alternative setting from the corresponding WMS Layer.
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_DefaultSettingWMS_DefaultSetting( getmap_url Text , layer_name Text , key Text , value Text ) : IntegerMakes an alternative setting to become the standard setting for the corresponding WMS Layer.
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_RegisterRefSysWMS_RegisterRefSys( getmap_url Text , layer_name Text , ref_sys Text , minx Double , miny Double , - maxx Double , maxy Double ) : Integer
    - WMS_RegisterRefSys( getmap_url Text , layer_name Text , ref_sys Text , minx Double , miny Double , - maxx Double , maxy Double , is_default Boolean ) : Integer
    Registers an alternative Reference System for the WMS Layer identified by getmap_url and layer_name -
      -
    • ref_sys: name of Reference System (e.g. 'EPSG:4326' or 'EPSG:32632').
    • -
    • minx, miny, maxx and maxy: the corresponding WMS Layer's Bounding Box (aka full extent).
    • -
    • is_default (optional arg): if the corresponding SRS will become the standard Reference System for the corresponding WMS Layer (FALSE if undefined).
    • -

    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_UnRegisterRefSysWMS_UnRegisterRefSys( getmap_url Text , layer_name Text , ref_sys Text ) : IntegerUnregisters an alternative Reference System from the corresponding WMS Layer.
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_DefaultRefSysWMS_DefaultRefSys( getmap_url Text , layer_name Text , ref_sys Text ) : IntegerMakes an alternative SRS to become the standard Reference System for the corresponding WMS Layer.
    - Will return 1 on success; 0 on failure; -1 on invalid arguments.
    WMS_GetMapRequestURLWMS_GetMapRequestURL( getmap_url Text , layer_name Text , width Integer , height Integer , minx Double , miny Double , - maxx Double , maxy Double ) : TextCreates a WMS GetMap request URL for the WMS Layer identified by getmap_url and layer_name by applying the currently set options. -
      -
    • width and height: horizontal and vertical dimensions (expressed in pixels) of the returned map image.
    • -
    • minx, miny, maxx and maxy: the Bounding Box coverred by the returned map image.
    • -

    - Will return a request URL on success; NULL on failure or on invalid arguments.
    WMS_GetFeatureInfoRequestURLWMS_GetFeatureInfoRequestURL( getmap_url Text , layer_name Text , width Integer , height Integer , x Integer, y Integer , - minx Double , miny Double , maxx Double , maxy Double ) : Text
    - WMS_GetFeatureInfoRequestURL( getmap_url Text , layer_name Text , width Integer , height Integer , x Integer, y Integer , - minx Double , miny Double , maxx Double , maxy Double , feature_count Integer ) : Text
    Creates a WMS GetFeatureInfo request URL for the WMS Layer identified by getmap_url and layer_name by applying the currently set options. -
      -
    • width and height: horizontal and vertical dimensions (expressed in pixels) of the map image.
    • -
    • x and y: position of a Point on the map image to be queried: the map image coordidate origin (0, 0) is located on the - upper left corner, the X axis increases going towards the right, the Y axis increases going towards the bottom.
    • -
    • minx, miny, maxx and maxy: the Bounding Box coverred by the map image.
    • -
    • feature_count (optional arg): maximum number of features allowed (1 if unspecified).
    • -

    - Will return a request URL on success; NULL on failure or on invalid arguments.

    miscellaneous advanced SQL functions

    Function Syntax Summary
    CloneTable
    CreateClonedTableCreateClonedTable( db-prefix Text , input_table Text , output_table Text , - transaction Integer ) : Integer
    - CreateClonedTable( db-prefix Text , input_table Text , output_table Text , - transaction Integer , option_1 Text [ , ... , option_10 Text ] ) : Integer
    A strict derivative of CloneTable() accepting the same arguments with identical meaning.
    - The only difference is in that this second variant will just create the output Table completely avoiding to copy any row betweem the two tables. -
    Will return 0 (i.e. FALSE) on failure, any other value (i.e. TRUE) on success. NULL will be returned on invalid arguments.
    CheckDuplicateRows CheckDuplicateRows( table Text ) : Integer Will check if the given table does contain duplicate rows, i.e. rows presenting identical values for all columns (ignoring any Primary Key column).
    Will return the total number of duplicate rows found.
    NULL will be returned on invalid arguments.
    RemoveDuplicateRowsRemoveDuplicateRows( table Text ) : Integer
    - RemoveDuplicateRows( table Text , transaction Boolean ) : Integer
    Will remove all duplicate rows from the given table preserving only a single occurrence.
    - The optional argument transaction determines if an internal SQL Transaction should be automatically - started or not (the default setting if not explicitly overridden is TRUE). +
    RemoveDuplicateRows( table Text ) : IntegerWill remove all duplicate rows from the given table preserving only a songle occurrence.
    Will return the total number of deleted rows.
    NULL will be returned on invalid arguments.
    ElementaryGeometries ElementaryGeometries( in_table Text , geom_column Text , out_table Text , - out_pk Text , out_multi_id Text ) : Integer
    - ElementaryGeometries( in_table Text , geom_column Text , out_table Text , - out_pk Text , out_multi_id Text , transaction Boolean ) : Integer
    Will create a new out_table directly corresponding to in_table. The output table will be arranged in such a way that each row will always contain an elementary Geometry; - so each time that a MULTI-type Geometry is found in the input table it will be split into many - distinct rows. -
      -
    • out_pk is the name to be set for the output Primary Key, and out_multi_id is the name to be set for a second column within the output table - where to store the a zero-based index from which Geometry the Element-Geometry comes from, that together with the original Primary Key can be identified.
      - Note: both out_pk and out_multi_id must not exist in the given in_table table.
    • -
    • The optional argument transaction determines if an internal SQL Transaction should be automatically - started or not (the default setting if not explicitly overridden is TRUE).
    • -

    + so each time that a MULTI-type Geometry is found in the input table it will be split into mamy + distinct rows.
    + out_pk is the name to be set for the output Primary Key, and out_multi_id is the name to + be set for a second column within the output table where to store the original Primary Key. +
    Will return the total number of rows inserted into the output table.
    NULL will be returned on invalid arguments.
    DropGeoTable DropGeoTable( table Text ) : Integer
    - DropGeoTable( table Text , transaction Boolean ) : Integer
    - DropGeoTable( db-prefix Text , table Text ) : Integer
    - DropGeoTable( db-prefix Text , table Text , transaction Boolean ) : Integer
    Will completely remove a Geometry Table (or Spatial View) this including any eventual SpatialIndex, - metadata and statistics definitions an alike.
    - The optional argument transaction determines if an internal SQL Transaction should be automatically - started or not (the default setting if not explicitly overridden is TRUE). + metadata and statistics definitions an alike.
    Will return 0 (i.e. FALSE) on failure, any other value (i.e. TRUE) on success..
    NULL will be returned on invalid arguments.
    ImportSHP ImportSHP( filename Text , table Text , charset Text ) : Integer
    ImportSHP( filename Text , table Text , charset Text [ , srid Integer [ , geom_column Text [ , pk_column Text [ , geometry_type Text [ , coerce2D Integer - [ , compressed Integer [ , spatial_index Integer [ , text_dates Integer - [ , colname_case Text [ , update_statistics Integer [ , verbose Integer ] ] ] ] ] ] ] ] ] ] ] ) + [ , compressed Integer [ , spatial_index Integer [ , text_dats Integer ] ] ] ] ] ] ] ] ) : Integer
    Will import an external Shapfile into an internal Table:
    • Mandatory arguments:
        @@ -5157,50 +3845,36 @@
      • coerce2D boolean flag: casting to 2D or not; 0 by default.
      • compressed boolean flag; compressed geometries or not; 0 by default.
      • spatial_index boolean flag: immediately building a Spatial Index or not; 0 by default.
      • text_dates boolean flag: interpreting DBF dates as plaintext or not: 0 by default (i.e. as Julian Day).
      • -
      • colname_case one between:
          -
        • LOWER or LOWERCASE: all column names will be converted to lowercase (default option).
        • -
        • UPPER or UPPERCASE: all column names will be converted to uppercase.
        • -
        • SAME or SAMECASE: all column names will be left as they are.
        • -
      • -
      • update_statistics boolean flag: immediately updating Layer Statustics or not; 1 by default.
      • -
      • verbose boolean flag: verbose console output: 1 by default, you can explicitly pass 0 - if you better whish a silent output.

    Will return the total number of imported rows.
    NULL will be returned on invalid arguments.
    Please note well: this SQL function open the doors to many potential security issues, and thus is always disabled by default.
    Explicitly setting the environment variable SPATIALITE_SECURITY=relaxed is absolutely required in order to effectively enable this function.
    ExportSHP ExportSHP( table Text , geom_column Text , filename Text , charset Text ) : Integer
    - ExportSHP( table Text , geom_column Text , filename Text , charset Text , [ geom_type Text - [ , colname_case Text ] ] ) : Integer
    Will export an internal Table as an external Shapefile:
    • table name of the table to be exported.
    • geom_column name of the Geometry column.
    • filename absolute or relative path leading to the Shapefile (omitting any .shp, .shx or .dbf suffix).
    • charset the character encoding adopted by the DBF member, as e.g. UTF-8 or CP1252
    • the optional argument geom_type is useful when exporting unregistered Geometries, and can be one between: POINT, LINESTRING, POLYGON or MULTUPOINT.
    • -
    • colname_case (optional argument) can be one between:
        -
      • LOWER or LOWERCASE: all column names will be converted to lowercase (default option).
      • -
      • UPPER or UPPERCASE: all column names will be converted to uppercase.
      • -
      • SAME or SAMECASE: all column names will be left as they are.
      • -

    Will return the total number of exported rows.
    NULL will be returned on invalid arguments.
    Please note well: this SQL function open the doors to many potential security issues, and thus is always disabled by default.
    Explicitly setting the environment variable SPATIALITE_SECURITY=relaxed is absolutely required in order to effectively enable this function.
    ImportDBF ImportDBF( filename Text , table Text , charset Text ) : Integer
    ImportDBF( filename Text , table Text , charset Text [ , pk_column Text - [ , text_dates Integer [ , colname_case Text ] ] ] ) : Integer
    Will import an external DBF file into an internal Table:
    • Mandatory arguments:
      • filename absolute or relative path leading to the DBF (including the .dbf suffix).
      • @@ -5211,33 +3885,23 @@
        • pk_column name of a DBF column to be used in the Primary Key role; an INTEGER AUTOINCREMENT PK will be created by default.
        • text_dates boolean flag: interpreting DBF dates as plaintext or not: 0 by default (i.e. as Julian Day).
        • -
        • colname_case one between:
            -
          • LOWER or LOWERCASE: all column names will be converted to lowercase (default option).
          • -
          • UPPER or UPPERCASE: all column names will be converted to uppercase.
          • -
          • SAME or SAMECASE: all column names will be left as they are.
          • -

      Will return the total number of imported rows.
      NULL will be returned on invalid arguments.
      Please note well: this SQL function open the doors to many potential security issues, and thus is always disabled by default.
      Explicitly setting the environment variable SPATIALITE_SECURITY=relaxed is absolutely required in order to effectively enable this function.
    ExportDBFExportDBF( table Text , filename Text , charset Text [ , colname_case Text ] ) : IntegerExportDBF( table Text , filename Text , charset Text ) : Integer Will export an internal Table as an external DBF file:
    • table name of the table to be exported.
    • filename absolute or relative path leading to the DBF (including the .dbf suffix).
    • charset the character encoding adopted by the DBF, as e.g. UTF-8 or CP1252
    • -
    • colname_case (optional argument) can be one between:
        -
      • LOWER or LOWERCASE: all column names will be converted to lowercase (default option).
      • -
      • UPPER or UPPERCASE: all column names will be converted to uppercase.
      • -
      • SAME or SAMECASE: all column names will be left as they are.
      • -

    Will return the total number of exported rows.
    NULL will be returned on invalid arguments.
    Please note well: this SQL function open the doors to many potential security issues, and thus is always disabled by default.
    Explicitly setting the environment variable SPATIALITE_SECURITY=relaxed is absolutely required in order to effectively enable this function.
    ImportWFS ImportWFS( filename_or_url Text , layer_name Text , table Text ) : Integer
    - ImportWFS( filename_or_url Text , layer_name Text , table Text [ , pk_column Text + ImportXLS( filename_or_url Text , layer_name Text , table Text [ , pk_column Text [ , swap_axes Integer [ , page_size Integer [ , spatial_index Integer ] ] ] ] ) : Integer
    Will import data from a WFS datasource:
    • Mandatory arguments:
        @@ -5383,44 +4047,9 @@
      • geom_filter acts as a spatial filter selecting which entities have to be exported (could be NULL).
      • the optional argument precision specificies how many decimal digits are required for coordinate values: if not specified the default is 3.
      Will return 0 (i.e. FALSE) on failure, any other value (i.e. TRUE) on success.
      Please note well: this SQL function open the doors to many potential security issues, and thus is always disabled by default.
      - Explicitly setting the environment variable SPATIALITE_SECURITY=relaxed is absolutely required in order to effectively enable this function.
    ST_Cutter()ST_Cutter( input-db-prefix String , input-table String , input-geometry String , blade-db-prefix String , - blade-table String , blade-geom String , output-table String - [ , transaction Boolean [ , ram-temp-storage Boolean ] ] ) : IntegerWill precisely cut in a topological consistent way a whole Input dataset using a Blade dataset (i.e. an arbitrary polygonal dataset).
    - All cut fragments will be stored into a further Output dataset, and all mother-child relationships will be fully preserved by saving the Primary Key values allowing - to trace back Input and Blade pairs giving birth to each single fragment.
    - Any cut fragment stored into the Output dataset eventually falling outside any Blade will reference a conventional NULL Blade. -
      -
    • The Input dataset is always expected to declare a Primary Key and must declare a POINT, LINESTRING, POLYGON, - MULTIPOINT, MULTILINESTRING or MULTIPOLYGON Geometry type.
      - It could be indifferently located on the MAIN database or on any other attached DB, and is fully identified by the input-db-prefix, - input-table and input-geometry arguments.
    • -
    • The Blade dataset is always expected to declare a Primary Key and must declare a POLYGON or MULTIPOLYGON Geometry type.
      - It could be indifferently located on the MAIN database or on any other attached DB, and is fully identified by the blade-db-prefix, - blade-table and blade-geometry arguments.
      - Note: both the Input and Blade Geometries must share the same identical SRID value.
    • -
    • The Output dataset will be always located into the MAIN database.
      - The Output Geometry will always preserve the name and SRID declared by input-geom: the Geometry type will be always be one between - POINT, LINESTRING or POLYGON (all cut fragments will be stored as simple features on distinct rows).
    • -
    -
      -
    • Both the input-db-prefix and blade-db-prefix arguments could be legitimately declared as NULL, and in this case the MAIN database will be always assumed.
    • -
    • and also the input-geom and blade-geom arguments could be legitimately declared as NULL.
      - In this case the appropriate Geometry column name will be implicitly determined, but only if the corresponding table declares just a single Geometry column, otherwise an exception will be raised.
    • -
    • The optional argument transaction determines if an internal SQL Transaction should be automatically started or not (the default setting if not explicitly overridden is FALSE).
    • -
    • The optional argument ram-tmp-storage determines if the intermediate temporary tables internally used by this function should be created in RAM or not - (the default setting if not explicitly overridden is FALSE).
    • -
    - Will return -1 on invalid arguments, 0 on failure, 1 on full success and 2 on partial success (i.e.when the output table contains - one or more invalid geometries).
    GetCutterMessage()GetCutterMessage( void ) : StringWill return the most recent diagnostic message emitted by ST_Cutter().
    - NULL will be returned if no such message currently exists.
    back Index: spatialite.pc.in ================================================================== --- spatialite.pc.in +++ spatialite.pc.in @@ -6,7 +6,7 @@ includedir=@includedir@ Name: spatialite Description: Spatial SQL database engine based on SQLite Version: @VERSION@ -Libs: -L${libdir} -lspatialite +Libs: -L${libdir} -lspatialite -lsqlite3 -lm -lz Cflags: -I${includedir} Index: src/Makefile.am ================================================================== --- src/Makefile.am +++ src/Makefile.am @@ -11,23 +11,17 @@ connection_cache \ virtualtext \ wfs \ dxf \ md5 \ - control_points \ - cutter \ - topology + control_points AM_CPPFLAGS = @CFLAGS@ AM_CPPFLAGS += -I$(top_srcdir)/src/headers AM_CPPFLAGS += -I$(top_srcdir) -if MODULE_ONLY -lib_LTLIBRARIES = mod_spatialite.la -else lib_LTLIBRARIES = libspatialite.la mod_spatialite.la -endif libspatialite_la_SOURCES = versioninfo/version.c libspatialite_la_LIBADD = ./gaiaaux/libgaiaaux.la \ ./gaiaexif/libgaiaexif.la \ @@ -35,27 +29,25 @@ ./geopackage/libgeopackage.la \ ./spatialite/libsplite.la \ ./shapefiles/libshapefiles.la \ ./dxf/libdxf.la \ ./md5/libmd5.la \ - ./control_points/libcontrol_points.la \ - ./cutter/libcutter.la \ - ./topology/libtopology.la \ + ./control_points/libcontrol_points.la\ ./srsinit/libsrsinit.la \ ./connection_cache/libconnection_cache.la \ ./virtualtext/libvirtualtext.la \ ./wfs/libwfs.la @LIBXML2_LIBS@ if MINGW -libspatialite_la_LDFLAGS = -version-info 4:4:0 -no-undefined +libspatialite_la_LDFLAGS = -version-info 4:2:0 -no-undefined libspatialite_la_LIBADD += -lm else if ANDROID -libspatialite_la_LDFLAGS = -version-info 8:1:1 +libspatialite_la_LDFLAGS = -version-info 7:0:1 libspatialite_la_LIBADD += -ldl -lm else -libspatialite_la_LDFLAGS = -version-info 8:1:1 +libspatialite_la_LDFLAGS = -version-info 7:0:1 libspatialite_la_LIBADD += -lpthread -ldl -lm endif endif mod_spatialite_la_SOURCES = versioninfo/version.c @@ -67,12 +59,10 @@ ./spatialite/splite.la \ ./shapefiles/shapefiles.la \ ./dxf/dxf.la \ ./md5/md5.la \ ./control_points/control_points.la \ - ./cutter/cutter.la \ - ./topology/topology.la \ ./srsinit/srsinit.la \ ./connection_cache/connection_cache.la \ ./virtualtext/virtualtext.la \ ./wfs/wfs.la @LIBXML2_LIBS@ @@ -84,14 +74,14 @@ if MINGW mod_spatialite_la_LDFLAGS = -module -avoid-version -no-undefined mod_spatialite_la_LIBADD += -lm else if ANDROID -mod_spatialite_la_LDFLAGS = -module -version-info 8:0:1 +mod_spatialite_la_LDFLAGS = -module -version-info 7:0:1 mod_spatialite_la_LIBADD += -ldl -lm else -mod_spatialite_la_LDFLAGS = -module -version-info 8:0:1 +mod_spatialite_la_LDFLAGS = -module -version-info 7:0:1 mod_spatialite_la_LIBADD += -lpthread -ldl -lm endif endif MOSTLYCLEANFILES = *.gcna *.gcno *.gcda Index: src/Makefile.in ================================================================== --- src/Makefile.in +++ src/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -93,18 +83,19 @@ @ANDROID_FALSE@@MINGW_FALSE@am__append_3 = -lpthread -ldl -lm @MINGW_TRUE@am__append_4 = -lm @ANDROID_TRUE@@MINGW_FALSE@am__append_5 = -ldl -lm @ANDROID_FALSE@@MINGW_FALSE@am__append_6 = -lpthread -ldl -lm subdir = src +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; @@ -139,12 +130,11 @@ am__DEPENDENCIES_1 = libspatialite_la_DEPENDENCIES = ./gaiaaux/libgaiaaux.la \ ./gaiaexif/libgaiaexif.la ./gaiageo/libgaiageo.la \ ./geopackage/libgeopackage.la ./spatialite/libsplite.la \ ./shapefiles/libshapefiles.la ./dxf/libdxf.la ./md5/libmd5.la \ - ./control_points/libcontrol_points.la ./cutter/libcutter.la \ - ./topology/libtopology.la ./srsinit/libsrsinit.la \ + ./control_points/libcontrol_points.la ./srsinit/libsrsinit.la \ ./connection_cache/libconnection_cache.la \ ./virtualtext/libvirtualtext.la ./wfs/libwfs.la \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am__dirstamp = $(am__leading_dot)dirstamp @@ -156,17 +146,15 @@ am__v_lt_1 = libspatialite_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libspatialite_la_LDFLAGS) $(LDFLAGS) \ -o $@ -@MODULE_ONLY_FALSE@am_libspatialite_la_rpath = -rpath $(libdir) mod_spatialite_la_DEPENDENCIES = ./gaiaaux/gaiaaux.la \ ./gaiaexif/gaiaexif.la ./gaiageo/gaiageo.la \ ./geopackage/geopackage.la ./spatialite/splite.la \ ./shapefiles/shapefiles.la ./dxf/dxf.la ./md5/md5.la \ - ./control_points/control_points.la ./cutter/cutter.la \ - ./topology/topology.la ./srsinit/srsinit.la \ + ./control_points/control_points.la ./srsinit/srsinit.la \ ./connection_cache/connection_cache.la \ ./virtualtext/virtualtext.la ./wfs/wfs.la \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) am_mod_spatialite_la_OBJECTS = \ @@ -174,12 +162,10 @@ mod_spatialite_la_OBJECTS = $(am_mod_spatialite_la_OBJECTS) mod_spatialite_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(mod_spatialite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(mod_spatialite_la_LDFLAGS) \ $(LDFLAGS) -o $@ -@MODULE_ONLY_FALSE@am_mod_spatialite_la_rpath = -rpath $(libdir) -@MODULE_ONLY_TRUE@am_mod_spatialite_la_rpath = -rpath $(libdir) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) @@ -254,11 +240,10 @@ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ @@ -424,44 +409,39 @@ connection_cache \ virtualtext \ wfs \ dxf \ md5 \ - control_points \ - cutter \ - topology + control_points AM_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I$(top_srcdir) -@MODULE_ONLY_FALSE@lib_LTLIBRARIES = libspatialite.la mod_spatialite.la -@MODULE_ONLY_TRUE@lib_LTLIBRARIES = mod_spatialite.la +lib_LTLIBRARIES = libspatialite.la mod_spatialite.la libspatialite_la_SOURCES = versioninfo/version.c libspatialite_la_LIBADD = ./gaiaaux/libgaiaaux.la \ ./gaiaexif/libgaiaexif.la ./gaiageo/libgaiageo.la \ ./geopackage/libgeopackage.la ./spatialite/libsplite.la \ ./shapefiles/libshapefiles.la ./dxf/libdxf.la ./md5/libmd5.la \ - ./control_points/libcontrol_points.la ./cutter/libcutter.la \ - ./topology/libtopology.la ./srsinit/libsrsinit.la \ + ./control_points/libcontrol_points.la ./srsinit/libsrsinit.la \ ./connection_cache/libconnection_cache.la \ ./virtualtext/libvirtualtext.la ./wfs/libwfs.la @LIBXML2_LIBS@ \ $(am__append_1) $(am__append_2) $(am__append_3) -@ANDROID_FALSE@@MINGW_FALSE@libspatialite_la_LDFLAGS = -version-info 8:1:1 -@ANDROID_TRUE@@MINGW_FALSE@libspatialite_la_LDFLAGS = -version-info 8:1:1 -@MINGW_TRUE@libspatialite_la_LDFLAGS = -version-info 4:4:0 -no-undefined +@ANDROID_FALSE@@MINGW_FALSE@libspatialite_la_LDFLAGS = -version-info 7:0:1 +@ANDROID_TRUE@@MINGW_FALSE@libspatialite_la_LDFLAGS = -version-info 7:0:1 +@MINGW_TRUE@libspatialite_la_LDFLAGS = -version-info 4:2:0 -no-undefined mod_spatialite_la_SOURCES = versioninfo/version.c mod_spatialite_la_LIBADD = ./gaiaaux/gaiaaux.la ./gaiaexif/gaiaexif.la \ ./gaiageo/gaiageo.la ./geopackage/geopackage.la \ ./spatialite/splite.la ./shapefiles/shapefiles.la ./dxf/dxf.la \ ./md5/md5.la ./control_points/control_points.la \ - ./cutter/cutter.la ./topology/topology.la ./srsinit/srsinit.la \ - ./connection_cache/connection_cache.la \ + ./srsinit/srsinit.la ./connection_cache/connection_cache.la \ ./virtualtext/virtualtext.la ./wfs/wfs.la @LIBXML2_LIBS@ \ $(am__append_4) $(am__append_5) $(am__append_6) mod_spatialite_la_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I. \ -DLOADABLE_EXTENSION mod_spatialite_la_LIBTOOLFLAGS = --tag=disable-static -@ANDROID_FALSE@@MINGW_FALSE@mod_spatialite_la_LDFLAGS = -module -version-info 8:0:1 -@ANDROID_TRUE@@MINGW_FALSE@mod_spatialite_la_LDFLAGS = -module -version-info 8:0:1 +@ANDROID_FALSE@@MINGW_FALSE@mod_spatialite_la_LDFLAGS = -module -version-info 7:0:1 +@ANDROID_TRUE@@MINGW_FALSE@mod_spatialite_la_LDFLAGS = -module -version-info 7:0:1 @MINGW_TRUE@mod_spatialite_la_LDFLAGS = -module -avoid-version -no-undefined MOSTLYCLEANFILES = *.gcna *.gcno *.gcda all: all-recursive .SUFFIXES: @@ -476,10 +456,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -538,16 +519,16 @@ @: > versioninfo/$(DEPDIR)/$(am__dirstamp) versioninfo/version.lo: versioninfo/$(am__dirstamp) \ versioninfo/$(DEPDIR)/$(am__dirstamp) libspatialite.la: $(libspatialite_la_OBJECTS) $(libspatialite_la_DEPENDENCIES) $(EXTRA_libspatialite_la_DEPENDENCIES) - $(AM_V_CCLD)$(libspatialite_la_LINK) $(am_libspatialite_la_rpath) $(libspatialite_la_OBJECTS) $(libspatialite_la_LIBADD) $(LIBS) + $(AM_V_CCLD)$(libspatialite_la_LINK) -rpath $(libdir) $(libspatialite_la_OBJECTS) $(libspatialite_la_LIBADD) $(LIBS) versioninfo/mod_spatialite_la-version.lo: versioninfo/$(am__dirstamp) \ versioninfo/$(DEPDIR)/$(am__dirstamp) mod_spatialite.la: $(mod_spatialite_la_OBJECTS) $(mod_spatialite_la_DEPENDENCIES) $(EXTRA_mod_spatialite_la_DEPENDENCIES) - $(AM_V_CCLD)$(mod_spatialite_la_LINK) $(am_mod_spatialite_la_rpath) $(mod_spatialite_la_OBJECTS) $(mod_spatialite_la_LIBADD) $(LIBS) + $(AM_V_CCLD)$(mod_spatialite_la_LINK) -rpath $(libdir) $(mod_spatialite_la_OBJECTS) $(mod_spatialite_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) -rm -f versioninfo/*.$(OBJEXT) -rm -f versioninfo/*.lo @@ -877,11 +858,9 @@ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/connection_cache/Makefile.am ================================================================== --- src/connection_cache/Makefile.am +++ src/connection_cache/Makefile.am @@ -5,13 +5,13 @@ AM_CPPFLAGS += -I$(top_srcdir)/src/headers noinst_HEADERS = cache_aux_1.h cache_aux_2.h cache_aux_3.h noinst_LTLIBRARIES = libconnection_cache.la connection_cache.la -libconnection_cache_la_SOURCES = alloc_cache.c gg_sequence.c +libconnection_cache_la_SOURCES = alloc_cache.c -connection_cache_la_SOURCES = alloc_cache.c gg_sequence.c +connection_cache_la_SOURCES = alloc_cache.c connection_cache_la_CPPFLAGS = @CFLAGS@ @LIBXML2_CFLAGS@ connection_cache_la_CPPFLAGS += -I$(top_srcdir)/src/headers -I. connection_cache_la_CPPFLAGS += -DLOADABLE_EXTENSION connection_cache_la_LDFLAGS = -module Index: src/connection_cache/Makefile.in ================================================================== --- src/connection_cache/Makefile.in +++ src/connection_cache/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,21 +14,11 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -88,27 +78,26 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/connection_cache +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) connection_cache_la_LIBADD = -am_connection_cache_la_OBJECTS = connection_cache_la-alloc_cache.lo \ - connection_cache_la-gg_sequence.lo +am_connection_cache_la_OBJECTS = connection_cache_la-alloc_cache.lo connection_cache_la_OBJECTS = $(am_connection_cache_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = @@ -115,11 +104,11 @@ connection_cache_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(connection_cache_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(connection_cache_la_LDFLAGS) $(LDFLAGS) -o $@ libconnection_cache_la_LIBADD = -am_libconnection_cache_la_OBJECTS = alloc_cache.lo gg_sequence.lo +am_libconnection_cache_la_OBJECTS = alloc_cache.lo libconnection_cache_la_OBJECTS = $(am_libconnection_cache_la_OBJECTS) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : @@ -197,11 +186,10 @@ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ @@ -357,12 +345,12 @@ top_srcdir = @top_srcdir@ SUBDIRS = generator AM_CPPFLAGS = @CFLAGS@ @LIBXML2_CFLAGS@ -I$(top_srcdir)/src/headers noinst_HEADERS = cache_aux_1.h cache_aux_2.h cache_aux_3.h noinst_LTLIBRARIES = libconnection_cache.la connection_cache.la -libconnection_cache_la_SOURCES = alloc_cache.c gg_sequence.c -connection_cache_la_SOURCES = alloc_cache.c gg_sequence.c +libconnection_cache_la_SOURCES = alloc_cache.c +connection_cache_la_SOURCES = alloc_cache.c connection_cache_la_CPPFLAGS = @CFLAGS@ @LIBXML2_CFLAGS@ \ -I$(top_srcdir)/src/headers -I. -DLOADABLE_EXTENSION connection_cache_la_LDFLAGS = -module connection_cache_la_LIBTOOLFLAGS = --tag=disable-static MOSTLYCLEANFILES = *.gcna *.gcno *.gcda @@ -380,10 +368,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/connection_cache/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/connection_cache/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -423,12 +412,10 @@ distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alloc_cache.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection_cache_la-alloc_cache.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/connection_cache_la-gg_sequence.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_sequence.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @@ -454,17 +441,10 @@ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/connection_cache_la-alloc_cache.Tpo $(DEPDIR)/connection_cache_la-alloc_cache.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='alloc_cache.c' object='connection_cache_la-alloc_cache.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(connection_cache_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(connection_cache_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o connection_cache_la-alloc_cache.lo `test -f 'alloc_cache.c' || echo '$(srcdir)/'`alloc_cache.c -connection_cache_la-gg_sequence.lo: gg_sequence.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(connection_cache_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(connection_cache_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT connection_cache_la-gg_sequence.lo -MD -MP -MF $(DEPDIR)/connection_cache_la-gg_sequence.Tpo -c -o connection_cache_la-gg_sequence.lo `test -f 'gg_sequence.c' || echo '$(srcdir)/'`gg_sequence.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/connection_cache_la-gg_sequence.Tpo $(DEPDIR)/connection_cache_la-gg_sequence.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gg_sequence.c' object='connection_cache_la-gg_sequence.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(connection_cache_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(connection_cache_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o connection_cache_la-gg_sequence.lo `test -f 'gg_sequence.c' || echo '$(srcdir)/'`gg_sequence.c - mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs @@ -745,11 +725,9 @@ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/connection_cache/alloc_cache.c ================================================================== --- src/connection_cache/alloc_cache.c +++ src/connection_cache/alloc_cache.c @@ -1,9 +1,9 @@ /* alloc_cache.c -- Gaia spatial support for SQLite - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2013-2015 +Portions created by the Initial Developer are Copyright (C) 2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -70,208 +70,81 @@ #include #include #include #ifndef OMIT_GEOS /* including GEOS */ -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif #include #endif #ifndef OMIT_PROJ /* including PROJ.4 */ #include #endif -#ifdef ENABLE_RTTOPO /* including RTTOPO */ -#include -#endif - -#ifndef GEOS_REENTRANT /* only when using the obsolete partially thread-safe mode */ #include "cache_aux_1.h" -#endif /* end GEOS_REENTRANT */ /* GLOBAL variables */ extern char *gaia_geos_error_msg; extern char *gaia_geos_warning_msg; /* GLOBAL semaphores */ int gaia_already_initialized = 0; #ifdef _WIN32 static CRITICAL_SECTION gaia_cache_semaphore; +static CRITICAL_SECTION gaia_lwgeom_semaphore; #else static pthread_mutex_t gaia_cache_semaphore = PTHREAD_MUTEX_INITIALIZER; +static pthread_mutex_t gaia_lwgeom_semaphore = PTHREAD_MUTEX_INITIALIZER; #endif #define GAIA_CONN_RESERVED (char *)1 static void -conn_geos_error (const char *msg, void *userdata) -{ -/* reporting some GEOS error - thread safe */ - int len; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) userdata; - if (cache == NULL) - goto invalid_cache; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - goto invalid_cache; - - if (cache->gaia_geos_error_msg != NULL) - free (cache->gaia_geos_error_msg); - cache->gaia_geos_error_msg = NULL; - if (msg) - { - if (cache->silent_mode == 0) - spatialite_e ("GEOS error: %s\n", msg); - len = strlen (msg); - cache->gaia_geos_error_msg = malloc (len + 1); - strcpy (cache->gaia_geos_error_msg, msg); - } - return; - - invalid_cache: - if (msg) - spatialite_e ("GEOS error: %s\n", msg); -} - -static void -conn_geos_warning (const char *msg, void *userdata) -{ -/* reporting some GEOS warning - thread safe */ - int len; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) userdata; - if (cache == NULL) - goto invalid_cache; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - goto invalid_cache; - - if (cache->gaia_geos_warning_msg != NULL) - free (cache->gaia_geos_warning_msg); - cache->gaia_geos_warning_msg = NULL; - if (msg) - { - if (cache->silent_mode == 0) - spatialite_e ("GEOS warning: %s\n", msg); - len = strlen (msg); - cache->gaia_geos_warning_msg = malloc (len + 1); - strcpy (cache->gaia_geos_warning_msg, msg); - } - return; - - invalid_cache: - if (msg) - spatialite_e ("GEOS warning: %s\n", msg); -} - -static void -conn_rttopo_error (const char *fmt, va_list ap, void *userdata) -{ -/* reporting some RTTOPO error - thread safe */ - char *msg = NULL; - int len; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) userdata; - if (cache == NULL) - goto invalid_cache; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - goto invalid_cache; - - if (cache->gaia_rttopo_error_msg != NULL) - free (cache->gaia_rttopo_error_msg); - cache->gaia_rttopo_error_msg = NULL; - - msg = sqlite3_vmprintf (fmt, ap); - if (msg) - { - if (strlen (msg) > 0) - { - if (cache->silent_mode == 0) - spatialite_e ("RTTOPO error: %s\n\n", msg); - len = strlen (msg); - cache->gaia_rttopo_error_msg = malloc (len + 1); - strcpy (cache->gaia_rttopo_error_msg, msg); - } - sqlite3_free (msg); - } - return; - - invalid_cache: - if (msg) - { - spatialite_e ("RTTOPO error: %s\n", msg); - sqlite3_free (msg); - } -} - -static void -conn_rttopo_warning (const char *fmt, va_list ap, void *userdata) -{ -/* reporting some RTTOPO warning - thread safe */ - char *msg = NULL; - int len; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) userdata; - if (cache == NULL) - goto invalid_cache; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - goto invalid_cache; - - if (cache->gaia_rttopo_warning_msg != NULL) - free (cache->gaia_rttopo_warning_msg); - cache->gaia_rttopo_warning_msg = NULL; - - msg = sqlite3_vmprintf (fmt, ap); - if (msg) - { - if (strlen (msg) > 0) - { - /* disabled so to stop endless warnings caused by topo-tolerance */ - if (cache->silent_mode == 0) - spatialite_e ("RTTOPO warning: %s\n", msg); - len = strlen (msg); - cache->gaia_rttopo_warning_msg = malloc (len + 1); - strcpy (cache->gaia_rttopo_warning_msg, msg); - } - sqlite3_free (msg); - } - return; - - invalid_cache: - if (msg) - { - spatialite_e ("RTTOPO warning: %s\n\n", msg); - sqlite3_free (msg); - } -} - -#ifndef GEOS_REENTRANT /* only when using the obsolete partially thread-safe mode */ -static void setGeosErrorMsg (int pool_index, const char *msg) { /* setting the latest GEOS error message */ struct splite_connection *p = &(splite_connection_pool[pool_index]); - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (p->conn_ptr); - conn_geos_error (msg, cache); + int len; + if (p->gaia_geos_error_msg != NULL) + free (p->gaia_geos_error_msg); + p->gaia_geos_error_msg = NULL; + if (msg == NULL) + return; + len = strlen (msg); + p->gaia_geos_error_msg = malloc (len + 1); + strcpy (p->gaia_geos_error_msg, msg); } static void setGeosWarningMsg (int pool_index, const char *msg) { /* setting the latest GEOS error message */ struct splite_connection *p = &(splite_connection_pool[pool_index]); - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (p->conn_ptr); - conn_geos_warning (msg, cache); + int len; + if (p->gaia_geos_warning_msg != NULL) + free (p->gaia_geos_warning_msg); + p->gaia_geos_warning_msg = NULL; + if (msg == NULL) + return; + len = strlen (msg); + p->gaia_geos_warning_msg = malloc (len + 1); + strcpy (p->gaia_geos_warning_msg, msg); +} + +static void +setGeosAuxErrorMsg (int pool_index, const char *msg) +{ +/* setting the latest GEOS (auxiliary) error message */ + struct splite_connection *p = &(splite_connection_pool[pool_index]); + int len; + if (p->gaia_geosaux_error_msg != NULL) + free (p->gaia_geosaux_error_msg); + p->gaia_geosaux_error_msg = NULL; + if (msg == NULL) + return; + len = strlen (msg); + p->gaia_geosaux_error_msg = malloc (len + 1); + strcpy (p->gaia_geosaux_error_msg, msg); } static void geos_error_r (int pool_index, const char *fmt, va_list ap) { @@ -335,57 +208,56 @@ static void invalidate (int i) { /* definitely releasing the slot */ struct splite_connection *p = &(splite_connection_pool[i]); + if (p->gaia_geos_error_msg != NULL) + free (p->gaia_geos_error_msg); + if (p->gaia_geos_warning_msg != NULL) + free (p->gaia_geos_warning_msg); + if (p->gaia_geosaux_error_msg != NULL) + free (p->gaia_geosaux_error_msg); + p->gaia_geos_error_msg = NULL; + p->gaia_geos_warning_msg = NULL; + p->gaia_geosaux_error_msg = NULL; p->conn_ptr = NULL; } -#endif /* END obsolete partially thread-safe mode */ -static void -init_splite_internal_cache(struct splite_internal_cache *cache) +SPATIALITE_DECLARE void * +spatialite_alloc_connection () { -/* common initialization of the internal cache */ +/* allocating and initializing an empty internal cache */ gaiaOutBufferPtr out; int i; + struct splite_internal_cache *cache = NULL; struct splite_geos_cache_item *p; struct splite_xmlSchema_cache_item *p_xmlSchema; + int pool_index; + +/* attempting to implicitly initialize the library */ + spatialite_initialize (); + +/* locking the semaphore */ + splite_cache_semaphore_lock (); + + pool_index = find_free_connection (); + + if (pool_index < 0) + goto done; + + cache = malloc (sizeof (struct splite_internal_cache)); if (cache == NULL) - return; - + { + invalidate (pool_index); + goto done; + } cache->magic1 = SPATIALITE_CACHE_MAGIC1; cache->magic2 = SPATIALITE_CACHE_MAGIC2; - cache->gpkg_mode = 0; - cache->gpkg_amphibious_mode = 0; - cache->decimal_precision = -1; cache->GEOS_handle = NULL; cache->PROJ_handle = NULL; - cache->RTTOPO_handle = NULL; - cache->cutterMessage = NULL; - cache->pool_index = -1; - cache->gaia_geos_error_msg = NULL; - cache->gaia_geos_warning_msg = NULL; - cache->gaia_geosaux_error_msg = NULL; - cache->gaia_rttopo_error_msg = NULL; - cache->gaia_rttopo_warning_msg = NULL; - cache->silent_mode = 0; -/* initializing an empty linked list of Topologies */ - cache->firstTopology = NULL; - cache->lastTopology = NULL; - cache->next_topo_savepoint = 0; - cache->first_topo_svpt = NULL; - cache->last_topo_svpt = NULL; - cache->firstNetwork = NULL; - cache->lastNetwork = NULL; - cache->next_network_savepoint = 0; - cache->first_net_svpt = NULL; - cache->last_net_svpt = NULL; -/* initializing Sequences */ - cache->first_seq = NULL; - cache->last_seq = NULL; - cache->ok_last_used_sequence = 0; - cache->last_used_sequence_val = 0; + cache->pool_index = pool_index; + confirm (pool_index, cache); /* initializing the XML error buffers */ out = malloc (sizeof (gaiaOutBuffer)); gaiaOutBufferInitialize (out); cache->xmlParsingErrors = out; out = malloc (sizeof (gaiaOutBuffer)); @@ -415,86 +287,10 @@ p_xmlSchema->schemaURI = NULL; p_xmlSchema->schemaDoc = NULL; p_xmlSchema->parserCtxt = NULL; p_xmlSchema->schema = NULL; } -} - -#ifdef GEOS_REENTRANT /* reentrant (thread-safe) initialization */ -static void * -spatialite_alloc_reentrant () -{ -/* - * allocating and initializing an empty internal cache - * fully reentrant (thread-safe) version requiring GEOS >= 3.5.0 -*/ - struct splite_internal_cache *cache = NULL; - -/* attempting to implicitly initialize the library */ - spatialite_initialize (); - - cache = malloc (sizeof (struct splite_internal_cache)); - if (cache == NULL) - goto done; - init_splite_internal_cache(cache); - -/* initializing GEOS and PROJ.4 handles */ - -#ifndef OMIT_GEOS /* initializing GEOS */ - cache->GEOS_handle = GEOS_init_r (NULL, NULL); - GEOSContext_setNoticeMessageHandler_r (cache->GEOS_handle, - conn_geos_warning, cache); - GEOSContext_setErrorMessageHandler_r (cache->GEOS_handle, conn_geos_error, - cache); -#endif /* end GEOS */ - -#ifndef OMIT_PROJ /* initializing the PROJ.4 context */ - cache->PROJ_handle = pj_ctx_alloc (); -#endif /* end PROJ.4 */ - -#ifdef ENABLE_RTTOPO /* initializing the RTTOPO context */ - cache->RTTOPO_handle = rtgeom_init (NULL, NULL, NULL); - rtgeom_set_error_logger (cache->RTTOPO_handle, conn_rttopo_error, cache); - rtgeom_set_notice_logger (cache->RTTOPO_handle, conn_rttopo_warning, cache); -#endif /* end RTTOPO */ - - done: - return cache; -} -#endif /* end GEOS_REENTRANT */ - -SPATIALITE_DECLARE void * -spatialite_alloc_connection () -{ -/* allocating and initializing an empty internal cache */ - -#ifdef GEOS_REENTRANT /* reentrant (thread-safe) initialization */ - return spatialite_alloc_reentrant (); -#else /* end GEOS_REENTRANT */ - struct splite_internal_cache *cache = NULL; - int pool_index; - -/* attempting to implicitly initialize the library */ - spatialite_initialize (); - -/* locking the semaphore */ - splite_cache_semaphore_lock (); - - pool_index = find_free_connection (); - - if (pool_index < 0) - goto done; - - cache = malloc (sizeof (struct splite_internal_cache)); - if (cache == NULL) - { - invalidate (pool_index); - goto done; - } - init_splite_internal_cache(cache); - cache->pool_index = pool_index; - confirm (pool_index, cache); #include "cache_aux_3.h" /* initializing GEOS and PROJ.4 handles */ @@ -508,76 +304,10 @@ done: /* unlocking the semaphore */ splite_cache_semaphore_unlock (); return cache; -#endif -} - -SPATIALITE_DECLARE void -spatialite_finalize_topologies (const void *ptr) -{ -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ -/* freeing all Topology Accessor Objects */ - struct splite_savepoint *p_svpt; - struct splite_savepoint *p_svpt_n; - struct splite_internal_cache *cache = (struct splite_internal_cache *) ptr; - if (cache == NULL) - return; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return; - free_internal_cache_topologies (cache->firstTopology); - cache->firstTopology = NULL; - cache->lastTopology = NULL; - p_svpt = cache->first_topo_svpt; - while (p_svpt != NULL) - { - p_svpt_n = p_svpt->next; - if (p_svpt->savepoint_name != NULL) - sqlite3_free (p_svpt->savepoint_name); - free (p_svpt); - p_svpt = p_svpt_n; - } - cache->first_topo_svpt = NULL; - cache->last_topo_svpt = NULL; - free_internal_cache_networks (cache->firstNetwork); - cache->firstNetwork = NULL; - cache->lastTopology = NULL; - p_svpt = cache->first_net_svpt; - while (p_svpt != NULL) - { - p_svpt_n = p_svpt->next; - if (p_svpt->savepoint_name != NULL) - sqlite3_free (p_svpt->savepoint_name); - free (p_svpt); - p_svpt = p_svpt_n; - } - cache->first_net_svpt = NULL; - cache->last_net_svpt = NULL; -#else - if (ptr == NULL) - return; /* silencing stupid compiler warnings */ -#endif /* end RTTOPO conditionals */ -} - -static void -free_sequences (struct splite_internal_cache *cache) -{ -/* freeing all Sequences */ - gaiaSequencePtr pS; - gaiaSequencePtr pSn; - - pS = cache->first_seq; - while (pS != NULL) - { - pSn = pS->next; - if (pS->seq_name != NULL) - free (pS->seq_name); - free (pS); - pS = pSn; - } } SPATIALITE_PRIVATE void free_internal_cache (struct splite_internal_cache *cache) { @@ -599,15 +329,11 @@ return; #ifndef OMIT_GEOS handle = cache->GEOS_handle; if (handle != NULL) -#ifdef GEOS_REENTRANT /* reentrant (thread-safe) initialization */ - GEOS_finish_r (handle); -#else /* end GEOS_REENTRANT */ finishGEOS_r (handle); -#endif cache->GEOS_handle = NULL; gaiaResetGeosMsg_r (cache); #endif #ifndef OMIT_PROJ @@ -614,30 +340,10 @@ if (cache->PROJ_handle != NULL) pj_ctx_free (cache->PROJ_handle); cache->PROJ_handle = NULL; #endif -#ifdef ENABLE_RTTOPO - if (cache->RTTOPO_handle != NULL) - rtgeom_finish (cache->RTTOPO_handle); - cache->RTTOPO_handle = NULL; -#endif - -/* freeing GEOS error buffers */ - if (cache->gaia_geos_error_msg) - free (cache->gaia_geos_error_msg); - if (cache->gaia_geos_warning_msg) - free (cache->gaia_geos_warning_msg); - if (cache->gaia_geosaux_error_msg) - free (cache->gaia_geosaux_error_msg); - -/* freeing RTTOPO error buffers */ - if (cache->gaia_rttopo_error_msg) - free (cache->gaia_rttopo_error_msg); - if (cache->gaia_rttopo_warning_msg) - free (cache->gaia_rttopo_warning_msg); - /* freeing the XML error buffers */ gaiaOutBufferReset (cache->xmlParsingErrors); gaiaOutBufferReset (cache->xmlSchemaValidationErrors); gaiaOutBufferReset (cache->xmlXPathErrors); free (cache->xmlParsingErrors); @@ -656,168 +362,173 @@ p_xmlSchema = &(cache->xmlSchemaCache[i]); splite_free_xml_schema_cache_item (p_xmlSchema); } #endif - if (cache->cutterMessage != NULL) - sqlite3_free (cache->cutterMessage); - cache->cutterMessage = NULL; - free_sequences (cache); - - spatialite_finalize_topologies (cache); - -#ifndef GEOS_REENTRANT /* only partially thread-safe mode */ /* releasing the connection pool object */ invalidate (cache->pool_index); -#endif /* end GEOS_REENTRANT */ /* freeing the cache itself */ free (cache); } GAIAGEO_DECLARE void gaiaResetGeosMsg_r (const void *p_cache) { /* resets the GEOS error and warning messages */ + struct splite_connection *p = NULL; struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 - || cache->magic2 == SPATIALITE_CACHE_MAGIC2) - ; - else + if (cache != NULL) + { + if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 + || cache->magic2 == SPATIALITE_CACHE_MAGIC2) + p = &(splite_connection_pool[cache->pool_index]); + } + if (p == NULL) return; - if (cache->gaia_geos_error_msg != NULL) - free (cache->gaia_geos_error_msg); - if (cache->gaia_geos_warning_msg != NULL) - free (cache->gaia_geos_warning_msg); - if (cache->gaia_geosaux_error_msg != NULL) - free (cache->gaia_geosaux_error_msg); - cache->gaia_geos_error_msg = NULL; - cache->gaia_geos_warning_msg = NULL; - cache->gaia_geosaux_error_msg = NULL; + if (p->gaia_geos_error_msg != NULL) + free (p->gaia_geos_error_msg); + if (p->gaia_geos_warning_msg != NULL) + free (p->gaia_geos_warning_msg); + if (p->gaia_geosaux_error_msg != NULL) + free (p->gaia_geosaux_error_msg); + p->gaia_geos_error_msg = NULL; + p->gaia_geos_warning_msg = NULL; + p->gaia_geosaux_error_msg = NULL; } GAIAGEO_DECLARE const char * gaiaGetGeosErrorMsg_r (const void *p_cache) { /* return the latest GEOS error message */ + struct splite_connection *p = NULL; struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return NULL; - if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 - || cache->magic2 == SPATIALITE_CACHE_MAGIC2) - ; - else + if (cache != NULL) + { + if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 + || cache->magic2 == SPATIALITE_CACHE_MAGIC2) + p = &(splite_connection_pool[cache->pool_index]); + } + if (p == NULL) return NULL; - return cache->gaia_geos_error_msg; + return p->gaia_geos_error_msg; } GAIAGEO_DECLARE const char * gaiaGetGeosWarningMsg_r (const void *p_cache) { /* return the latest GEOS error message */ + struct splite_connection *p = NULL; struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return NULL; - if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 - || cache->magic2 == SPATIALITE_CACHE_MAGIC2) - ; - else + if (cache != NULL) + { + if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 + || cache->magic2 == SPATIALITE_CACHE_MAGIC2) + p = &(splite_connection_pool[cache->pool_index]); + } + if (p == NULL) return NULL; - return cache->gaia_geos_warning_msg; + return p->gaia_geos_warning_msg; } GAIAGEO_DECLARE const char * gaiaGetGeosAuxErrorMsg_r (const void *p_cache) { /* return the latest GEOS (auxialiary) error message */ + struct splite_connection *p = NULL; struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return NULL; - if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 - || cache->magic2 == SPATIALITE_CACHE_MAGIC2) - ; - else + if (cache != NULL) + { + if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 + || cache->magic2 == SPATIALITE_CACHE_MAGIC2) + p = &(splite_connection_pool[cache->pool_index]); + } + if (p == NULL) return NULL; - return cache->gaia_geosaux_error_msg; + return p->gaia_geosaux_error_msg; } GAIAGEO_DECLARE void gaiaSetGeosErrorMsg_r (const void *p_cache, const char *msg) { /* setting the latest GEOS error message */ int len; + struct splite_connection *p = NULL; struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 - || cache->magic2 == SPATIALITE_CACHE_MAGIC2) - ; - else + if (cache != NULL) + { + if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 + || cache->magic2 == SPATIALITE_CACHE_MAGIC2) + p = &(splite_connection_pool[cache->pool_index]); + } + if (p == NULL) return; - if (cache->gaia_geos_error_msg != NULL) - free (cache->gaia_geos_error_msg); - cache->gaia_geos_error_msg = NULL; + if (p->gaia_geos_error_msg != NULL) + free (p->gaia_geos_error_msg); + p->gaia_geos_error_msg = NULL; if (msg == NULL) return; len = strlen (msg); - cache->gaia_geos_error_msg = malloc (len + 1); - strcpy (cache->gaia_geos_error_msg, msg); + p->gaia_geos_error_msg = malloc (len + 1); + strcpy (p->gaia_geos_error_msg, msg); } GAIAGEO_DECLARE void gaiaSetGeosWarningMsg_r (const void *p_cache, const char *msg) { /* setting the latest GEOS error message */ int len; + struct splite_connection *p = NULL; struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 - || cache->magic2 == SPATIALITE_CACHE_MAGIC2) - ; - else + if (cache != NULL) + { + if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 + || cache->magic2 == SPATIALITE_CACHE_MAGIC2) + p = &(splite_connection_pool[cache->pool_index]); + } + if (p == NULL) return; - if (cache->gaia_geos_warning_msg != NULL) - free (cache->gaia_geos_warning_msg); - cache->gaia_geos_warning_msg = NULL; + if (p->gaia_geos_warning_msg != NULL) + free (p->gaia_geos_warning_msg); + p->gaia_geos_warning_msg = NULL; if (msg == NULL) return; len = strlen (msg); - cache->gaia_geos_warning_msg = malloc (len + 1); - strcpy (cache->gaia_geos_warning_msg, msg); + p->gaia_geos_warning_msg = malloc (len + 1); + strcpy (p->gaia_geos_warning_msg, msg); } GAIAGEO_DECLARE void gaiaSetGeosAuxErrorMsg_r (const void *p_cache, const char *msg) { /* setting the latest GEOS (auxiliary) error message */ int len; + struct splite_connection *p = NULL; struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 - || cache->magic2 == SPATIALITE_CACHE_MAGIC2) - ; - else + if (cache != NULL) + { + if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 + || cache->magic2 == SPATIALITE_CACHE_MAGIC2) + p = &(splite_connection_pool[cache->pool_index]); + } + if (p == NULL) return; - if (cache->gaia_geosaux_error_msg != NULL) - free (cache->gaia_geosaux_error_msg); - cache->gaia_geosaux_error_msg = NULL; + if (p->gaia_geosaux_error_msg != NULL) + free (p->gaia_geosaux_error_msg); + p->gaia_geosaux_error_msg = NULL; if (msg == NULL) return; len = strlen (msg); - cache->gaia_geosaux_error_msg = malloc (len + 1); - strcpy (cache->gaia_geosaux_error_msg, msg); + p->gaia_geosaux_error_msg = malloc (len + 1); + strcpy (p->gaia_geosaux_error_msg, msg); } static char * parse_number_from_msg (const char *str) { @@ -935,24 +646,24 @@ */ double x; double y; gaiaGeomCollPtr geom; const char *msg; + struct splite_connection *p = NULL; struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; - - if (cache == NULL) - return NULL; - if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 - || cache->magic2 == SPATIALITE_CACHE_MAGIC2) - ; - else + if (cache != NULL) + { + if (cache->magic1 == SPATIALITE_CACHE_MAGIC1 + || cache->magic2 == SPATIALITE_CACHE_MAGIC2) + p = &(splite_connection_pool[cache->pool_index]); + } + if (p == NULL) return NULL; - - msg = cache->gaia_geos_error_msg; + msg = p->gaia_geos_error_msg; if (msg == NULL) - msg = cache->gaia_geos_warning_msg; + msg = p->gaia_geos_warning_msg; if (msg == NULL) return NULL; if (!check_geos_critical_point (msg, &x, &y)) return NULL; geom = gaiaAllocGeomColl (); @@ -974,14 +685,33 @@ splite_cache_semaphore_unlock (void) { #ifdef _WIN32 LeaveCriticalSection (&gaia_cache_semaphore); #else - pthread_mutex_trylock (&gaia_cache_semaphore); pthread_mutex_unlock (&gaia_cache_semaphore); #endif } + +SPATIALITE_PRIVATE void +splite_lwgeom_semaphore_lock (void) +{ +#ifdef _WIN32 + EnterCriticalSection (&gaia_lwgeom_semaphore); +#else + pthread_mutex_lock (&gaia_lwgeom_semaphore); +#endif +} + +SPATIALITE_PRIVATE void +splite_lwgeom_semaphore_unlock (void) +{ +#ifdef _WIN32 + LeaveCriticalSection (&gaia_lwgeom_semaphore); +#else + pthread_mutex_unlock (&gaia_lwgeom_semaphore); +#endif +} SPATIALITE_DECLARE void spatialite_initialize (void) { /* initializes the library */ @@ -988,10 +718,11 @@ if (gaia_already_initialized) return; #ifdef _WIN32 InitializeCriticalSection (&gaia_cache_semaphore); + InitializeCriticalSection (&gaia_lwgeom_semaphore); #endif #ifdef ENABLE_LIBXML2 /* only if LIBXML2 is supported */ xmlInitParser (); #endif /* end LIBXML2 conditional */ @@ -1001,58 +732,26 @@ SPATIALITE_DECLARE void spatialite_shutdown (void) { /* finalizes the library */ -#ifndef GEOS_REENTRANT int i; -#endif if (!gaia_already_initialized) return; #ifdef _WIN32 DeleteCriticalSection (&gaia_cache_semaphore); + DeleteCriticalSection (&gaia_lwgeom_semaphore); #endif #ifdef ENABLE_LIBXML2 /* only if LIBXML2 is supported */ xmlCleanupParser (); #endif /* end LIBXML2 conditional */ -#ifndef GEOS_REENTRANT /* only when using the obsolete partially thread-safe mode */ for (i = 0; i < SPATIALITE_MAX_CONNECTIONS; i++) { struct splite_connection *p = &(splite_connection_pool[i]); if (p->conn_ptr != NULL && p->conn_ptr != GAIA_CONN_RESERVED) free_internal_cache (p->conn_ptr); } -#endif /* end GEOS_REENTRANT */ - gaia_already_initialized = 0; } - -SPATIALITE_DECLARE void -spatialite_set_silent_mode (const void *p_cache) -{ -/* setting up the SILENT mode */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return; - cache->silent_mode = 1; -} - -SPATIALITE_DECLARE void -spatialite_set_verbose_mode (const void *p_cache) -{ -/* setting up the VERBOSE mode */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return; - cache->silent_mode = 0; -} Index: src/connection_cache/cache_aux_1.h ================================================================== --- src/connection_cache/cache_aux_1.h +++ src/connection_cache/cache_aux_1.h @@ -2,72 +2,75 @@ struct splite_connection { /* connections pool */ void *conn_ptr; + char *gaia_geos_error_msg; + char *gaia_geos_warning_msg; + char *gaia_geosaux_error_msg; } splite_connection_pool[SPATIALITE_MAX_CONNECTIONS] = { - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL}, - {NULL} + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL}, + {NULL, NULL, NULL, NULL} }; Index: src/connection_cache/generator/Makefile.in ================================================================== --- src/connection_cache/generator/Makefile.in +++ src/connection_cache/generator/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/connection_cache/generator +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -265,10 +254,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/connection_cache/generator/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/connection_cache/generator/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -439,11 +429,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/connection_cache/generator/code_generator.c ================================================================== --- src/connection_cache/generator/code_generator.c +++ src/connection_cache/generator/code_generator.c @@ -73,18 +73,21 @@ } fprintf (out, "#define SPATIALITE_MAX_CONNECTIONS\t%d\n\n", max); fprintf (out, "struct splite_connection\n{\n"); fprintf (out, "/* connections pool */\n"); fprintf (out, "\tvoid *conn_ptr;\n"); + fprintf (out, "\tchar *gaia_geos_error_msg;\n"); + fprintf (out, "\tchar *gaia_geos_warning_msg;\n"); + fprintf (out, "\tchar *gaia_geosaux_error_msg;\n"); fprintf (out, "} splite_connection_pool[" "SPATIALITE_MAX_CONNECTIONS] =\n{\n"); for (i = 0; i < max; i++) { if (i == (max - 1)) - fprintf (out, "\t{NULL}\n"); + fprintf (out, "\t{NULL, NULL, NULL, NULL}\n"); else - fprintf (out, "\t{NULL},\n"); + fprintf (out, "\t{NULL, NULL, NULL, NULL},\n"); } fprintf (out, "};\n"); fclose (out); /* generating "cache_aux_2.h" */ DELETED src/connection_cache/gg_sequence.c Index: src/connection_cache/gg_sequence.c ================================================================== --- src/connection_cache/gg_sequence.c +++ src/connection_cache/gg_sequence.c @@ -1,172 +0,0 @@ -/* - gg_sequence.c -- Gaia support for Spatialite's own Sequence - - version 4.4, 2016 August 12 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2013-2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#include - -GAIASEQ_DECLARE gaiaSequencePtr -gaiaCreateSequence (const void *p_cache, const char *seq_name) -{ -/* creating a new Sequence or retrieving an already existing Sequence */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - gaiaSequencePtr seq; - - if (cache == NULL) - return NULL; - seq = cache->first_seq; - while (seq != NULL) - { - /* testing for an existing Sequence */ - if (seq_name == NULL && seq->seq_name == NULL) - return seq; - if (seq_name != NULL && seq->seq_name != NULL) - { - if (strcasecmp (seq_name, seq->seq_name) == 0) - return seq; - } - seq = seq->next; - } - -/* not already existsting; creating a new Sequence */ - seq = malloc (sizeof (gaiaSequence)); - if (seq_name == NULL) - seq->seq_name = NULL; - else - { - int len = strlen (seq_name); - seq->seq_name = malloc (len + 1); - strcpy (seq->seq_name, seq_name); - } - seq->value = 0; - seq->next = NULL; - -/* inserting into the linked list */ - if (cache->first_seq == NULL) - cache->first_seq = seq; - if (cache->last_seq != NULL) - cache->last_seq->next = seq; - cache->last_seq = seq; - - return seq; -} - -GAIASEQ_DECLARE gaiaSequencePtr -gaiaFindSequence (const void *p_cache, const char *seq_name) -{ -/* retrieving an existing Sequence */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - gaiaSequencePtr seq; - - if (cache == NULL) - return NULL; - seq = cache->first_seq; - while (seq != NULL) - { - /* testing for an existing Sequence */ - if (seq_name == NULL && seq->seq_name == NULL) - return seq; - if (seq_name != NULL && seq->seq_name != NULL) - { - if (strcasecmp (seq_name, seq->seq_name) == 0) - return seq; - } - seq = seq->next; - } - - return NULL; -} - -GAIASEQ_DECLARE int -gaiaLastUsedSequence (const void *p_cache, int *value) -{ -/* return the most recently used Sequence (if any) */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - - if (cache == NULL) - return 0; - if (cache->ok_last_used_sequence == 0) - return 0; - *value = cache->last_used_sequence_val; - return 1; -} - -GAIASEQ_DECLARE int -gaiaSequenceNext (const void *p_cache, gaiaSequencePtr seq) -{ -/* inreases the Sequence value */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - - if (cache == NULL) - return 0; - if (seq == NULL) - return 0; - - seq->value += 1; - cache->ok_last_used_sequence = 1; - cache->last_used_sequence_val = seq->value; - return 1; -} - -GAIASEQ_DECLARE int -gaiaResetSequence (gaiaSequencePtr seq, int value) -{ -/* resetting a Sequence */ - if (seq == NULL) - return 0; - - seq->value = abs (value); - return 1; -} Index: src/control_points/Makefile.in ================================================================== --- src/control_points/Makefile.in +++ src/control_points/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,21 +14,11 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -88,19 +78,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/control_points +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp $(noinst_HEADERS) COPYING ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -183,11 +173,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp COPYING DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -345,10 +334,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/control_points/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/control_points/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -654,11 +644,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/control_points/gaia_control_points.c ================================================================== --- src/control_points/gaia_control_points.c +++ src/control_points/gaia_control_points.c @@ -36,57 +36,25 @@ #include "config-msvc.h" #else #include "config.h" #endif -#ifdef ENABLE_GCP /* only if ControlPoints enabled */ - -#include +#ifdef ENABLE_CONTROL_POINTS /* only if ControlPoints enabled */ #include -#include -#include #include #include "grass_crs.h" -#define POLYNOMIAL_MAGIC_START 0x00 -#define POLYNOMIAL_MAGIC_DELIMITER 0x6a -#define POLYNOMIAL_MAGIC_END 0x63 -#define POLYNOMIAL_FIRST_ORDER 0xb1 -#define POLYNOMIAL_SECOND_ORDER 0xb2 -#define POLYNOMIAL_THIRD_ORDER 0xb3 -#define THIN_PLATE_SPLINE 0x3f -#define POLYNOMIAL_2D 0x3e -#define POLYNOMIAL_3D 0x3d - -struct cp_coeffs -{ -/* Polynomial Coefficients */ - unsigned char type; - unsigned char order; - double E[20]; - double N[20]; - double Z[20]; - double *Etps; - double *Ntps; - struct Control_Points grass_cp; -}; - GAIACP_DECLARE GaiaControlPointsPtr -gaiaCreateControlPoints (int allocation_incr, int has3d, int order, int tps) +gaiaCreateControlPoints (int allocation_incr, int has3d, int tps) { /* creating a Control Point set container */ struct gaia_control_points *cp = malloc (sizeof (struct gaia_control_points)); if (cp == NULL) return NULL; - if (order < 1) - order = 1; - if (order > 3) - order = 3; - cp->order = order; cp->has3d = has3d; cp->tps = tps; cp->affine_valid = 0; if (allocation_incr < 64) allocation_incr = 64; @@ -294,321 +262,17 @@ free (cp->z2); if (cp->status != NULL) free (cp->status); } -static int -blob_encode_3d (double *E, double *N, double *Z, int order, - unsigned char **blob, int *blob_sz) +GAIACP_DECLARE int +gaiaAffineFromControlPoints (GaiaControlPointsPtr cp_handle) { -/* creating a BLOB-Polynomial object - 3D */ - int i; - int max; - unsigned char *xblob = NULL; - unsigned char *ptr; - int xblob_sz; - int endian_arch = gaiaEndianArch (); - - *blob = NULL; - *blob_sz = 0; - - if (order == 2) - max = 10; - else if (order == 3) - max = 20; - else - max = 4; - xblob_sz = 11 + (max * (3 * (sizeof (double) + 1))); - - xblob = malloc (xblob_sz); - if (xblob == NULL) - return 0; - ptr = xblob; -/* encoding the BLOB */ - *ptr = POLYNOMIAL_MAGIC_START; /* START signature */ - *(ptr + 1) = 1; /* LITTLE ENDIAN */ - *(ptr + 2) = POLYNOMIAL_3D; - *(ptr + 3) = POLYNOMIAL_MAGIC_DELIMITER; - *(ptr + 4) = order; - *(ptr + 5) = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport32 (ptr + 6, 0, 1, endian_arch); - ptr = xblob + 10; - for (i = 0; i < max; i++) - { - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, E[i], 1, endian_arch); - ptr += sizeof (double); - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, N[i], 1, endian_arch); - ptr += sizeof (double); - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, Z[i], 1, endian_arch); - ptr += sizeof (double); - } - *ptr = POLYNOMIAL_MAGIC_END; - - *blob = xblob; - *blob_sz = xblob_sz; - return 1; -} - -static int -blob_encode_2d (double *E, double *N, unsigned char order, - unsigned char **blob, int *blob_sz) -{ -/* creating a BLOB-Polynomial object - 2D */ - int i; - int max; - unsigned char *xblob = NULL; - unsigned char *ptr; - int xblob_sz; - int endian_arch = gaiaEndianArch (); - - *blob = NULL; - *blob_sz = 0; - - if (order == 2) - max = 6; - else if (order == 3) - max = 10; - else - max = 3; - xblob_sz = 11 + (max * (2 * (sizeof (double) + 1))); - - xblob = malloc (xblob_sz); - if (xblob == NULL) - return 0; - ptr = xblob; -/* encoding the BLOB */ - *ptr = POLYNOMIAL_MAGIC_START; /* START signature */ - *(ptr + 1) = 1; /* LITTLE ENDIAN */ - *(ptr + 2) = POLYNOMIAL_2D; - *(ptr + 3) = POLYNOMIAL_MAGIC_DELIMITER; - *(ptr + 4) = order; - *(ptr + 5) = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport32 (ptr + 6, 0, 1, endian_arch); - ptr = xblob + 10; - for (i = 0; i < max; i++) - { - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, E[i], 1, endian_arch); - ptr += sizeof (double); - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, N[i], 1, endian_arch); - ptr += sizeof (double); - } - *ptr = POLYNOMIAL_MAGIC_END; - - *blob = xblob; - *blob_sz = xblob_sz; - return 1; -} - -static int -blob_encode_tps (double *E, double *N, struct Control_Points *cp, - unsigned char **blob, int *blob_sz) -{ -/* creating a BLOB-Polynomial object - 2D */ - int i; - unsigned char *xblob = NULL; - unsigned char *ptr; - int xblob_sz; - int endian_arch = gaiaEndianArch (); - - *blob = NULL; - *blob_sz = 0; - - xblob_sz = 11 + ((cp->count + 3) * (2 * (sizeof (double) + 1))); - xblob_sz += (cp->count * (4 * (sizeof (double) + 1))); - - xblob = malloc (xblob_sz); - if (xblob == NULL) - return 0; - ptr = xblob; -/* encoding the BLOB */ - *ptr = POLYNOMIAL_MAGIC_START; /* START signature */ - *(ptr + 1) = 1; /* LITTLE ENDIAN */ - *(ptr + 2) = THIN_PLATE_SPLINE; - *(ptr + 3) = POLYNOMIAL_MAGIC_DELIMITER; - *(ptr + 4) = 1; - *(ptr + 5) = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport32 (ptr + 6, cp->count, 1, endian_arch); - ptr = xblob + 10; - for (i = 0; i < cp->count + 3; i++) - { - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, E[i], 1, endian_arch); - ptr += sizeof (double); - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, N[i], 1, endian_arch); - ptr += sizeof (double); - } - for (i = 0; i < cp->count; i++) - { - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, cp->e1[i], 1, endian_arch); - ptr += sizeof (double); - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, cp->n1[i], 1, endian_arch); - ptr += sizeof (double); - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, cp->e2[i], 1, endian_arch); - ptr += sizeof (double); - *ptr++ = POLYNOMIAL_MAGIC_DELIMITER; - gaiaExport64 (ptr, cp->n2[i], 1, endian_arch); - ptr += sizeof (double); - } - *ptr = POLYNOMIAL_MAGIC_END; - - *blob = xblob; - *blob_sz = xblob_sz; - return 1; -} - -static int -blob_decode (struct cp_coeffs *coeffs, const unsigned char *blob, int blob_sz) -{ -/* decoding a BLOB-Polynomial coeffs object */ - int endian; - int endian_arch = gaiaEndianArch (); - unsigned char type; - unsigned char order; - int count; - int i; - int max; - int xblob_sz; - const unsigned char *ptr = blob; - - coeffs->Etps = NULL; - coeffs->Ntps = NULL; - coeffs->grass_cp.count = 0; - coeffs->grass_cp.e1 = NULL; - coeffs->grass_cp.n1 = NULL; - coeffs->grass_cp.e2 = NULL; - coeffs->grass_cp.n2 = NULL; - coeffs->grass_cp.status = NULL; - if (blob == NULL) - return 0; - if (blob_sz < 11) - return 0; - - if (*ptr != POLYNOMIAL_MAGIC_START) - return 0; - if (*(ptr + 1) == 1) - endian = 1; - else if (*(ptr + 1) == 0) - endian = 0; - else - return 0; - type = *(ptr + 2); - order = *(ptr + 4); - coeffs->type = type; - coeffs->order = order; - if (order < 1 || order > 3) - return 0; - if (type == THIN_PLATE_SPLINE) - max = 0; - else if (type == POLYNOMIAL_2D) - { - if (order == 2) - max = 6; - else if (order == 3) - max = 10; - else - max = 3; - } - else if (type == POLYNOMIAL_3D) - { - if (order == 2) - max = 10; - else if (order == 3) - max = 20; - else - max = 4; - } - else - return 0; - count = gaiaImport32 (ptr + 6, endian, endian_arch); - if (type == POLYNOMIAL_3D) - xblob_sz = 11 + (max * (3 * (sizeof (double) + 1))); - else - xblob_sz = 11 + (max * (2 * (sizeof (double) + 1))); - if (type == THIN_PLATE_SPLINE) - { - xblob_sz += ((count + 3) * (2 * (sizeof (double) + 1))); - xblob_sz += (count * (4 * (sizeof (double) + 1))); - } - if (blob_sz != xblob_sz) - return 0; - - ptr = blob + 11; - for (i = 0; i < max; i++) - { - coeffs->E[i] = gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - coeffs->N[i] = gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - if (type == POLYNOMIAL_3D) - { - coeffs->Z[i] = gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - } - } - - if (type == THIN_PLATE_SPLINE) - { - /* extracting the Control Points for Grass TPS code */ - coeffs->Etps = malloc (sizeof (double) * (3 + count)); - coeffs->Ntps = malloc (sizeof (double) * (3 + count)); - coeffs->grass_cp.count = count; - coeffs->grass_cp.e1 = malloc (sizeof (double) * count); - coeffs->grass_cp.n1 = malloc (sizeof (double) * count); - coeffs->grass_cp.e2 = malloc (sizeof (double) * count); - coeffs->grass_cp.n2 = malloc (sizeof (double) * count); - coeffs->grass_cp.status = malloc (sizeof (int) * count); - for (i = 0; i < count + 3; i++) - { - coeffs->Etps[i] = gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - coeffs->Ntps[i] = gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - } - for (i = 0; i < count; i++) - { - coeffs->grass_cp.e1[i] = - gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - coeffs->grass_cp.n1[i] = - gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - coeffs->grass_cp.e2[i] = - gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - coeffs->grass_cp.n2[i] = - gaiaImport64 (ptr, endian, endian_arch); - ptr += sizeof (double) + 1; - coeffs->grass_cp.status[i] = 1; - } - } - return 1; -} - - -GAIACP_DECLARE int -gaiaCreatePolynomialCoeffs (GaiaControlPointsPtr cp_handle, - unsigned char **blob, int *blob_sz) -{ -/* - * computes the Control Points and return a BLOB-serialized - * Polynomial coeffs object -*/ - unsigned char *xblob; - int xblob_sz; +/* creating an Affine Transform from the Control Points */ struct Control_Points cp; struct Control_Points_3D cp3; int ret = 0; - int ret2; int use3d; int orthorot = 0; int order = 1; int order_pnts[2][3] = { {3, 6, 10}, {4, 10, 20} }; @@ -620,15 +284,16 @@ double Z21[20]; double *E12_t = NULL; double *N12_t = NULL; double *E21_t = NULL; double *N21_t = NULL; + struct gaia_control_points *gaia_cp = (struct gaia_control_points *) cp_handle; + if (gaia_cp == NULL) + return 0; - *blob = NULL; - *blob_sz = 0; if (gaia_cp == NULL) return 0; cp.count = 0; cp.e1 = NULL; @@ -645,32 +310,30 @@ cp3.z1 = NULL; cp3.z2 = NULL; cp3.status = NULL; use3d = gaia_cp->has3d; - order = gaia_cp->order; if (use3d) { /* 3D control points */ copy_control_points_3d (gaia_cp, &cp3); ret = - gcp_CRS_compute_georef_equations_3d (&cp3, E12, N12, Z12, E21, - N21, Z21, order); + CRS_compute_georef_equations_3d (&cp3, E12, N12, Z12, E21, N21, + Z21, order); } else { /* 2D control points */ copy_control_points_2d (gaia_cp, &cp); if (gaia_cp->tps) ret = - gcp_I_compute_georef_equations_tps (&cp, &E12_t, &N12_t, - &E21_t, &N21_t); + I_compute_georef_equations_tps (&cp, &E12_t, &N12_t, &E21_t, + &N21_t); else - ret = - gcp_I_compute_georef_equations (&cp, E12, N12, E21, N21, - order); + ret = I_compute_georef_equations (&cp, E12, N12, E21, N21, order); } +fprintf(stderr, "ret=%d tps=%d\n", ret, gaia_cp->tps); switch (ret) { case 0: fprintf (stderr, @@ -690,623 +353,68 @@ break; default: break; } - if (ret > 0) - { - if (use3d) - ret2 = blob_encode_3d (E12, N12, Z12, order, &xblob, &xblob_sz); - else - { - if (gaia_cp->tps) - ret2 = - blob_encode_tps (E12_t, N12_t, &cp, &xblob, &xblob_sz); - else - ret2 = blob_encode_2d (E12, N12, order, &xblob, &xblob_sz); - } - } - if (use3d) free_control_points_3d (&cp3); else free_control_points_2d (&cp); + + if (ret > 0) + { + if (use3d) + { + gaia_cp->a = E12[1]; + gaia_cp->b = E12[2]; + gaia_cp->c = E12[3]; + gaia_cp->d = N12[1]; + gaia_cp->e = N12[2]; + gaia_cp->f = N12[3]; + gaia_cp->g = Z12[1]; + gaia_cp->h = Z12[2]; + gaia_cp->i = Z12[3]; + gaia_cp->xoff = E12[0]; + gaia_cp->yoff = N12[0]; + gaia_cp->zoff = Z12[0]; + } + else + { + if (gaia_cp->tps) + { + gaia_cp->a = E12_t[1]; + gaia_cp->b = E12_t[2]; + gaia_cp->d = N12_t[1]; + gaia_cp->e = N12_t[2]; + gaia_cp->xoff = E12_t[0]; + gaia_cp->yoff = N12_t[0]; + gaia_cp->affine_valid = 1; +fprintf(stderr, "pl\n"); + } + else + { + gaia_cp->a = E12[1]; + gaia_cp->b = E12[2]; + gaia_cp->d = N12[1]; + gaia_cp->e = N12[2]; + gaia_cp->xoff = E12[0]; + gaia_cp->yoff = N12[0]; + gaia_cp->affine_valid = 1; + } + } + } + if (E12_t != NULL) free (E12_t); if (N12_t != NULL) free (N12_t); if (E21_t != NULL) free (E21_t); if (N21_t != NULL) free (N21_t); - if (ret > 0 && ret2) - { - *blob = xblob; - *blob_sz = xblob_sz; - return 1; - } - return 0; -} - -GAIACP_DECLARE int -gaiaPolynomialIsValid (const unsigned char *blob, int blob_sz) -{ -/* checking a BLOB-Polynomial coeffs object for validity */ - unsigned char type; - unsigned char order; - int i; - int max; - int xblob_sz; - int endian; - int endian_arch = gaiaEndianArch (); - int count; - const unsigned char *ptr = blob; - if (blob == NULL) - return 0; - if (blob_sz < 11) - return 0; - - if (*ptr != POLYNOMIAL_MAGIC_START) - return 0; - if (*(ptr + 1) == 1) - endian = 1; - else if (*(ptr + 1) == 0) - endian = 0; - else - return 0; - type = *(ptr + 2); - order = *(ptr + 4); - if (order > 3) - return 0; - if (type == THIN_PLATE_SPLINE) - max = 0; - else if (type == POLYNOMIAL_2D) - { - if (order == 2) - max = 6; - else if (order == 3) - max = 10; - else - max = 3; - } - else if (type == POLYNOMIAL_3D) - { - if (order == 2) - max = 10; - else if (order == 3) - max = 20; - else - max = 4; - } - else - return 0; - count = gaiaImport32 (ptr + 6, endian, endian_arch); - if (type == POLYNOMIAL_3D) - xblob_sz = 11 + (max * (3 * (sizeof (double) + 1))); - else - xblob_sz = 11 + (max * (2 * (sizeof (double) + 1))); - if (type == THIN_PLATE_SPLINE) - { - xblob_sz += ((count + 3) * (2 * (sizeof (double) + 1))); - xblob_sz += (count * (4 * (sizeof (double) + 1))); - } - if (blob_sz != xblob_sz) - return 0; - - ptr = blob + 10; - for (i = 0; i < max; i++) - { - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - if (type == POLYNOMIAL_3D) - { - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - } - } - if (type == THIN_PLATE_SPLINE) - { - for (i = 0; i < count + 3; i++) - { - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - } - for (i = 0; i < count; i++) - { - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - if (*ptr != POLYNOMIAL_MAGIC_DELIMITER) - return 0; - ptr++; - ptr += sizeof (double); - } - } - if (*ptr != POLYNOMIAL_MAGIC_END) - return 0; - return 1; -} - -static void -clean_tps_coeffs (struct cp_coeffs *cp) -{ -/* memory cleanup - TPS coefficients */ - if (cp->Etps != NULL) - free (cp->Etps); - if (cp->Ntps != NULL) - free (cp->Ntps); -} - -GAIACP_DECLARE char * -gaiaPolynomialAsText (const unsigned char *blob, int blob_sz) -{ -/* printing a BLOB-Polynomial coeffs object as a text string */ - char *text = NULL; - struct cp_coeffs coeffs; - if (!gaiaPolynomialIsValid (blob, blob_sz)) - return NULL; - if (!blob_decode (&coeffs, blob, blob_sz)) - return NULL; - - free_control_points_2d (&(coeffs.grass_cp)); -/* printing the Polynommial coeffs as text */ - if (coeffs.type == POLYNOMIAL_3D) - { - if (coeffs.order == 3) - text = - sqlite3_mprintf - ("E{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, " - "N{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, " - "Z{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}", - coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3], - coeffs.E[4], coeffs.E[5], coeffs.E[6], coeffs.E[6], - coeffs.E[7], coeffs.E[8], coeffs.E[9], coeffs.E[10], - coeffs.E[11], coeffs.E[12], coeffs.E[13], coeffs.E[14], - coeffs.E[15], coeffs.E[16], coeffs.E[16], coeffs.E[17], - coeffs.E[18], coeffs.E[19], coeffs.N[0], coeffs.N[1], - coeffs.N[2], coeffs.N[3], coeffs.N[4], coeffs.N[5], - coeffs.N[6], coeffs.N[6], coeffs.N[7], coeffs.N[8], - coeffs.N[9], coeffs.N[10], coeffs.N[11], coeffs.N[12], - coeffs.N[13], coeffs.N[14], coeffs.N[15], coeffs.N[16], - coeffs.N[16], coeffs.N[17], coeffs.N[18], coeffs.N[19], - coeffs.Z[0], coeffs.Z[1], coeffs.Z[2], coeffs.Z[3], - coeffs.Z[4], coeffs.Z[5], coeffs.Z[6], coeffs.Z[6], - coeffs.Z[7], coeffs.Z[8], coeffs.Z[9], coeffs.Z[10], - coeffs.Z[11], coeffs.Z[12], coeffs.Z[13], coeffs.Z[14], - coeffs.Z[15], coeffs.Z[16], coeffs.Z[16], coeffs.Z[17], - coeffs.Z[18], coeffs.Z[19]); - else if (coeffs.order == 2) - text = - sqlite3_mprintf - ("E{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, " - "N{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, " - "Z{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}", - coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3], - coeffs.E[4], coeffs.E[5], coeffs.E[6], coeffs.E[6], - coeffs.E[7], coeffs.E[8], coeffs.E[9], coeffs.N[0], - coeffs.N[1], coeffs.N[2], coeffs.N[3], coeffs.N[4], - coeffs.N[5], coeffs.N[6], coeffs.N[6], coeffs.N[7], - coeffs.N[8], coeffs.N[9], coeffs.Z[0], coeffs.Z[1], - coeffs.Z[2], coeffs.Z[3], coeffs.Z[4], coeffs.Z[5], - coeffs.Z[6], coeffs.Z[6], coeffs.Z[7], coeffs.Z[8], - coeffs.Z[9]); - else - text = - sqlite3_mprintf - ("E{%1.10f,%1.10f,%1.10f,%1.10f}, N{%1.10f,%1.10f,%1.10f,%1.10f}, Z{%1.10f,%1.10f,%1.10f,%1.10f}", - coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3], - coeffs.N[0], coeffs.N[1], coeffs.N[2], coeffs.N[3], - coeffs.Z[0], coeffs.Z[1], coeffs.Z[2], coeffs.Z[3]); - } - else - { - if (coeffs.order == 3) - text = - sqlite3_mprintf - ("E{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, " - "N{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}", - coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3], - coeffs.E[4], coeffs.E[5], coeffs.E[6], coeffs.E[6], - coeffs.E[7], coeffs.E[8], coeffs.E[9], coeffs.N[0], - coeffs.N[1], coeffs.N[2], coeffs.N[3], coeffs.N[4], - coeffs.N[5], coeffs.N[6], coeffs.N[6], coeffs.N[7], - coeffs.N[8], coeffs.N[9]); - else if (coeffs.order == 2) - text = - sqlite3_mprintf - ("E{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}, " - "N{%1.10f,%1.10f,%1.10f,%1.10f,%1.10f,%1.10f}", - coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.E[3], - coeffs.E[4], coeffs.E[5], coeffs.N[0], coeffs.N[1], - coeffs.N[2], coeffs.N[3], coeffs.N[4], coeffs.N[5]); - else - text = - sqlite3_mprintf - ("E{%1.10f,%1.10f,%1.10f}, N{%1.10f,%1.10f,%1.10f}", - coeffs.E[0], coeffs.E[1], coeffs.E[2], coeffs.N[0], - coeffs.N[1], coeffs.N[2]); - } - clean_tps_coeffs (&coeffs); - return text; -} - -static void -gaia_point_transform3D (struct cp_coeffs *coeffs, double *x, double *y, - double *z) -{ -/* Affine Transform 3D */ - double x0 = *x; - double y0 = *y; - double z0 = *z; - double x1; - double y1; - double z1; - if (coeffs->type == THIN_PLATE_SPLINE) - { - gcp_I_georef_tps (x0, y0, &x1, &y1, coeffs->Etps, coeffs->Ntps, - &(coeffs->grass_cp), 1); - z1 = z0; - } - else if (coeffs->type == POLYNOMIAL_2D) - { - gcp_I_georef (x0, y0, &x1, &y1, coeffs->E, coeffs->N, coeffs->order); - z1 = z0; - } - else - gcp_CRS_georef_3d (x0, y0, z0, &x1, &y1, &z1, coeffs->E, coeffs->N, - coeffs->Z, coeffs->order); - *x = x1; - *y = y1; - *z = z1; -} - - -static void -gaia_point_transform2D (struct cp_coeffs *coeffs, double *x, double *y) -{ -/* Affine Transform 2D */ - double x0 = *x; - double y0 = *y; - double x1; - double y1; - if (coeffs->type == THIN_PLATE_SPLINE) - gcp_I_georef_tps (x0, y0, &x1, &y1, coeffs->Etps, coeffs->Ntps, - &(coeffs->grass_cp), 1); - else - gcp_I_georef (x0, y0, &x1, &y1, coeffs->E, coeffs->N, coeffs->order); - *x = x1; - *y = y1; -} - -GAIACP_DECLARE gaiaGeomCollPtr -gaiaPolynomialTransformGeometry (gaiaGeomCollPtr geom, - const unsigned char *blob, int blob_sz) -{ -/* transforming a Geometry by applying Polynomial coefficients */ - int iv; - int ib; - double x; - double y; - double z; - double m; - gaiaPointPtr point; - gaiaLinestringPtr line; - gaiaLinestringPtr new_line; - gaiaPolygonPtr polyg; - gaiaPolygonPtr new_polyg; - gaiaGeomCollPtr new_geom; - gaiaRingPtr i_ring; - gaiaRingPtr o_ring; - struct cp_coeffs coeffs; - if (!gaiaPolynomialIsValid (blob, blob_sz)) - return NULL; - if (!blob_decode (&coeffs, blob, blob_sz)) - return NULL; - if (geom == NULL) - { - free_control_points_2d (&(coeffs.grass_cp)); - return NULL; - } - -/* creating the output Geometry */ - if (geom->DimensionModel == GAIA_XY_Z) - new_geom = gaiaAllocGeomCollXYZ (); - else if (geom->DimensionModel == GAIA_XY_M) - new_geom = gaiaAllocGeomCollXYM (); - else if (geom->DimensionModel == GAIA_XY_Z_M) - new_geom = gaiaAllocGeomCollXYZM (); - else - new_geom = gaiaAllocGeomColl (); - new_geom->Srid = geom->Srid; - new_geom->DeclaredType = geom->DeclaredType; - -/* cloning and transforming all individual items */ - point = geom->FirstPoint; - while (point) - { - /* copying POINTs */ - if (geom->DimensionModel == GAIA_XY_Z) - { - x = point->X; - y = point->Y; - z = point->Z; - gaia_point_transform3D (&coeffs, &x, &y, &z); - gaiaAddPointToGeomCollXYZ (new_geom, x, y, z); - } - else if (geom->DimensionModel == GAIA_XY_M) - { - x = point->X; - y = point->Y; - m = point->M; - gaia_point_transform2D (&coeffs, &x, &y); - gaiaAddPointToGeomCollXYM (new_geom, x, y, m); - } - else if (geom->DimensionModel == GAIA_XY_Z_M) - { - x = point->X; - y = point->Y; - z = point->Z; - m = point->M; - gaia_point_transform3D (&coeffs, &x, &y, &z); - gaiaAddPointToGeomCollXYZM (new_geom, x, y, z, m); - } - else - { - x = point->X; - y = point->Y; - gaia_point_transform2D (&coeffs, &x, &y); - gaiaAddPointToGeomColl (new_geom, x, y); - } - point = point->Next; - } - - line = geom->FirstLinestring; - while (line) - { - /* copying LINESTRINGs */ - new_line = gaiaAddLinestringToGeomColl (new_geom, line->Points); - for (iv = 0; iv < line->Points; iv++) - { - z = 0.0; - m = 0.0; - if (line->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); - } - else if (line->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (line->Coords, iv, &x, &y, &m); - } - else if (line->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (line->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (line->Coords, iv, &x, &y); - } - if (new_line->DimensionModel == GAIA_XY_Z - || new_line->DimensionModel == GAIA_XY_Z_M) - gaia_point_transform3D (&coeffs, &x, &y, &z); - else - gaia_point_transform2D (&coeffs, &x, &y); - if (new_line->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (new_line->Coords, iv, x, y, z); - } - else if (new_line->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (new_line->Coords, iv, x, y, m); - } - else if (new_line->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (new_line->Coords, iv, x, y, z, m); - } - else - { - gaiaSetPoint (new_line->Coords, iv, x, y); - } - } - line = line->Next; - } - - polyg = geom->FirstPolygon; - while (polyg) - { - /* copying POLYGONs */ - i_ring = polyg->Exterior; - new_polyg = - gaiaAddPolygonToGeomColl (new_geom, i_ring->Points, - polyg->NumInteriors); - o_ring = new_polyg->Exterior; - /* copying points for the EXTERIOR RING */ - for (iv = 0; iv < o_ring->Points; iv++) - { - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, iv, &x, &y); - } - if (o_ring->DimensionModel == GAIA_XY_Z - || o_ring->DimensionModel == GAIA_XY_Z_M) - gaia_point_transform3D (&coeffs, &x, &y, &z); - else - gaia_point_transform2D (&coeffs, &x, &y); - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, iv, x, y, z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, iv, x, y, m); - } - else if (o_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, iv, x, y, z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, iv, x, y); - } - } - for (ib = 0; ib < new_polyg->NumInteriors; ib++) - { - /* copying each INTERIOR RING [if any] */ - i_ring = polyg->Interiors + ib; - o_ring = gaiaAddInteriorRing (new_polyg, ib, i_ring->Points); - for (iv = 0; iv < o_ring->Points; iv++) - { - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z, - &m); - } - else - { - gaiaGetPoint (i_ring->Coords, iv, &x, &y); - } - if (o_ring->DimensionModel == GAIA_XY_Z - || o_ring->DimensionModel == GAIA_XY_Z_M) - gaia_point_transform3D (&coeffs, &x, &y, &z); - else - gaia_point_transform2D (&coeffs, &x, &y); - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, iv, x, y, z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, iv, x, y, m); - } - else if (o_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, iv, x, y, z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, iv, x, y); - } - } - } - polyg = polyg->Next; - } - free_control_points_2d (&(coeffs.grass_cp)); - clean_tps_coeffs (&coeffs); - return new_geom; -} - -GAIACP_DECLARE int -gaiaPolynomialToMatrix (const unsigned char *iblob, int iblob_sz, - unsigned char **oblob, int *oblob_sz) -{ -/* -* converting a BLOB-Polynomial coeffs object into a -* BLOB Affine Transformation matrix */ - double a = 1.0; - double b = 0.0; - double c = 0.0; - double d = 0.0; - double e = 1.0; - double f = 0.0; - double g = 0.0; - double h = 0.0; - double i = 1.0; - double xoff = 0.0; - double yoff = 0.0; - double zoff = 0.0; - struct cp_coeffs coeffs; - - *oblob = NULL; - *oblob_sz = 0; - if (!gaiaPolynomialIsValid (iblob, iblob_sz)) - return 0; - if (!blob_decode (&coeffs, iblob, iblob_sz)) - return 0; - - if (coeffs.type == THIN_PLATE_SPLINE) - { - free_control_points_2d (&(coeffs.grass_cp)); - clean_tps_coeffs (&coeffs); - return 0; /* Thin Plate Spline coefficients can't be converted */ - } - if (coeffs.order != 1) - return 0; /* only 1st order coefficients can be converted */ - -/* converting */ - if (coeffs.type == POLYNOMIAL_3D) - { - a = coeffs.E[1]; - b = coeffs.E[2]; - c = coeffs.E[3]; - d = coeffs.N[1]; - e = coeffs.N[2]; - f = coeffs.N[3]; - g = coeffs.Z[1]; - h = coeffs.Z[2]; - i = coeffs.Z[3]; - xoff = coeffs.E[0]; - yoff = coeffs.N[0]; - zoff = coeffs.Z[0]; - } - else - { - a = coeffs.E[1]; - b = coeffs.E[2]; - d = coeffs.N[1]; - e = coeffs.N[2]; - xoff = coeffs.E[0]; - yoff = coeffs.N[0]; - } - if (gaia_matrix_create - (a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, oblob, oblob_sz)) + if (ret > 0) return 1; return 0; } -#endif /* end including GCO */ +#endif /* end including CONTROL_POINTS */ Index: src/control_points/grass_crs.h ================================================================== --- src/control_points/grass_crs.h +++ src/control_points/grass_crs.h @@ -29,14 +29,10 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS -#define GCP_PRIVATE __attribute__ ((visibility("hidden"))) -#endif - /* STRUCTURE FOR USE INTERNALLY WITH THESE FUNCTIONS. THESE FUNCTIONS EXPECT SQUARE MATRICES SO ONLY ONE VARIABLE IS GIVEN (N) FOR THE MATRIX SIZE */ struct MATRIX { @@ -79,32 +75,16 @@ double *n2; double *z2; int *status; }; -GCP_PRIVATE int -gcp_CRS_compute_georef_equations_3d (struct Control_Points_3D *, +int CRS_compute_georef_equations_3d (struct Control_Points_3D *, double *, double *, double *, double *, double *, double *, int); -GCP_PRIVATE int -gcp_I_compute_georef_equations (struct Control_Points *cp, double E12[], +int I_compute_georef_equations (struct Control_Points *cp, double E12[], double N12[], double E21[], double N21[], int order); -GCP_PRIVATE int -gcp_I_compute_georef_equations_tps (struct Control_Points *cp, +int I_compute_georef_equations_tps (struct Control_Points *cp, double **E12tps, double **N12tps, double **E21tps, double **N21tps); - -GCP_PRIVATE int -gcp_I_georef (double e1, double n1, double *e, double *n, double E[], - double N[], int order); - -GCP_PRIVATE int -gcp_CRS_georef_3d (double e1, double n1, double z1, double *e, - double *n, double *z, double E[], double N[], - double Z[], int order); - -GCP_PRIVATE int -gcp_I_georef_tps (double e1, double n1, double *e, double *n, double *E, - double *N, struct Control_Points *cp, int fwd); Index: src/control_points/grass_crs3d.c ================================================================== --- src/control_points/grass_crs3d.c +++ src/control_points/grass_crs3d.c @@ -40,11 +40,11 @@ #include "config-msvc.h" #else #include "config.h" #endif -#ifdef ENABLE_GCP /* only if ControlPoints enabled */ +#ifdef ENABLE_CONTROL_POINTS /* only if ControlPoints enabled */ /* original code from Grass GIS starts here */ /*********************************************************************** @@ -79,21 +79,21 @@ TRANSFORM A SINGLE COORDINATE PAIR. ************************************************************************/ -GCP_PRIVATE int -gcp_CRS_georef_3d (double e1, /* EASTING TO BE TRANSFORMED */ - double n1, /* NORTHING TO BE TRANSFORMED */ - double z1, /* HEIGHT TO BE TRANSFORMED */ - double *e, /* EASTING, TRANSFORMED */ - double *n, /* NORTHING, TRANSFORMED */ - double *z, /* HEIGHT, TRANSFORMED */ - double E[], /* EASTING COEFFICIENTS */ - double N[], /* NORTHING COEFFICIENTS */ - double Z[], /* HEIGHT COEFFICIENTS */ - int order /* ORDER OF TRANSFORMATION TO BE PERFORMED, MUST MATCH THE +int +CRS_georef_3d (double e1, /* EASTING TO BE TRANSFORMED */ + double n1, /* NORTHING TO BE TRANSFORMED */ + double z1, /* HEIGHT TO BE TRANSFORMED */ + double *e, /* EASTING, TRANSFORMED */ + double *n, /* NORTHING, TRANSFORMED */ + double *z, /* HEIGHT, TRANSFORMED */ + double E[], /* EASTING COEFFICIENTS */ + double N[], /* NORTHING COEFFICIENTS */ + double Z[], /* HEIGHT COEFFICIENTS */ + int order /* ORDER OF TRANSFORMATION TO BE PERFORMED, MUST MATCH THE ORDER USED TO CALCULATE THE COEFFICIENTS */ ) { double e2, n2, z2, en, ez, nz, e3, n3, z3, e2n, e2z, en2, ez2, n2z, nz2, enz; @@ -171,23 +171,24 @@ COMPUTE THE FORWARD AND BACKWARD GEOREFFERENCING COEFFICIENTS BASED ON A SET OF CONTROL POINTS ************************************************************************/ -GCP_PRIVATE int -gcp_CRS_compute_georef_equations_3d (struct Control_Points_3D *cp, - double E12[], double N12[], double Z12[], - double E21[], double N21[], double Z21[], - int order) +int +CRS_compute_georef_equations_3d (struct Control_Points_3D *cp, + double E12[], double N12[], double Z12[], + double E21[], double N21[], double Z21[], + int order) { double *tempptr; int status; if (order < 1 || order > MAXORDER) return MPARMERR; /* CALCULATE THE FORWARD TRANSFORMATION COEFFICIENTS */ + status = calccoef (cp, E12, N12, Z12, order); if (status != MSUCCESS) return status; @@ -574,6 +575,6 @@ } return MSUCCESS; } -#endif /* end including GCP */ +#endif /* end including CONTROL_POINTS */ Index: src/control_points/grass_georef.c ================================================================== --- src/control_points/grass_georef.c +++ src/control_points/grass_georef.c @@ -28,21 +28,20 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#include #include #include #if defined(_WIN32) && !defined(__MINGW32__) #include "config-msvc.h" #else #include "config.h" #endif -#ifdef ENABLE_GCP /* only if ControlPoints enabled */ +#ifdef ENABLE_CONTROL_POINTS /* only if ControlPoints enabled */ /* original code from Grass GIS starts here */ /**************************************************************************** * @@ -93,18 +92,18 @@ TRANSFORM A SINGLE COORDINATE PAIR. ************************************************************************/ -GCP_PRIVATE int -gcp_I_georef (double e1, /* EASTING TO BE TRANSFORMED */ - double n1, /* NORTHING TO BE TRANSFORMED */ - double *e, /* EASTING, TRANSFORMED */ - double *n, /* NORTHING, TRANSFORMED */ - double E[], /* EASTING COEFFICIENTS */ - double N[], /* NORTHING COEFFICIENTS */ - int order /* ORDER OF TRANSFORMATION TO BE PERFORMED, MUST MATCH THE +int +I_georef (double e1, /* EASTING TO BE TRANSFORMED */ + double n1, /* NORTHING TO BE TRANSFORMED */ + double *e, /* EASTING, TRANSFORMED */ + double *n, /* NORTHING, TRANSFORMED */ + double E[], /* EASTING COEFFICIENTS */ + double N[], /* NORTHING COEFFICIENTS */ + int order /* ORDER OF TRANSFORMATION TO BE PERFORMED, MUST MATCH THE ORDER USED TO CALCULATE THE COEFFICIENTS */ ) { double e3, e2n, en2, n3, e2, en, n2; @@ -155,14 +154,13 @@ COMPUTE THE FORWARD AND BACKWARD GEOREFFERENCING COEFFICIENTS BASED ON A SET OF CONTROL POINTS ************************************************************************/ -GCP_PRIVATE int -gcp_I_compute_georef_equations (struct Control_Points *cp, double E12[], - double N12[], double E21[], double N21[], - int order) +int +I_compute_georef_equations (struct Control_Points *cp, double E12[], + double N12[], double E21[], double N21[], int order) { double *tempptr; int status; if (order < 1 || order > MAXORDER) @@ -485,6 +483,6 @@ } return MSUCCESS; } -#endif /* end including GCP */ +#endif /* end including CONTROL_POINTS */ Index: src/control_points/grass_georef_tps.c ================================================================== --- src/control_points/grass_georef_tps.c +++ src/control_points/grass_georef_tps.c @@ -38,11 +38,11 @@ #include "config-msvc.h" #else #include "config.h" #endif -#ifdef ENABLE_GCP /* only if ControlPoints enabled */ +#ifdef ENABLE_CONTROL_POINTS /* only if ControlPoints enabled */ /* original code from Grass GIS starts here */ /**************************************************************************** * @@ -85,18 +85,18 @@ TRANSFORM A SINGLE COORDINATE PAIR. ************************************************************************/ -GCP_PRIVATE int -gcp_I_georef_tps (double e1, /* EASTING TO BE TRANSFORMED */ - double n1, /* NORTHING TO BE TRANSFORMED */ - double *e, /* EASTING, TRANSFORMED */ - double *n, /* NORTHING, TRANSFORMED */ - double *E, /* EASTING COEFFICIENTS */ - double *N, /* NORTHING COEFFICIENTS */ - struct Control_Points *cp, int fwd) +int +I_georef_tps (double e1, /* EASTING TO BE TRANSFORMED */ + double n1, /* NORTHING TO BE TRANSFORMED */ + double *e, /* EASTING, TRANSFORMED */ + double *n, /* NORTHING, TRANSFORMED */ + double *E, /* EASTING COEFFICIENTS */ + double *N, /* NORTHING COEFFICIENTS */ + struct Control_Points *cp, int fwd) { int i, j; double dist, *pe, *pn; if (fwd) @@ -111,10 +111,11 @@ } /* global affine (1st order poly) */ *e = E[0] + e1 * E[1] + n1 * E[2]; *n = N[0] + e1 * N[1] + n1 * N[2]; + for (i = 0, j = 0; i < cp->count; i++) { if (cp->status[i] > 0) { @@ -135,14 +136,14 @@ COMPUTE THE FORWARD AND BACKWARD GEOREFFERENCING COEFFICIENTS BASED ON A SET OF CONTROL POINTS ************************************************************************/ -GCP_PRIVATE int -gcp_I_compute_georef_equations_tps (struct Control_Points *cp, - double **E12tps, double **N12tps, - double **E21tps, double **N21tps) +int +I_compute_georef_equations_tps (struct Control_Points *cp, + double **E12tps, double **N12tps, + double **E21tps, double **N21tps) { double *tempptr; int numactive; /* NUMBER OF ACTIVE CONTROL POINTS */ int status, i; double xmax, xmin, ymax, ymin; @@ -535,6 +536,6 @@ dist = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1); return dist * log (dist) * 0.5; } -#endif /* end including GCO */ +#endif /* end including CONTROL_POINTS */ DELETED src/cutter/Makefile.am Index: src/cutter/Makefile.am ================================================================== --- src/cutter/Makefile.am +++ src/cutter/Makefile.am @@ -1,17 +0,0 @@ - -AM_CPPFLAGS = @CFLAGS@ -AM_CPPFLAGS += -I$(top_srcdir)/src/headers -I. - -noinst_LTLIBRARIES = libcutter.la cutter.la - -libcutter_la_SOURCES = gaia_cutter.c - -cutter_la_SOURCES = gaia_cutter.c - -cutter_la_CPPFLAGS = @CFLAGS@ -cutter_la_CPPFLAGS += -I$(top_srcdir)/src/headers -I. -cutter_la_CPPFLAGS += -DLOADABLE_EXTENSION -cutter_la_LDFLAGS = -module -cutter_la_LIBTOOLFLAGS = --tag=disable-static - -MOSTLYCLEANFILES = *.gcna *.gcno *.gcda DELETED src/cutter/Makefile.in Index: src/cutter/Makefile.in ================================================================== --- src/cutter/Makefile.in +++ src/cutter/Makefile.in @@ -1,621 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/cutter -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -cutter_la_LIBADD = -am_cutter_la_OBJECTS = cutter_la-gaia_cutter.lo -cutter_la_OBJECTS = $(am_cutter_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -cutter_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(cutter_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(AM_CFLAGS) $(CFLAGS) $(cutter_la_LDFLAGS) $(LDFLAGS) -o $@ -libcutter_la_LIBADD = -am_libcutter_la_OBJECTS = gaia_cutter.lo -libcutter_la_OBJECTS = $(am_libcutter_la_OBJECTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(cutter_la_SOURCES) $(libcutter_la_SOURCES) -DIST_SOURCES = $(cutter_la_SOURCES) $(libcutter_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I. -noinst_LTLIBRARIES = libcutter.la cutter.la -libcutter_la_SOURCES = gaia_cutter.c -cutter_la_SOURCES = gaia_cutter.c -cutter_la_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I. \ - -DLOADABLE_EXTENSION -cutter_la_LDFLAGS = -module -cutter_la_LIBTOOLFLAGS = --tag=disable-static -MOSTLYCLEANFILES = *.gcna *.gcno *.gcda -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/cutter/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/cutter/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -cutter.la: $(cutter_la_OBJECTS) $(cutter_la_DEPENDENCIES) $(EXTRA_cutter_la_DEPENDENCIES) - $(AM_V_CCLD)$(cutter_la_LINK) $(cutter_la_OBJECTS) $(cutter_la_LIBADD) $(LIBS) - -libcutter.la: $(libcutter_la_OBJECTS) $(libcutter_la_DEPENDENCIES) $(EXTRA_libcutter_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libcutter_la_OBJECTS) $(libcutter_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cutter_la-gaia_cutter.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaia_cutter.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -cutter_la-gaia_cutter.lo: gaia_cutter.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(cutter_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cutter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT cutter_la-gaia_cutter.lo -MD -MP -MF $(DEPDIR)/cutter_la-gaia_cutter.Tpo -c -o cutter_la-gaia_cutter.lo `test -f 'gaia_cutter.c' || echo '$(srcdir)/'`gaia_cutter.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/cutter_la-gaia_cutter.Tpo $(DEPDIR)/cutter_la-gaia_cutter.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gaia_cutter.c' object='cutter_la-gaia_cutter.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(cutter_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(cutter_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cutter_la-gaia_cutter.lo `test -f 'gaia_cutter.c' || echo '$(srcdir)/'`gaia_cutter.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED src/cutter/gaia_cutter.c Index: src/cutter/gaia_cutter.c ================================================================== --- src/cutter/gaia_cutter.c +++ src/cutter/gaia_cutter.c @@ -1,7763 +0,0 @@ -/* - - gaia_cutter.c -- implementation of the Cutter module - - version 4.3, 2015 July 2 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/* - -CREDITS: - -this module has been completely funded by: -Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale -(Cutter module) - -CIG: 6038019AE5 - -*/ - -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "process.h" -#endif - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#include -#include - -#include -#include -#include - -#ifndef OMIT_GEOS /* only if GEOS is enabled */ - -#if defined(_WIN32) && !defined(__MINGW32__) -#define strcasecmp _stricmp -#define strncasecmp _strnicmp -#define pid_t int -#endif - -#define GAIA_CUTTER_OUTPUT_PK 1 -#define GAIA_CUTTER_INPUT_PK 2 -#define GAIA_CUTTER_BLADE_PK 3 -#define GAIA_CUTTER_NORMAL 4 - -#define GAIA_CUTTER_POINT 1 -#define GAIA_CUTTER_LINESTRING 2 -#define GAIA_CUTTER_POLYGON 3 - -struct output_column -{ -/* a struct wrapping an Output Table Column */ - char *base_name; - char *real_name; - char *type; - int notnull; - int role; - int order_nr; - struct output_column *next; -}; - -struct output_table -{ -/* a struct wrapping the Output Table */ - struct output_column *first; - struct output_column *last; -}; - -struct multivar -{ -/* a struct wrapping a generic SQLite value */ - int progr_id; - int type; - union multivalue - { - sqlite3_int64 intValue; - double doubleValue; - char *textValue; - } value; - struct multivar *next; -}; - -struct temporary_row -{ -/* a struct wrapping a row from the TMP #1 resultset */ - struct multivar *first_input; - struct multivar *last_input; - struct multivar *first_blade; - struct multivar *last_blade; -}; - -struct child_row -{ -/* a struct wrapping a resultset row */ - struct multivar *first; - struct multivar *last; - gaiaGeomCollPtr geom; - gaiaGeomCollPtr geom2; - struct child_row *next; -}; - -struct pending_rows -{ -/* a struct containing groups of pending rows to be processed */ - struct multivar *first; - struct multivar *last; - gaiaGeomCollPtr geom; - gaiaGeomCollPtr geom2; - struct child_row *first_child; - struct child_row *last_child; -}; - -struct cut_item -{ -/* a struct wrapping a Cut Solution Item */ - struct multivar *first; - struct multivar *last; - gaiaGeomCollPtr geom; - struct cut_item *next; -}; - -struct cut_solution -{ -/* a struct containing a Cut Solution */ - struct cut_item *first; - struct cut_item *last; -}; - -static struct multivar * -alloc_multivar (void) -{ -/* allocating a NULL SQLite value */ - struct multivar *var = malloc (sizeof (struct multivar)); - var->progr_id = 0; - var->type = SQLITE_NULL; - var->value.textValue = NULL; - var->next = NULL; - return var; -} - -static void -destroy_multivar (struct multivar *var) -{ -/* destroying a generic SQLite values */ - if (var == NULL) - return; - if (var->type == SQLITE_TEXT) - { - if (var->value.textValue != NULL) - free (var->value.textValue); - } - free (var); -} - -static void -reset_temporary_row (struct temporary_row *row) -{ -/* memory cleanup - resetting a temporary row */ - struct multivar *var; - struct multivar *var_n; - if (row == NULL) - return; - - var = row->first_input; - while (var != NULL) - { - var_n = var->next; - destroy_multivar (var); - var = var_n; - } - var = row->first_blade; - while (var != NULL) - { - var_n = var->next; - destroy_multivar (var); - var = var_n; - } -} - -static void -do_set_null_blade_columns (struct temporary_row *row) -{ -/* setting a NULL value for all Blade PK columns */ - struct multivar *var; - if (row == NULL) - return; - - var = row->first_blade; - while (var != NULL) - { - if (var->type == SQLITE_TEXT) - { - if (var->value.textValue != NULL) - free (var->value.textValue); - var->value.textValue = NULL; - } - var->type = SQLITE_NULL; - var = var->next; - } -} - -static struct multivar * -find_input_pk_value (struct temporary_row *row, int idx) -{ -/* finding an Input column value by its relative position */ - int count = 0; - struct multivar *var; - if (row == NULL) - return NULL; - - var = row->first_input; - while (var != NULL) - { - if (count == idx) - return var; - count++; - var = var->next; - } - return NULL; -} - -static struct multivar * -find_blade_pk_value (struct temporary_row *row, int idx) -{ -/* finding a Bladecolumn value by its relative position */ - int count = 0; - struct multivar *var; - if (row == NULL) - return NULL; - - var = row->first_blade; - while (var != NULL) - { - if (count == idx) - return var; - count++; - var = var->next; - } - return NULL; -} - -static void -add_int_pk_value (struct temporary_row *row, char table, int progr_id, - sqlite3_int64 value) -{ -/* storing an INT-64 value into a ROW object */ - struct multivar *var = alloc_multivar (); - var->progr_id = progr_id; - var->type = SQLITE_INTEGER; - var->value.intValue = value; - if (table == 'B') - { - /* from the Blade Table */ - if (row->first_blade == NULL) - row->first_blade = var; - if (row->last_blade != NULL) - row->last_blade->next = var; - row->last_blade = var; - } - else - { - /* from the Input Table */ - if (row->first_input == NULL) - row->first_input = var; - if (row->last_input != NULL) - row->last_input->next = var; - row->last_input = var; - } -} - -static void -add_double_pk_value (struct temporary_row *row, char table, int progr_id, - double value) -{ -/* storing a FLOAT DOUBLE value into a ROW object */ - struct multivar *var = alloc_multivar (); - var->progr_id = progr_id; - var->type = SQLITE_FLOAT; - var->value.doubleValue = value; - if (table == 'B') - { - /* from the Blade Table */ - if (row->first_blade == NULL) - row->first_blade = var; - if (row->last_blade != NULL) - row->last_blade->next = var; - row->last_blade = var; - } - else - { - /* from the Input Table */ - if (row->first_input == NULL) - row->first_input = var; - if (row->last_input != NULL) - row->last_input->next = var; - row->last_input = var; - } -} - -static void -add_text_pk_value (struct temporary_row *row, char table, int progr_id, - const char *value) -{ -/* storing a TEXT value into a ROW object */ - int len; - struct multivar *var = alloc_multivar (); - var->progr_id = progr_id; - var->type = SQLITE_TEXT; - len = strlen (value); - var->value.textValue = malloc (len + 1); - strcpy (var->value.textValue, value); - if (table == 'B') - { - /* from the Blade Table */ - if (row->first_blade == NULL) - row->first_blade = var; - if (row->last_blade != NULL) - row->last_blade->next = var; - row->last_blade = var; - } - else - { - /* from the Input Table */ - if (row->first_input == NULL) - row->first_input = var; - if (row->last_input != NULL) - row->last_input->next = var; - row->last_input = var; - } -} - -static void -add_null_pk_value (struct temporary_row *row, char table, int progr_id) -{ -/* storing a NULL value into a ROW object */ - struct multivar *var = alloc_multivar (); - var->progr_id = progr_id; - if (table == 'B') - { - /* from the Blade Table */ - if (row->first_blade == NULL) - row->first_blade = var; - if (row->last_blade != NULL) - row->last_blade->next = var; - row->last_blade = var; - } - else - { - /* from the Input Table */ - if (row->first_input == NULL) - row->first_input = var; - if (row->last_input != NULL) - row->last_input->next = var; - row->last_input = var; - } -} - -static int -eval_multivar (struct multivar *var1, struct multivar *var2) -{ -/* comparing to generic SQLite values */ - if (var1->type != var2->type) - return 0; - switch (var1->type) - { - case SQLITE_INTEGER: - if (var1->value.intValue == var2->value.intValue) - return 1; - break; - case SQLITE_FLOAT: - if (var1->value.doubleValue == var2->value.doubleValue) - return 1; - break; - case SQLITE_TEXT: - if (strcmp (var1->value.textValue, var2->value.textValue) == 0) - return 1; - break; - default: - return 1; - }; - return 0; -} - -static int -check_same_input (struct temporary_row *prev_row, struct temporary_row *row) -{ -/* checks if the current row is the same of the previous row - Input PK columns */ - int ok = 1; - struct multivar *var1; - struct multivar *var2; - - var1 = prev_row->first_input; - var2 = row->first_input; - while (1) - { - if (var1 == NULL) - { - ok = 0; - break; - } - if (var2 == NULL) - { - ok = 0; - break; - } - if (!eval_multivar (var1, var2)) - { - ok = 0; - break; - } - var1 = var1->next; - var2 = var2->next; - if (var1 == NULL && var2 == NULL) - break; - } - return ok; -} - -static void -copy_input_values (struct temporary_row *orig, struct temporary_row *dest) -{ -/* copying all values from origin to destination */ - struct multivar *var; - int pos = 0; - - reset_temporary_row (dest); - dest->first_input = NULL; - dest->last_input = NULL; - dest->first_blade = NULL; - dest->last_blade = NULL; - var = orig->first_input; - while (var) - { - switch (var->type) - { - case SQLITE_INTEGER: - add_int_pk_value (dest, 'I', pos, var->value.intValue); - break; - case SQLITE_FLOAT: - add_double_pk_value (dest, 'I', pos, var->value.doubleValue); - break; - case SQLITE_TEXT: - add_text_pk_value (dest, 'I', pos, var->value.textValue); - break; - default: - add_null_pk_value (dest, 'I', pos); - }; - pos++; - var = var->next; - } -} - -static struct output_column * -alloc_output_table_column (const char *name, const char *type, int notnull, - int role, int order_nr) -{ -/* creating an Output Table Column */ - int len; - struct output_column *col = malloc (sizeof (struct output_column)); - if (col == NULL) - return NULL; - len = strlen (name); - col->base_name = malloc (len + 1); - strcpy (col->base_name, name); - col->real_name = NULL; - len = strlen (type); - col->type = malloc (len + 1); - strcpy (col->type, type); - col->notnull = notnull; - col->role = role; - col->order_nr = order_nr; - col->next = NULL; - return col; -} - -static void -destroy_output_table_column (struct output_column *col) -{ -/* destroying an Output Table Column */ - if (col == NULL) - return; - if (col->base_name != NULL) - free (col->base_name); - if (col->real_name != NULL) - sqlite3_free (col->real_name); - if (col->type != NULL) - free (col->type); - free (col); -} - -static struct output_table * -alloc_output_table (void) -{ -/* creating the Output Table struct */ - struct output_table *ptr = malloc (sizeof (struct output_table)); - if (ptr == NULL) - return NULL; - ptr->first = NULL; - ptr->last = NULL; - return ptr; -} - -static void -destroy_output_table (struct output_table *tbl) -{ -/* memory cleanup - destroying the Output Table struct */ - struct output_column *col; - struct output_column *col_n; - - if (tbl == NULL) - return; - col = tbl->first; - while (col != NULL) - { - col_n = col->next; - destroy_output_table_column (col); - col = col_n; - } - free (tbl); -} - -static struct output_column * -add_column_to_output_table (struct output_table *tbl, const char *name, - const char *type, int notnull, int role, - int order_nr) -{ -/* adding a column to the Output Table */ - struct output_column *col; - - if (tbl == NULL) - return NULL; - col = alloc_output_table_column (name, type, notnull, role, order_nr); - if (col == NULL) - return NULL; - if (tbl->first == NULL) - tbl->first = col; - if (tbl->last != NULL) - tbl->last->next = col; - tbl->last = col; - return col; -} - -static void -do_reset_message (char **ptr) -{ -/* resetting the message string */ - if (ptr == NULL) - return; - if (*ptr != NULL) - sqlite3_free (*ptr); - *ptr = NULL; -} - -static void -do_update_message (char **ptr, const char *message) -{ -/* updating the message string */ - if (ptr == NULL) - return; - if (*ptr != NULL) - return; - *ptr = sqlite3_mprintf ("%s", message); -} - -static void -do_update_sql_error (char **ptr, const char *message, const char *sql_err) -{ -/* printing some SQL error */ - if (ptr == NULL) - return; - if (*ptr != NULL) - return; - *ptr = sqlite3_mprintf ("%s %s", message, sql_err); -} - -static void -do_print_message2 (char **ptr, const char *message, const char *prefix, - const char *table) -{ -/* printing the message string - 2 args */ - if (ptr == NULL) - return; - if (*ptr != NULL) - return; - *ptr = sqlite3_mprintf (message, prefix, table); -} - -static void -do_print_message3 (char **ptr, const char *message, const char *prefix, - const char *table, const char *geometry) -{ -/* printing the message string - 3 args */ - if (ptr == NULL) - return; - if (*ptr != NULL) - return; - *ptr = sqlite3_mprintf (message, prefix, table, geometry); -} - -static int -do_check_input (sqlite3 * handle, const char *db_prefix, const char *table, - const char *xgeometry, char **geometry, int *srid, int *type, - char **message) -{ -/* checking the input table for validity */ - char *sql; - char *xprefix; - char *xtable; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int count = 0; - char *geom_name = NULL; - int geom_srid = -1; - int geom_type = -1; - int pk = 0; - int i; - int ret; - - *geometry = NULL; - *srid = -1; - *type = GAIA_UNKNOWN; - xprefix = gaiaDoubleQuotedSql (db_prefix); - -/* checking if the table really exists */ - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xtable); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA table_info", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns) + 5]; - if (atoi (value) > 0) - pk = 1; - count++; - } - sqlite3_free_table (results); - if (count == 0) - { - do_print_message2 (message, "ERROR: table %s.%s does not exists", - db_prefix, table); - goto error; - } - if (pk == 0) - { - do_print_message2 (message, - "ERROR: table %s.%s lacks any Primary Key", - db_prefix, table); - goto error; - } - -/* checking geometry_columns */ - count = 0; - if (xgeometry == NULL) - sql = sqlite3_mprintf ("SELECT f_geometry_column, srid, geometry_type " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q)", - xprefix, table, xgeometry); - else - sql = sqlite3_mprintf ("SELECT f_geometry_column, srid, geometry_type " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q) " - "AND Lower(f_geometry_column) = Lower(%Q)", - xprefix, table, xgeometry); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT geometry_columns", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns) + 0]; - if (count == 0) - { - int len = strlen (value); - geom_name = malloc (len + 1); - strcpy (geom_name, value); - } - value = results[(i * columns) + 1]; - geom_srid = atoi (value); - value = results[(i * columns) + 2]; - geom_type = atoi (value); - count++; - } - sqlite3_free_table (results); - if (count == 0) - { - do_print_message2 (message, - "ERROR: table %s.%s lacks any registered Geometry", - db_prefix, table); - goto error; - } - if (count > 1) - { - do_print_message2 (message, - "ERROR: table %s.%s has multiple Geometries and a NULL name was passed", - db_prefix, table); - goto error; - } - switch (geom_type) - { - case GAIA_POINT: - case GAIA_LINESTRING: - case GAIA_POLYGON: - case GAIA_MULTIPOINT: - case GAIA_MULTILINESTRING: - case GAIA_MULTIPOLYGON: - case GAIA_POINTZ: - case GAIA_LINESTRINGZ: - case GAIA_POLYGONZ: - case GAIA_MULTIPOINTZ: - case GAIA_MULTILINESTRINGZ: - case GAIA_MULTIPOLYGONZ: - case GAIA_POINTM: - case GAIA_LINESTRINGM: - case GAIA_POLYGONM: - case GAIA_MULTIPOINTM: - case GAIA_MULTILINESTRINGM: - case GAIA_MULTIPOLYGONM: - case GAIA_POINTZM: - case GAIA_LINESTRINGZM: - case GAIA_POLYGONZM: - case GAIA_MULTIPOINTZM: - case GAIA_MULTILINESTRINGZM: - case GAIA_MULTIPOLYGONZM: - break; - default: - do_print_message3 (message, - "ERROR: table %s.%s Geometry %s has an invalid Type", - db_prefix, table, geom_name); - goto error; - }; - *geometry = geom_name; - *srid = geom_srid; - *type = geom_type; - - free (xprefix); - return 1; - - error: - free (xprefix); - if (geom_name != NULL) - free (geom_name); - return 0; -} - -static int -do_check_blade (sqlite3 * handle, const char *db_prefix, const char *table, - const char *xgeometry, char **geometry, int *srid, - char **message) -{ -/* checking the blade table for validity */ - char *sql; - char *xprefix; - char *xtable; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int count = 0; - char *geom_name = NULL; - int geom_srid = -1; - int geom_type = -1; - int pk = 0; - int i; - int ret; - - *geometry = NULL; - *srid = -1; - xprefix = gaiaDoubleQuotedSql (db_prefix); - -/* checking if the table really exists */ - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xtable); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA table_info", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns) + 5]; - if (atoi (value) > 0) - pk = 1; - count++; - } - sqlite3_free_table (results); - if (count == 0) - { - do_print_message2 (message, "ERROR: table %s.%s does not exists", - db_prefix, table); - goto error; - } - if (pk == 0) - { - do_print_message2 (message, - "ERROR: table %s.%s lacks any Primary Key", - db_prefix, table); - goto error; - } - -/* checking geometry_columns */ - count = 0; - if (xgeometry == NULL) - sql = sqlite3_mprintf ("SELECT f_geometry_column, srid, geometry_type " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q)", - xprefix, table, xgeometry); - else - sql = sqlite3_mprintf ("SELECT f_geometry_column, srid, geometry_type " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q) " - "AND Lower(f_geometry_column) = Lower(%Q)", - xprefix, table, xgeometry); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT geometry_columns", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns) + 0]; - if (count == 0) - { - int len = strlen (value); - geom_name = malloc (len + 1); - strcpy (geom_name, value); - } - value = results[(i * columns) + 1]; - geom_srid = atoi (value); - value = results[(i * columns) + 2]; - geom_type = atoi (value); - count++; - } - sqlite3_free_table (results); - if (count == 0) - { - do_print_message2 (message, - "ERROR: table %s.%s lacks any registered Geometry", - db_prefix, table); - goto error; - } - if (count > 1) - { - do_print_message2 (message, - "ERROR: table %s.%s has multiple Geometries and a NULL name was passed", - db_prefix, table); - goto error; - } - switch (geom_type) - { - case GAIA_POLYGON: - case GAIA_MULTIPOLYGON: - case GAIA_POLYGONZ: - case GAIA_MULTIPOLYGONZ: - case GAIA_POLYGONM: - case GAIA_MULTIPOLYGONM: - case GAIA_POLYGONZM: - case GAIA_MULTIPOLYGONZM: - break; - default: - do_print_message3 (message, - "ERROR: table %s.%s Geometry %s isn't of the POLYGON or MULTIPOLYGON Type", - db_prefix, table, geom_name); - goto error; - }; - *geometry = geom_name; - *srid = geom_srid; - - free (xprefix); - return 1; - - error: - free (xprefix); - if (geom_name != NULL) - free (geom_name); - return 0; -} - -static int -do_check_nulls (sqlite3 * handle, const char *db_prefix, const char *table, - const char *geom, const char *which, char **message) -{ -/* testing for NULL PK values and NULL Geoms */ - int ret; - char *xprefix; - char *xtable; - char *xcolumn; - char *sql; - char *prev; - char **results; - int rows; - int columns; - int i; - char *errMsg = NULL; - sqlite3_stmt *stmt = NULL; - int icol; - int count = 0; - int null_geom = 0; - int null_pk = 0; - -/* composing the SQL query */ - xcolumn = gaiaDoubleQuotedSql (geom); - sql = sqlite3_mprintf ("SELECT \"%s\"", geom); - free (xcolumn); - prev = sql; - -/* retrieving all PK columns */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xprefix); - free (xtable); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA table_info", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 1]; - const char *value = results[(i * columns) + 5]; - if (atoi (value) > 0) - { - /* found a PK column */ - xcolumn = gaiaDoubleQuotedSql (name); - sql = sqlite3_mprintf ("%s, \"%s\"", prev, xcolumn); - free (xcolumn); - sqlite3_free (prev); - prev = sql; - } - } - sqlite3_free_table (results); - - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("%s FROM \"%s\".\"%s\"", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - -/* creating the prepared statement */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "CHECK NULLS ", - sqlite3_errmsg (handle)); - goto error; - } - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - count++; - if (sqlite3_column_type (stmt, 0) == SQLITE_NULL) - null_geom++; - for (icol = 1; icol < sqlite3_column_count (stmt); icol++) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_NULL) - null_pk++; - } - if (null_geom || null_pk) - break; - } - else - { - do_update_sql_error (message, - "step: CHECK NULLS", - sqlite3_errmsg (handle)); - goto error; - } - } - sqlite3_finalize (stmt); - stmt = NULL; - - if (null_geom) - { - sql = - sqlite3_mprintf ("Invalid %s: found NULL Geometries !!!", which); - do_update_message (message, sql); - sqlite3_free (sql); - goto error; - } - if (null_pk) - { - sql = sqlite3_mprintf ("Invalid %s: found NULL PK Values !!!", which); - do_update_message (message, sql); - sqlite3_free (sql); - goto error; - } - if (!count) - { - sql = sqlite3_mprintf ("Invalid %s: empty table !!!", which); - do_update_message (message, sql); - sqlite3_free (sql); - goto error; - } - - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -static int -do_check_valid (sqlite3 * handle, const char *out_table, const char *input_geom, - char **message) -{ -/* checking for Invalid Output Geoms */ - int ret; - char *sql; - char *xcolumn; - char *xtable; - char **results; - int rows; - int columns; - int i; - char *errMsg = NULL; - int count = 0; - -/* inspecting the table */ - xcolumn = gaiaDoubleQuotedSql (input_geom); - xtable = gaiaDoubleQuotedSql (out_table); - sql = - sqlite3_mprintf - ("SELECT Count(*) FROM MAIN.\"%s\" WHERE ST_IsValid(\"%s\") <> 1", - xtable, xcolumn); - free (xtable); - free (xcolumn); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 1; - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns) + 0]; - count = atoi (value); - } - sqlite3_free_table (results); - if (count > 0) - { - do_update_message (message, - "The OUTPUT table contains INVALID Geometries"); - return 0; - } - return 1; -} - -static int -check_spatial_index (sqlite3 * handle, const char *db_prefix, - const char *idx_name, char **message) -{ -/* testing if some Spatial Index do really exists */ - int ret; - char *sql; - char *xprefix; - char *xtable; - char **results; - int rows; - int columns; - int i; - char *errMsg = NULL; - int ok_pkid = 0; - int ok_xmin = 0; - int ok_xmax = 0; - int ok_ymin = 0; - int ok_ymax = 0; - - xprefix = gaiaDoubleQuotedSql (db_prefix); - -/* inspecting the table */ - xtable = gaiaDoubleQuotedSql (idx_name); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xtable); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA table_info", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 1]; - if (strcasecmp (name, "pkid") == 0) - ok_pkid = 1; - if (strcasecmp (name, "xmin") == 0) - ok_xmin = 1; - if (strcasecmp (name, "xmax") == 0) - ok_xmax = 1; - if (strcasecmp (name, "ymin") == 0) - ok_ymin = 1; - if (strcasecmp (name, "ymax") == 0) - ok_ymax = 1; - } - sqlite3_free_table (results); - if (!ok_pkid || !ok_xmin || !ok_xmax || !ok_ymin || !ok_ymax) - goto error; - - free (xprefix); - return 1; - - error: - free (xprefix); - return 0; -} - -static int -do_verify_blade_spatial_index (sqlite3 * handle, const char *db_prefix, - const char *table, const char *geometry, - char **spatial_index_prefix, - char **spatial_index, int *drop_spatial_index, - char **message) -{ -/* verifying the Spatial Index supporting the Blade Geometry */ - int ret; - char *sql; - char *xprefix; - char *xtable; - char *xgeometry; - char *idx_prefix; - char *idx_name; - char **results; - int rows; - int columns; - int i; - int declared = 0; - char *errMsg = NULL; - time_t now; - pid_t pid; - - xprefix = gaiaDoubleQuotedSql (db_prefix); - -/* inspecting the table */ - sql = sqlite3_mprintf ("SELECT spatial_index_enabled " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q) " - "AND Lower(f_geometry_column) = Lower(%Q)", - xprefix, table, geometry); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT geometry_columns", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns) + 0]; - if (atoi (value) == 1) - declared = 1; - } - sqlite3_free_table (results); - - if (!declared) - goto create_default; - - idx_name = sqlite3_mprintf ("idx_%s_%s", table, geometry); - if (check_spatial_index (handle, db_prefix, idx_name, message)) - { - idx_prefix = malloc (strlen (db_prefix) + 1); - strcpy (idx_prefix, db_prefix); - *spatial_index_prefix = idx_prefix; - *spatial_index = idx_name; - *drop_spatial_index = 0; - goto end; - } - sqlite3_free (idx_name); - - create_default: -/* creating a transient Spatial Index */ -#if defined(_WIN32) && !defined(__MINGW32__) - pid = _getpid (); -#else - pid = getpid (); -#endif - time (&now); - idx_name = sqlite3_mprintf ("tmpidx_%u_%u", pid, now); - xtable = gaiaDoubleQuotedSql (idx_name); - sql = sqlite3_mprintf ("CREATE VIRTUAL TABLE TEMP.\"%s\" USING " - "rtree(pkid, xmin, xmax, ymin, ymax)", xtable); - free (xtable); - - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "CREATE SPATIAL INDEX", errMsg); - sqlite3_free (errMsg); - goto error; - } - -/* populating the transient Spatial Index */ - xtable = gaiaDoubleQuotedSql (table); - xgeometry = gaiaDoubleQuotedSql (geometry); - sql = - sqlite3_mprintf - ("INSERT INTO TEMP.\"%s\" (pkid, xmin, xmax, ymin, ymax) " - "SELECT ROWID, MbrMinX(\"%s\"), MbrMaxX(\"%s\"), MbrMinY(\"%s\"), MbrMaxY(\"%s\") " - "FROM \"%s\".\"%s\"", idx_name, xgeometry, xgeometry, xgeometry, - xgeometry, xprefix, xtable); - free (xtable); - free (xgeometry); - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "POPULATE SPATIAL INDEX", errMsg); - sqlite3_free (errMsg); - goto error; - } - - *spatial_index = idx_name; - idx_prefix = malloc (5); - strcpy (idx_prefix, "TEMP"); - *spatial_index_prefix = idx_prefix; - *drop_spatial_index = 1; - - end: - free (xprefix); - return 1; - - error: - free (xprefix); - return 0; -} - -static int -do_drop_blade_spatial_index (sqlite3 * handle, const char *spatial_index, - char **message) -{ -/* dropping the transient Spatial Index supporting the Blade table */ - int ret; - char *sql; - char *xtable; - char *errMsg = NULL; - xtable = gaiaDoubleQuotedSql (spatial_index); - sql = sqlite3_mprintf ("DROP TABLE TEMP.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "DROP SPATIAL INDEX", errMsg); - sqlite3_free (errMsg); - return 0; - } - return 1; -} - -static int -do_drop_tmp_table (sqlite3 * handle, const char *tmp_table, char **message) -{ -/* dropping the Temporary helper table */ - int ret; - char *sql; - char *xtable; - char *errMsg = NULL; - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = sqlite3_mprintf ("DROP TABLE TEMP.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "DROP TEMPORAY TABLE", errMsg); - sqlite3_free (errMsg); - return 0; - } - return 1; -} - -static int -do_check_output (sqlite3 * handle, const char *db_prefix, const char *table, - const char *geometry, char **message) -{ -/* checking the output table for validity */ - char *sql; - char *xprefix; - char *xtable; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int count = 0; - int i; - int ret; - - xprefix = gaiaDoubleQuotedSql (db_prefix); - -/* checking if the table already exists */ - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xtable); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA table_info", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - count++; - sqlite3_free_table (results); - if (count != 0) - { - do_print_message2 (message, "ERROR: table %s.%s do already exists", - db_prefix, table); - goto error; - } - -/* checking geometry_columns */ - count = 0; - sql = sqlite3_mprintf ("SELECT f_geometry_column, srid, geometry_type " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q) " - "AND Lower(f_geometry_column) = Lower(%Q)", - xprefix, table, geometry); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT geometry_columns", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - count++; - sqlite3_free_table (results); - if (count != 0) - { - do_print_message3 (message, - "ERROR: table %s.%s Geometry %s is already registered", - db_prefix, table, geometry); - goto error; - } - - free (xprefix); - return 1; - - error: - free (xprefix); - return 0; -} - -static int -do_get_input_pk (struct output_table *tbl, sqlite3 * handle, - const char *db_prefix, const char *table, char **message) -{ -/* retrieving the input table PK columns */ - int ret; - char *sql; - char *xprefix; - char *xtable; - char **results; - int rows; - int columns; - int i; - char *errMsg = NULL; - - xprefix = gaiaDoubleQuotedSql (db_prefix); - -/* inspecting the table */ - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xtable); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA table_info", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 1]; - const char *type = results[(i * columns) + 2]; - const char *notnull = results[(i * columns) + 3]; - const char *value = results[(i * columns) + 5]; - if (atoi (value) > 0) - { - if (add_column_to_output_table - (tbl, name, type, atoi (notnull), GAIA_CUTTER_INPUT_PK, - atoi (value)) == NULL) - { - do_print_message2 (message, - "ERROR: insufficient memory (OutputTable wrapper/Input PK)", - db_prefix, table); - goto error; - } - } - } - sqlite3_free_table (results); - - free (xprefix); - return 1; - - error: - free (xprefix); - return 0; -} - -static int -do_get_blade_pk (struct output_table *tbl, sqlite3 * handle, - const char *db_prefix, const char *table, char **message) -{ -/* retrieving the blade table PK columns */ - int ret; - char *sql; - char *xprefix; - char *xtable; - char **results; - int rows; - int columns; - int i; - char *errMsg = NULL; - - xprefix = gaiaDoubleQuotedSql (db_prefix); - -/* inspecting the table */ - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xtable); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA table_info", errMsg); - sqlite3_free (errMsg); - goto error; - } - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 1]; - const char *type = results[(i * columns) + 2]; - const char *notnull = results[(i * columns) + 3]; - const char *value = results[(i * columns) + 5]; - if (atoi (value) > 0) - { - if (add_column_to_output_table - (tbl, name, type, atoi (notnull), GAIA_CUTTER_BLADE_PK, - atoi (value)) == NULL) - { - do_print_message2 (message, - "ERROR: insufficient memory (OutputTable wrapper/Blade PK)", - db_prefix, table); - goto error; - } - } - } - sqlite3_free_table (results); - - free (xprefix); - return 1; - - error: - free (xprefix); - return 0; -} - -static void -make_lowercase (char *name) -{ -/* making a column name all lowercase */ - char *p = name; - while (*p != '\0') - { - if (*p >= 'A' && *p <= 'Z') - *p = *p - 'A' + 'a'; - p++; - } -} - -static int -do_create_output_table (struct output_table *tbl, sqlite3 * handle, - const char *table, const char *input_table, - const char *blade_table, char **message) -{ -/* attempting to create the Output Table */ - int ret; - char *errMsg = NULL; - char *sql; - char *prev; - char *xtable; - char *xcolumn; - char *zcolumn; - char *zzcolumn; - struct output_column *col; - -/* composing the CREATE TABLE statement */ - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (", xtable); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* adding a column to the table */ - xcolumn = gaiaDoubleQuotedSql (col->base_name); - if (col->role == GAIA_CUTTER_INPUT_PK) - { - /* Input PK column */ - zcolumn = - sqlite3_mprintf ("input_%s_%s", input_table, - col->base_name); - make_lowercase (zcolumn); - zzcolumn = gaiaDoubleQuotedSql (zcolumn); - col->real_name = zcolumn; - sql = - sqlite3_mprintf ("%s,\n\t\"%s\" %s%s", prev, zzcolumn, - col->type, - (col->notnull) ? " NOT NULL" : ""); - free (zzcolumn); - sqlite3_free (prev); - prev = sql; - } - else if (col->role == GAIA_CUTTER_BLADE_PK) - { - /* Blade PK column */ - zcolumn = - sqlite3_mprintf ("blade_%s_%s", blade_table, - col->base_name); - make_lowercase (zcolumn); - zzcolumn = gaiaDoubleQuotedSql (zcolumn); - col->real_name = zcolumn; - sql = - sqlite3_mprintf ("%s,\n\t\"%s\" %s", prev, zzcolumn, - col->type); - free (zzcolumn); - sqlite3_free (prev); - prev = sql; - } - else if (col->role == GAIA_CUTTER_OUTPUT_PK) - { - /* output table primary column */ - sql = - sqlite3_mprintf ("%s\n\t\"%s\" %s PRIMARY KEY", prev, - xcolumn, col->type); - sqlite3_free (prev); - prev = sql; - } - else - { - /* ordinary column */ - sql = - sqlite3_mprintf ("%s,\n\t\"%s\" %s%s", prev, xcolumn, - col->type, - (col->notnull) ? " NOT NULL" : ""); - sqlite3_free (prev); - prev = sql; - } - free (xcolumn); - col = col->next; - } - sql = sqlite3_mprintf ("%s)", prev); - sqlite3_free (prev); - -/* creating the Output Table */ - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "CREATE TABLE", errMsg); - sqlite3_free (errMsg); - return 0; - } - - return 1; -} - -static int -do_create_output_geometry (sqlite3 * handle, const char *table, - const char *geometry, int srid, int geom_type, - char **message) -{ -/* attempting to create the Output Geometry */ - int ret; - int retcode = 0; - sqlite3_stmt *stmt = NULL; - char *sql; - const char *type = ""; - const char *dims = ""; - - switch (geom_type) - { - case GAIA_POINT: - case GAIA_POINTZ: - case GAIA_POINTM: - case GAIA_POINTZM: - case GAIA_MULTIPOINT: - case GAIA_MULTIPOINTZ: - case GAIA_MULTIPOINTM: - case GAIA_MULTIPOINTZM: - type = "POINT"; - break; - case GAIA_LINESTRING: - case GAIA_LINESTRINGZ: - case GAIA_LINESTRINGM: - case GAIA_LINESTRINGZM: - case GAIA_MULTILINESTRING: - case GAIA_MULTILINESTRINGZ: - case GAIA_MULTILINESTRINGM: - case GAIA_MULTILINESTRINGZM: - type = "LINESTRING"; - break; - case GAIA_POLYGON: - case GAIA_POLYGONZ: - case GAIA_POLYGONM: - case GAIA_POLYGONZM: - case GAIA_MULTIPOLYGON: - case GAIA_MULTIPOLYGONZ: - case GAIA_MULTIPOLYGONM: - case GAIA_MULTIPOLYGONZM: - type = "POLYGON"; - break; - }; - switch (geom_type) - { - case GAIA_POINT: - case GAIA_LINESTRING: - case GAIA_POLYGON: - case GAIA_MULTIPOINT: - case GAIA_MULTILINESTRING: - case GAIA_MULTIPOLYGON: - case GAIA_POINTM: - case GAIA_LINESTRINGM: - case GAIA_POLYGONM: - case GAIA_MULTIPOINTM: - case GAIA_MULTILINESTRINGM: - case GAIA_MULTIPOLYGONM: - dims = "XY"; - break; - case GAIA_POINTZ: - case GAIA_LINESTRINGZ: - case GAIA_POLYGONZ: - case GAIA_MULTIPOINTZ: - case GAIA_MULTILINESTRINGZ: - case GAIA_MULTIPOLYGONZ: - case GAIA_POINTZM: - case GAIA_LINESTRINGZM: - case GAIA_POLYGONZM: - case GAIA_MULTIPOINTZM: - case GAIA_MULTILINESTRINGZM: - case GAIA_MULTIPOLYGONZM: - dims = "XYZ"; - break; - }; - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(Lower(%Q), Lower(%Q), %d, %Q, %Q)", table, - geometry, srid, type, dims); - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "AddGeometryTable", - sqlite3_errmsg (handle)); - goto end; - } - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER) - { - /* testing for success */ - if (sqlite3_column_int (stmt, 0) != 0) - retcode = 1; - } - } - } - - end: - if (stmt != NULL) - sqlite3_finalize (stmt); - return retcode; -} - -static gaiaGeomCollPtr -do_read_input_geometry (struct output_table *tbl, const void *cache, - sqlite3_stmt * stmt_in, sqlite3 * handle, - struct temporary_row *row, char **message, - unsigned char **blob, int *blob_sz) -{ -/* reading an Input Geometry */ - int ret; - int icol2 = 0; - int icol = 1; - struct multivar *var; - struct output_column *col; - gaiaGeomCollPtr geom = NULL; - const unsigned char *blob_value; - int size; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - gpkg_mode = pcache->gpkg_mode; - } - *blob = NULL; - *blob_sz = 0; - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_INPUT_PK) - { - var = find_input_pk_value (row, icol2); - if (var == NULL) - return NULL; - icol2++; - switch (var->type) - { - /* Input Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_in, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_in, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_in, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_in, icol); - break; - }; - icol++; - } - col = col->next; - } - while (1) - { - /* scrolling the result set rows - Input */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt_in, 0) == SQLITE_BLOB) - { - blob_value = sqlite3_column_blob (stmt_in, 0); - size = sqlite3_column_bytes (stmt_in, 0); - geom = - gaiaFromSpatiaLiteBlobWkbEx (blob_value, size, - gpkg_mode, - gpkg_amphibious); - *blob = (unsigned char *) blob_value; - *blob_sz = size; - return geom; - } - } - else - { - do_update_sql_error (message, - "step: SELECT Geometry FROM INPUT", - sqlite3_errmsg (handle)); - if (geom != NULL) - gaiaFreeGeomColl (geom); - return NULL; - } - } - - if (geom == NULL) - do_update_message (message, "found unexpected NULL Input Geometry"); - return geom; -} - -static gaiaGeomCollPtr -do_read_blade_geometry (struct output_table *tbl, const void *cache, - sqlite3_stmt * stmt_in, sqlite3 * handle, - struct temporary_row *row, char **message, - unsigned char **blob, int *blob_sz) -{ -/* reading an Blase Geometry */ - int ret; - int icol2 = 0; - int icol = 1; - struct multivar *var; - struct output_column *col; - gaiaGeomCollPtr geom = NULL; - const unsigned char *blob_value; - int size; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - gpkg_mode = pcache->gpkg_mode; - } - *blob = NULL; - *blob_sz = 0; - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_BLADE_PK) - { - var = find_blade_pk_value (row, icol2); - if (var == NULL) - return NULL; - icol2++; - switch (var->type) - { - /* Blade Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_in, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_in, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_in, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_in, icol); - break; - }; - icol++; - } - col = col->next; - } - while (1) - { - /* scrolling the result set rows - Input */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt_in, 0) == SQLITE_BLOB) - { - blob_value = sqlite3_column_blob (stmt_in, 0); - size = sqlite3_column_bytes (stmt_in, 0); - geom = - gaiaFromSpatiaLiteBlobWkbEx (blob_value, size, - gpkg_mode, - gpkg_amphibious); - *blob = (unsigned char *) blob_value; - *blob_sz = size; - return geom; - } - } - else - { - do_update_sql_error (message, - "step: SELECT Geometry FROM BLADE", - sqlite3_errmsg (handle)); - if (geom != NULL) - gaiaFreeGeomColl (geom); - return NULL; - } - } - - if (geom == NULL) - do_update_message (message, "found unexpected NULL Blade Geometry"); - return geom; -} - -static gaiaGeomCollPtr -do_prepare_point (gaiaPointPtr pt, int srid) -{ -/* normalizing a Point Geometry */ - gaiaGeomCollPtr new_geom = NULL; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - { - new_geom = gaiaAllocGeomCollXYZ (); - gaiaAddPointToGeomCollXYZ (new_geom, pt->X, pt->Y, pt->Z); - } - else - { - new_geom = gaiaAllocGeomColl (); - gaiaAddPointToGeomColl (new_geom, pt->X, pt->Y); - } - if (new_geom->MinX > pt->X) - new_geom->MinX = pt->X; - if (new_geom->MaxX < pt->X) - new_geom->MaxX = pt->X; - if (new_geom->MinY > pt->Y) - new_geom->MinY = pt->Y; - if (new_geom->MaxY < pt->Y) - new_geom->MaxY = pt->Y; - new_geom->Srid = srid; - new_geom->DeclaredType = GAIA_POINT; - return new_geom; -} - -static gaiaGeomCollPtr -do_prepare_linestring (gaiaLinestringPtr ln, int srid) -{ -/* normalizing a Linestring Geometry */ - gaiaGeomCollPtr new_geom = NULL; - gaiaLinestringPtr new_ln; - int iv; - double x; - double y; - double z = 0.0; - double m = 0.0; - - if (ln->DimensionModel == GAIA_XY_Z || ln->DimensionModel == GAIA_XY_Z_M) - new_geom = gaiaAllocGeomCollXYZ (); - else - new_geom = gaiaAllocGeomColl (); - new_geom->Srid = srid; - new_geom->DeclaredType = GAIA_LINESTRING; - - new_ln = gaiaAddLinestringToGeomColl (new_geom, ln->Points); - for (iv = 0; iv < ln->Points; iv++) - { - if (ln->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (ln->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (ln->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - if (new_geom->MinX > x) - new_geom->MinX = x; - if (new_geom->MaxX < x) - new_geom->MaxX = x; - if (new_geom->MinY > y) - new_geom->MinY = y; - if (new_geom->MaxY < y) - new_geom->MaxY = y; - if (new_ln->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (new_ln->Coords, iv, x, y, z); - } - else - { - gaiaSetPoint (new_ln->Coords, iv, x, y); - } - } - return new_geom; -} - -static gaiaGeomCollPtr -do_prepare_polygon (gaiaPolygonPtr pg, int srid) -{ -/* normalizing a Polygon Geometry */ - gaiaGeomCollPtr new_geom = NULL; - gaiaPolygonPtr new_pg; - gaiaRingPtr rng; - gaiaRingPtr new_rng; - int iv; - int ib; - double x; - double y; - double z; - double m; - - if (pg->DimensionModel == GAIA_XY_Z || pg->DimensionModel == GAIA_XY_Z_M) - new_geom = gaiaAllocGeomCollXYZ (); - else - new_geom = gaiaAllocGeomColl (); - new_geom->Srid = srid; - new_geom->DeclaredType = GAIA_POLYGON; - -/* Exterior Ring */ - rng = pg->Exterior; - new_pg = gaiaAddPolygonToGeomColl (new_geom, rng->Points, pg->NumInteriors); - new_rng = new_pg->Exterior; - for (iv = 0; iv < rng->Points; iv++) - { - m = 0.0; - z = 0.0; - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - if (new_geom->MinX > x) - new_geom->MinX = x; - if (new_geom->MaxX < x) - new_geom->MaxX = x; - if (new_geom->MinY > y) - new_geom->MinY = y; - if (new_geom->MaxY < y) - new_geom->MaxY = y; - if (new_rng->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (new_rng->Coords, iv, x, y, z); - } - else - { - gaiaSetPoint (new_rng->Coords, iv, x, y); - } - } - for (ib = 0; ib < pg->NumInteriors; ib++) - { - /* Interior Rings */ - rng = pg->Interiors + ib; - new_rng = gaiaAddInteriorRing (new_pg, ib, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - m = 0.0; - z = 0.0; - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - if (new_rng->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (new_rng->Coords, iv, x, y, z); - } - else - { - gaiaSetPoint (new_rng->Coords, iv, x, y); - } - } - } - return new_geom; -} - -static int -do_insert_output_row (struct output_table *tbl, const void *cache, - sqlite3_stmt * stmt_out, sqlite3 * handle, - struct temporary_row *row, int n_geom, int res_prog, - int geom_type, void *item, int srid, char **message) -{ -/* inserting into the Output table */ - int ret; - int icol2 = 0; - int icol = 1; - struct multivar *var; - struct output_column *col; - gaiaGeomCollPtr geom = NULL; - gaiaPointPtr pt; - gaiaLinestringPtr ln; - gaiaPolygonPtr pg; - unsigned char *blob; - int size; - int gpkg_mode = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - } - - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_INPUT_PK) - { - /* binding Input PK values */ - var = find_input_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Input Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_BLADE_PK) - { - /* binding Blade PK values */ - var = find_blade_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Blade Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } -/* binding "n_geom" and "res_prog" columns */ - sqlite3_bind_int (stmt_out, icol, n_geom); - icol++; - sqlite3_bind_int (stmt_out, icol, res_prog); - icol++; - switch (geom_type) - { - /* preparing the Output Geometry */ - case GAIA_CUTTER_POINT: - pt = (gaiaPointPtr) item; - geom = do_prepare_point (pt, srid); - break; - case GAIA_CUTTER_LINESTRING: - ln = (gaiaLinestringPtr) item; - geom = do_prepare_linestring (ln, srid); - break; - case GAIA_CUTTER_POLYGON: - pg = (gaiaPolygonPtr) item; - geom = do_prepare_polygon (pg, srid); - break; - default: - do_update_message (message, "ILLEGAL OUTPUT GEOMETRY"); - return 0; - }; - if (geom == NULL) - { - do_update_message (message, "UNEXPECTED NULL OUTPUT GEOMETRY"); - return 0; - } - gaiaToSpatiaLiteBlobWkbEx (geom, &blob, &size, gpkg_mode); - if (blob == NULL) - { - do_update_message (message, "UNEXPECTED NULL OUTPUT BLOB GEOMETRY"); - gaiaFreeGeomColl (geom); - return 0; - } - sqlite3_bind_blob (stmt_out, icol, blob, size, free); - gaiaFreeGeomColl (geom); - - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - return 1; - -/* some error occurred */ - do_update_sql_error (message, "INSERT INTO OUTPUT", - sqlite3_errmsg (handle)); - return 0; -} - -static int -do_create_input_statement (struct output_table *tbl, sqlite3 * handle, - const char *input_db_prefix, const char *input_table, - const char *input_geom, sqlite3_stmt ** stmt_in, - char **message) -{ -/* creating a Prepared Statemet - SELECT geometry FROM Input */ - sqlite3_stmt *stmt = NULL; - int ret; - char *xprefix; - char *xtable; - char *xcolumn; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - -/* composing the SQL statement */ - xcolumn = gaiaDoubleQuotedSql (input_geom); - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\" WHERE", xcolumn, - xprefix, xtable); - free (xcolumn); - free (xprefix); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s AND \"%s\" = ?", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s \"%s\" = ?", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT GEOMETRY FROM INPUT", - sqlite3_errmsg (handle)); - goto error; - } - - *stmt_in = stmt; - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -static int -do_create_output_statement (struct output_table *tbl, sqlite3 * handle, - const char *out_table, sqlite3_stmt ** stmt_out, - char **message) -{ -/* creating a Prepared Statemet - INSERT INTO Output */ - sqlite3_stmt *stmt = NULL; - int ret; - char *xtable; - char *sql; - char *prev; - struct output_column *col; - -/* composing the SQL statement */ - xtable = gaiaDoubleQuotedSql (out_table); - sql = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" VALUES (NULL", xtable); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - } - if (col->role == GAIA_CUTTER_BLADE_PK) - { - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - sql = sqlite3_mprintf ("%s, ?, ?, ?)", prev); - sqlite3_free (prev); - -/* creating a Prepared Statement */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "INSERT INTO OUTPUT", - sqlite3_errmsg (handle)); - goto error; - } - - *stmt_out = stmt; - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -static int -do_prepare_temp_points (struct output_table *tbl, sqlite3 * handle, - const char *input_db_prefix, const char *input_table, - const char *input_geom, const char *blade_db_prefix, - const char *blade_table, const char *blade_geom, - const char *spatial_index_prefix, - const char *spatial_index, char **tmp_table, - char **message) -{ -/* creating and populating the temporary helper table - POINTs */ - int ret; - char *errMsg = NULL; - char *temporary_table; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - time_t now; - pid_t pid; - struct output_column *col; - int comma = 0; - - *tmp_table = NULL; -/* composing the SQL statement */ -#if defined(_WIN32) && !defined(__MINGW32__) - pid = _getpid (); -#else - pid = getpid (); -#endif - time (&now); - temporary_table = sqlite3_mprintf ("tmpcuttertbl_%u_%u", pid, now); - xtable = gaiaDoubleQuotedSql (temporary_table); - - sql = sqlite3_mprintf ("CREATE TEMPORARY TABLE \"%s\" AS SELECT", xtable); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s, i.\"%s\" AS \"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s i.\"%s\" AS \"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s, b.\"%s\" AS \"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s b.\"%s\" AS \"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the "Touches" column */ - xcolumn1 = gaiaDoubleQuotedSql (input_geom); - xcolumn2 = gaiaDoubleQuotedSql (blade_geom); - sql = - sqlite3_mprintf ("%s, ST_Touches(i.\"%s\", b.\"%s\") AS touches", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = sqlite3_mprintf ("%s FROM \"%s\".\"%s\" AS i", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (blade_db_prefix); - xtable = gaiaDoubleQuotedSql (blade_table); - sql = - sqlite3_mprintf ("%s LEFT JOIN \"%s\".\"%s\" AS b ON (", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xcolumn1 = gaiaDoubleQuotedSql (input_geom); - xcolumn2 = gaiaDoubleQuotedSql (blade_geom); - sql = - sqlite3_mprintf ("%sST_CoveredBy(i.\"%s\", b.\"%s\") = 1 ", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - sql = sqlite3_mprintf ("%s AND b.ROWID IN (SELECT pkid FROM ", prev); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (spatial_index_prefix); - xtable = gaiaDoubleQuotedSql (spatial_index); - sql = sqlite3_mprintf ("%s \"%s\".\"%s\" WHERE", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xcolumn1 = gaiaDoubleQuotedSql (input_geom); - sql = - sqlite3_mprintf - ("%s xmin <= MbrMaxX(i.\"%s\") AND xmax >= MbrMinX(i.\"%s\") ", prev, - xcolumn1, xcolumn1); - sqlite3_free (prev); - prev = sql; - sql = - sqlite3_mprintf - ("%s AND ymin <= MbrMaxY(i.\"%s\") AND ymax >= MbrMinY(i.\"%s\")))", - prev, xcolumn1, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - -/* executing the SQL Query */ - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "CREATE TEMPORARY TABLE POINT #0", - errMsg); - sqlite3_free (errMsg); - goto error; - } - - *tmp_table = temporary_table; - return 1; - - error: - if (temporary_table != NULL) - sqlite3_free (temporary_table); - return 0; -} - -static int -do_create_temp_linestrings (struct output_table *tbl, sqlite3 * handle, - char **tmp_table, char **message) -{ -/* creating and populating the temporary helper table - LINESTRINGs */ - int ret; - char *errMsg = NULL; - char *temporary_table; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - time_t now; - pid_t pid; - struct output_column *col; - int comma = 0; - - *tmp_table = NULL; -/* composing the SQL statement */ -#if defined(_WIN32) && !defined(__MINGW32__) - pid = _getpid (); -#else - pid = getpid (); -#endif - time (&now); - temporary_table = sqlite3_mprintf ("tmpcuttertbl_%u_%u", pid, now); - xtable = gaiaDoubleQuotedSql (temporary_table); - - sql = sqlite3_mprintf ("CREATE TEMPORARY TABLE \"%s\" (", xtable); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s, \"%s\" GENERIC", prev, xcolumn2); - else - sql = sqlite3_mprintf ("%s \"%s\" GENERIC", prev, xcolumn2); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the n_geom column */ ; - xprefix = sqlite3_mprintf ("%s_n_geom", temporary_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = sqlite3_mprintf ("%s, \"%s\" INTEGER", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - sql = sqlite3_mprintf ("%s, \"%s\" GENERIC", prev, xcolumn2); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the nodes-geometry */ - xprefix = sqlite3_mprintf ("%s_nodes_geom", temporary_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = sqlite3_mprintf ("%s, \"%s\" BLOB", prev, xcolumn2); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; -/* adding the cut-geometry */ - xprefix = sqlite3_mprintf ("%s_geom", temporary_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = sqlite3_mprintf ("%s, \"%s\" BLOB)", prev, xcolumn2); - free (xcolumn2); - sqlite3_free (prev); - -/* executing the SQL Query */ - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "CREATE TEMPORARY TABLE LINESTRINGS", - errMsg); - sqlite3_free (errMsg); - goto error; - } - - *tmp_table = temporary_table; - return 1; - - error: - if (temporary_table != NULL) - sqlite3_free (temporary_table); - return 0; -} - -static int -do_create_temp_polygons (struct output_table *tbl, sqlite3 * handle, - char **tmp_table, char **message) -{ -/* creating and populating the temporary helper table - POLYGONs */ - int ret; - char *errMsg = NULL; - char *temporary_table; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - time_t now; - pid_t pid; - struct output_column *col; - int comma = 0; - - *tmp_table = NULL; -/* composing the SQL statement */ -#if defined(_WIN32) && !defined(__MINGW32__) - pid = _getpid (); -#else - pid = getpid (); -#endif - time (&now); - temporary_table = sqlite3_mprintf ("tmpcuttertbl_%u_%u", pid, now); - xtable = gaiaDoubleQuotedSql (temporary_table); - - sql = sqlite3_mprintf ("CREATE TEMPORARY TABLE \"%s\" (", xtable); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s, \"%s\" GENERIC", prev, xcolumn2); - else - sql = sqlite3_mprintf ("%s \"%s\" GENERIC", prev, xcolumn2); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the n_geom column */ ; - xprefix = sqlite3_mprintf ("%s_n_geom", temporary_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = sqlite3_mprintf ("%s, \"%s\" INTEGER", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - sql = sqlite3_mprintf ("%s, \"%s\" GENERIC", prev, xcolumn2); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the cut-geometry */ - xprefix = sqlite3_mprintf ("%s_geom", temporary_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = sqlite3_mprintf ("%s, \"%s\" BLOB)", prev, xcolumn2); - free (xcolumn2); - sqlite3_free (prev); - -/* executing the SQL Query */ - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "CREATE TEMPORARY TABLE POLYGONS", - errMsg); - sqlite3_free (errMsg); - goto error; - } - - *tmp_table = temporary_table; - return 1; - - error: - if (temporary_table != NULL) - sqlite3_free (temporary_table); - return 0; -} - -static int -is_null_blade (struct temporary_row *row) -{ -/* testing for a NULL Blade reference */ - struct multivar *var = row->first_blade; - while (var != NULL) - { - if (var->type != SQLITE_NULL) - return 0; - var = var->next; - } - return 1; -} - -static int -is_covered_by (const void *cache, gaiaGeomCollPtr input_g, - unsigned char *input_blob, int input_blob_sz, - gaiaGeomCollPtr blade_g, unsigned char *blade_blob, - int blade_blob_sz) -{ -/* testing if the Input geometry is completely Covered By the Blade Geometry */ - return gaiaGeomCollPreparedCoveredBy (cache, input_g, input_blob, - input_blob_sz, blade_g, blade_blob, - blade_blob_sz); -} - -static int -do_insert_temporary_linestrings (struct output_table *tbl, sqlite3 * handle, - const void *cache, sqlite3_stmt * stmt_out, - struct temporary_row *row, - gaiaGeomCollPtr geom, char **message, - int ngeom) -{ -/* inserting a resolved Geometry in the Linestrings Helper Table */ - int ret; - gaiaLinestringPtr ln; - struct output_column *col; - struct multivar *var; - int icol2 = 0; - int icol = 1; - int n_geom = 0; - unsigned char *blob; - int size; - int gpkg_mode = 0; - gaiaGeomCollPtr g; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - } - - if (ngeom < 0) - n_geom = 0; - else - n_geom = ngeom; - - ln = geom->FirstLinestring; - while (ln != NULL) - { - /* separating elementary geometries */ - icol2 = 0; - icol = 1; - if (ngeom < 0) - n_geom++; - g = do_prepare_linestring (ln, geom->Srid); - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_INPUT_PK) - { - /* binding Input PK values */ - var = find_input_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Input Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, - var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - /* binding n_geom */ - sqlite3_bind_int (stmt_out, icol, n_geom); - icol++; - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_BLADE_PK) - { - /* binding Blade PK values */ - var = find_blade_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Blade Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, - var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - /* binding Nodes */ - sqlite3_bind_null (stmt_out, icol); - icol++; - /* binding Geometry */ - gaiaToSpatiaLiteBlobWkbEx (g, &blob, &size, gpkg_mode); - if (blob == NULL) - { - do_update_message (message, - "UNEXPECTED NULL TEMPORARY LINESTRING BLOB GEOMETRY"); - gaiaFreeGeomColl (geom); - return 0; - } - sqlite3_bind_blob (stmt_out, icol, blob, size, free); - gaiaFreeGeomColl (g); - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - /* some error occurred */ - do_update_sql_error (message, - "INSERT INTO TEMPORARY LINSTRINGS", - sqlite3_errmsg (handle)); - return 0; - } - ln = ln->Next; - } - return 1; -} - -static int -do_insert_temporary_linestring_intersection (struct output_table *tbl, - sqlite3 * handle, - const void *cache, - sqlite3_stmt * stmt_out, - struct temporary_row *row, - int n_geom, gaiaGeomCollPtr nodes, - char **message) -{ -/* inserting an Input/Blade intersection into the Linestrings Helper Table */ - int ret; - struct output_column *col; - struct multivar *var; - int icol2 = 0; - int icol = 1; - unsigned char *blob; - int size; - int gpkg_mode = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - } - - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_INPUT_PK) - { - /* binding Input PK values */ - var = find_input_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Input Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - /* binding n_geom */ - sqlite3_bind_int (stmt_out, icol, n_geom); - icol++; - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_BLADE_PK) - { - /* binding Blade PK values */ - var = find_blade_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Blade Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - /* binding Nodes */ - gaiaToSpatiaLiteBlobWkbEx (nodes, &blob, &size, gpkg_mode); - if (blob == NULL) - { - do_update_message (message, - "UNEXPECTED NULL TEMPORARY LINESTRING NODES BLOB GEOMETRY"); - return 0; - } - sqlite3_bind_blob (stmt_out, icol, blob, size, free); - icol++; - /* binding NULL geometry */ - sqlite3_bind_null (stmt_out, icol); - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - return 1; - - /* some error occurred */ - do_update_sql_error (message, "INSERT INTO TEMPORARY LINESTRINGS", - sqlite3_errmsg (handle)); - return 0; -} - -static gaiaGeomCollPtr -do_extract_linestring_nodes (const void *cache, sqlite3_stmt * stmt_nodes, - gaiaLinestringPtr input_ln, int srid, - gaiaGeomCollPtr blade_g) -{ -/* finding the points of intersection between tweo lines (nodes) */ - int ret; - gaiaGeomCollPtr input_g; - gaiaGeomCollPtr result = NULL; - unsigned char *input_blob = NULL; - int input_blob_sz; - unsigned char *blade_blob = NULL; - int blade_blob_sz; - int gpkg_mode = 0; - int gpkg_amphibious = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - } - - sqlite3_reset (stmt_nodes); - sqlite3_clear_bindings (stmt_nodes); - input_g = do_prepare_linestring (input_ln, srid); - gaiaToSpatiaLiteBlobWkbEx (input_g, &input_blob, &input_blob_sz, gpkg_mode); - gaiaFreeGeomColl (input_g); - gaiaToSpatiaLiteBlobWkbEx (blade_g, &blade_blob, &blade_blob_sz, gpkg_mode); - sqlite3_bind_blob (stmt_nodes, 1, input_blob, input_blob_sz, free); - sqlite3_bind_blob (stmt_nodes, 2, blade_blob, blade_blob_sz, free); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_nodes); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - if (sqlite3_column_type (stmt_nodes, 0) == SQLITE_BLOB) - { - const unsigned char *blob = - sqlite3_column_blob (stmt_nodes, 0); - int blob_sz = sqlite3_column_bytes (stmt_nodes, 0); - result = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - } - } - } - - return result; -} - -static int -do_populate_temp_linestrings (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *blade_db_prefix, - const char *blade_table, const char *blade_geom, - const char *spatial_index_prefix, - const char *spatial_index, const char *tmp_table, - int type, char **message) -{ -/* populating the temporary helper table - LINESTRINGs */ - int ret; - sqlite3_stmt *stmt_main = NULL; - sqlite3_stmt *stmt_input = NULL; - sqlite3_stmt *stmt_blade = NULL; - sqlite3_stmt *stmt_tmp = NULL; - sqlite3_stmt *stmt_nodes = NULL; - char *xprefix; - char *xtable; - char *xcolumn; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - int cast2d = 0; - int cast3d = 0; - - switch (type) - { - case GAIA_LINESTRINGM: - case GAIA_MULTILINESTRINGM: - cast2d = 1; - break; - case GAIA_LINESTRINGZM: - case GAIA_MULTILINESTRINGZM: - cast3d = 1; - break; - }; - -/* composing the SQL statement - main SELECT query */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s, i.\"%s\"", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s i.\"%s\"", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - sql = sqlite3_mprintf ("%s, b.\"%s\"", prev, xcolumn); - free (xcolumn); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = sqlite3_mprintf ("%s FROM \"%s\".\"%s\" AS i", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (blade_db_prefix); - xtable = gaiaDoubleQuotedSql (blade_table); - sql = - sqlite3_mprintf ("%s JOIN \"%s\".\"%s\" AS b ON (", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - sql = sqlite3_mprintf ("%sb.ROWID IN (SELECT pkid FROM ", prev); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (spatial_index_prefix); - xtable = gaiaDoubleQuotedSql (spatial_index); - sql = sqlite3_mprintf ("%s \"%s\".\"%s\" WHERE", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xcolumn = gaiaDoubleQuotedSql (input_geom); - sql = - sqlite3_mprintf - ("%s xmin <= MbrMaxX(i.\"%s\") AND xmax >= MbrMinX(i.\"%s\") ", prev, - xcolumn, xcolumn); - sqlite3_free (prev); - prev = sql; - sql = - sqlite3_mprintf - ("%s AND ymin <= MbrMaxY(i.\"%s\") AND ymax >= MbrMinY(i.\"%s\")))", - prev, xcolumn, xcolumn); - free (xcolumn); - sqlite3_free (prev); - -/* creating a Prepared Statement - main SELECT query */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_main, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "QUERYING LINESTRING INTERSECTIONS", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - SELECT geometry FROM Input */ - xcolumn = gaiaDoubleQuotedSql (input_geom); - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\" WHERE", xcolumn, - xprefix, xtable); - free (xcolumn); - free (xprefix); - free (xtable); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s AND \"%s\" = ?", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s \"%s\" = ?", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT geometry FROM Input */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_input, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT GEOMETRY FROM INPUT", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - SELECT geometry FROM Blade */ - xcolumn = gaiaDoubleQuotedSql (blade_geom); - xprefix = gaiaDoubleQuotedSql (blade_db_prefix); - xtable = gaiaDoubleQuotedSql (blade_table); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\" WHERE", xcolumn, - xprefix, xtable); - free (xcolumn); - free (xprefix); - free (xtable); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s AND \"%s\" = ?", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s \"%s\" = ?", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT geometry FROM Blade */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_blade, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT GEOMETRY FROM BLADE", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - Inserting into TMP */ - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = sqlite3_mprintf ("INSERT INTO TEMP.\"%s\" VALUES (", xtable); - free (xtable); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - if (comma) - sql = sqlite3_mprintf ("%s, ?", prev); - else - sql = sqlite3_mprintf ("%s?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the n_geom column */ - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the nodes columns */ - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; -/* adding the geom columns */ - if (cast2d) - sql = sqlite3_mprintf ("%s, CastToXY(?))", prev); - else if (cast3d) - sql = sqlite3_mprintf ("%s, CastToXYZ(?))", prev); - else - sql = sqlite3_mprintf ("%s, ?)", prev); - sqlite3_free (prev); - -/* creating a Prepared Statement - INSERT INTO TMP LINESTRINGS */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_tmp, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "INSERT INTO TMP LINESTRINGS", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - finding NODES */ - sql = - sqlite3_mprintf ("SELECT CollectionExtract(ST_Intersection(?, ?), 1)"); - -/* creating a Prepared Statement - finding NODES */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_nodes, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "FINDING LINESTRING NODES", - sqlite3_errmsg (handle)); - goto error; - } - - while (1) - { - /* scrolling the result set rows - checking matching Input/Blade pairs */ - ret = sqlite3_step (stmt_main); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - gaiaGeomCollPtr input_g = NULL; - gaiaGeomCollPtr blade_g = NULL; - gaiaGeomCollPtr linear_blade_g = NULL; - gaiaLinestringPtr ln; - int n_geom = 0; - unsigned char *input_blob; - unsigned char *blade_blob; - int input_blob_sz; - int blade_blob_sz; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - switch (sqlite3_column_type (stmt_main, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'I', icol2, - sqlite3_column_int64 - (stmt_main, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'I', icol2, - sqlite3_column_double - (stmt_main, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'I', icol2, - (const char *) - sqlite3_column_text - (stmt_main, icol)); - break; - default: - add_null_pk_value (&row, 'I', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - switch (sqlite3_column_type (stmt_main, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'B', icol2, - sqlite3_column_int64 - (stmt_main, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'B', icol2, - sqlite3_column_double - (stmt_main, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'B', icol2, - (const char *) - sqlite3_column_text - (stmt_main, icol)); - break; - default: - add_null_pk_value (&row, 'B', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - - /* reading the Input Geometry */ - input_g = - do_read_input_geometry (tbl, cache, stmt_input, handle, - &row, message, &input_blob, - &input_blob_sz); - if (input_g == NULL) - goto error; - - if (is_null_blade (&row)) - { - /* Input doesn't matches any Blade */ - if (!do_insert_temporary_linestrings - (tbl, handle, cache, stmt_tmp, &row, input_g, - message, -1)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - goto error; - } - goto skip; - } - - /* reading the Blade Geometry */ - blade_g = - do_read_blade_geometry (tbl, cache, stmt_blade, handle, - &row, message, &blade_blob, - &blade_blob_sz); - if (blade_g == NULL) - goto error; - - if (is_covered_by - (cache, input_g, input_blob, input_blob_sz, blade_g, - blade_blob, blade_blob_sz)) - { - /* Input is completely Covered By Blade */ - if (!do_insert_temporary_linestrings - (tbl, handle, cache, stmt_tmp, &row, input_g, - message, -1)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (blade_g); - goto error; - } - goto skip; - } - - linear_blade_g = gaiaLinearize (blade_g, 1); - ln = input_g->FirstLinestring; - while (ln != NULL) - { - gaiaGeomCollPtr nodes; - n_geom++; - nodes = - do_extract_linestring_nodes (cache, stmt_nodes, ln, - input_g->Srid, - linear_blade_g); - if (nodes != NULL) - { - /* saving an Input/Blade intersection */ - if (!do_insert_temporary_linestring_intersection - (tbl, handle, cache, stmt_tmp, &row, n_geom, - nodes, message)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (blade_g); - gaiaFreeGeomColl (linear_blade_g); - gaiaFreeGeomColl (nodes); - goto error; - } - gaiaFreeGeomColl (nodes); - } - ln = ln->Next; - } - gaiaFreeGeomColl (linear_blade_g); - - skip: - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (blade_g); - } - else - { - do_update_sql_error (message, - "step: MAIN LINESTRINGS LOOP", - sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_main); - sqlite3_finalize (stmt_input); - sqlite3_finalize (stmt_blade); - sqlite3_finalize (stmt_tmp); - sqlite3_finalize (stmt_nodes); - return 1; - - error: - if (stmt_main == NULL) - sqlite3_finalize (stmt_main); - if (stmt_input == NULL) - sqlite3_finalize (stmt_input); - if (stmt_blade == NULL) - sqlite3_finalize (stmt_blade); - if (stmt_tmp == NULL) - sqlite3_finalize (stmt_tmp); - if (stmt_nodes == NULL) - sqlite3_finalize (stmt_nodes); - return 0; -} - -static int -do_update_tmp_cut_linestring (sqlite3 * handle, sqlite3_stmt * stmt_upd, - sqlite3_int64 pk, const unsigned char *blob, - int blob_sz, char **message) -{ -/* saving an Input Linestring cut against a renoded Blade */ - int ret; - - sqlite3_reset (stmt_upd); - sqlite3_clear_bindings (stmt_upd); -/* binding the cut Input geometry */ - sqlite3_bind_blob (stmt_upd, 1, blob, blob_sz, free); - sqlite3_bind_int64 (stmt_upd, 2, pk); - /* updating the TMP table */ - ret = sqlite3_step (stmt_upd); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - return 1; - - /* some error occurred */ - do_update_sql_error (message, - "step: UPDATE TMP SET cut-Polygon", - sqlite3_errmsg (handle)); - return 0; -} - -static int -do_cut_tmp_linestrings (sqlite3 * handle, const void *cache, - sqlite3_stmt * stmt_in, sqlite3_stmt * stmt_upd, - struct temporary_row *row, char **message, - const unsigned char *blade_blob, int blade_blob_sz) -{ -/* cutting all Input Linestrings intersecting the renoded Blade */ - int ret; - struct multivar *var; - int icol = 1; - gaiaGeomCollPtr blade_g; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - gpkg_mode = pcache->gpkg_mode; - } - - blade_g = gaiaFromSpatiaLiteBlobWkbEx (blade_blob, blade_blob_sz, - gpkg_mode, gpkg_amphibious); - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - var = row->first_blade; - while (var != NULL) - { - /* binding Primary Key values (from Blade) */ - switch (var->type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_in, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_in, icol, var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_in, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_in, icol); - break; - }; - icol++; - var = var->next; - } - - while (1) - { - /* scrolling the result set rows - cut Linestrings */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - sqlite3_int64 pk = 0; - unsigned char *blob = NULL; - int blob_sz = 0; - gaiaGeomCollPtr input_g; - gaiaGeomCollPtr result; - if (sqlite3_column_type (stmt_in, 0) == SQLITE_INTEGER - && sqlite3_column_type (stmt_in, 1) == SQLITE_BLOB) - { - pk = sqlite3_column_int64 (stmt_in, 0); - blob = (unsigned char *) sqlite3_column_blob (stmt_in, 1); - blob_sz = sqlite3_column_bytes (stmt_in, 1); - input_g = gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - result = - gaiaGeometryIntersection_r (cache, input_g, blade_g); - if (result != NULL) - { - gaiaToSpatiaLiteBlobWkbEx (result, &blob, &blob_sz, - gpkg_mode); - gaiaFreeGeomColl (result); - } - gaiaFreeGeomColl (input_g); - } - if (blob != NULL) - { - if (!do_update_tmp_cut_linestring - (handle, stmt_upd, pk, blob, blob_sz, message)) - goto error; - } - } - else - { - do_update_sql_error (message, - "step: cut Linestrings", - sqlite3_errmsg (handle)); - goto error; - } - } - gaiaFreeGeomColl (blade_g); - return 1; - - error: - gaiaFreeGeomColl (blade_g); - return 0; -} - -static int -do_split_linestrings (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *blade_db_prefix, const char *blade_table, - const char *blade_geom, const char *tmp_table, - char **message) -{ -/* cutting all Input Linestrings intersecting some Blade */ - int ret; - sqlite3_stmt *stmt_blades = NULL; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_upd = NULL; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - -/* composing the SQL statement - SELECT FROM Blades */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, t.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s t.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xcolumn1 = gaiaDoubleQuotedSql (blade_geom); - xprefix = sqlite3_mprintf ("%s_nodes_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf - ("%s, ST_Snap(b.\"%s\", ST_UnaryUnion(ST_Collect(t.\"%s\")), 0.000000001)", - prev, xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = sqlite3_mprintf ("%s FROM TEMP.\"%s\" AS t", prev, xtable); - free (xtable); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (blade_db_prefix); - xtable = gaiaDoubleQuotedSql (blade_table); - sql = - sqlite3_mprintf ("%s JOIN \"%s\".\"%s\" AS b ON (", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s AND b.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s b.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf ("%s) WHERE t.\"%s\" IS NULL GROUP BY", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, t.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s t.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT FROM Blades */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_blades, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT FROM BLADES", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - SELECT Input */ - xcolumn1 = gaiaDoubleQuotedSql (input_geom); - xtable = gaiaDoubleQuotedSql (tmp_table); - xprefix = sqlite3_mprintf ("%s_n_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf - ("SELECT t.ROWID, ST_GeometryN(i.\"%s\", t.\"%s\") FROM TEMP.\"%s\" AS t", - xcolumn1, xcolumn2, xtable); - free (xcolumn1); - free (xcolumn2); - free (xtable); - prev = sql; - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = - sqlite3_mprintf ("%s JOIN \"%s\".\"%s\" AS i ON (", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s AND i.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s i.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = sqlite3_mprintf ("%s) WHERE t.\"%s\" IS NULL", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - sql = sqlite3_mprintf ("%s AND t.\"%s\" = ?", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT Input */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT INPUT FROM TMP", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - UPDATE tmp SET cut-Geom */ - xtable = gaiaDoubleQuotedSql (tmp_table); - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf ("UPDATE TEMP.\"%s\" SET \"%s\" = ? WHERE ROWID = ?", - xtable, xcolumn1); - free (xcolumn1); - free (xtable); - -/* creating a Prepared Statement - UPDATE tmp SET cut-Geom */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_upd, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "UPDATE TMP cut-Geometries", - sqlite3_errmsg (handle)); - goto error; - } - - while (1) - { - /* scrolling the result set rows - renoded Blades */ - ret = sqlite3_step (stmt_blades); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - switch (sqlite3_column_type (stmt_blades, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'B', icol2, - sqlite3_column_int64 - (stmt_blades, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'B', icol2, - sqlite3_column_double - (stmt_blades, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'B', icol2, - (const char *) - sqlite3_column_text - (stmt_blades, icol)); - break; - default: - add_null_pk_value (&row, 'B', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - /* fetching the Blade */ - if (sqlite3_column_type (stmt_blades, icol) == SQLITE_BLOB) - { - const unsigned char *blob = - sqlite3_column_blob (stmt_blades, icol); - int blob_sz = sqlite3_column_bytes (stmt_blades, icol); - /* cutting all Input geoms intersecting the Blade */ - if (!do_cut_tmp_linestrings - (handle, cache, stmt_in, stmt_upd, &row, message, - blob, blob_sz)) - { - reset_temporary_row (&row); - goto error; - } - } - else - { - do_update_message (message, "Unexpected NULL Blade\n"); - reset_temporary_row (&row); - goto error; - } - - reset_temporary_row (&row); - } - else - { - do_update_sql_error (message, - "step: BLADES", sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_blades); - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_upd); - return 1; - - error: - if (stmt_blades != NULL) - sqlite3_finalize (stmt_blades); - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_upd != NULL) - sqlite3_finalize (stmt_upd); - return 0; -} - -static int -do_insert_temporary_polygons (struct output_table *tbl, sqlite3 * handle, - const void *cache, sqlite3_stmt * stmt_out, - struct temporary_row *row, gaiaGeomCollPtr geom, - char **message, int ngeom) -{ -/* inserting a resolved Geometry in the Polygons Helper Table */ - int ret; - gaiaPolygonPtr pg; - struct output_column *col; - struct multivar *var; - int icol2 = 0; - int icol = 1; - int n_geom = 0; - unsigned char *blob; - int size; - int gpkg_mode = 0; - gaiaGeomCollPtr g; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - } - - if (ngeom < 0) - n_geom = 0; - else - n_geom = ngeom; - - pg = geom->FirstPolygon; - while (pg != NULL) - { - /* separating elementary geometries */ - icol2 = 0; - icol = 1; - if (ngeom < 0) - n_geom++; - g = do_prepare_polygon (pg, geom->Srid); - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_INPUT_PK) - { - /* binding Input PK values */ - var = find_input_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Input Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, - var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - /* binding n_geom */ - sqlite3_bind_int (stmt_out, icol, n_geom); - icol++; - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_BLADE_PK) - { - /* binding Blade PK values */ - var = find_blade_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Blade Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, - var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - /* binding Geometry */ - gaiaToSpatiaLiteBlobWkbEx (g, &blob, &size, gpkg_mode); - if (blob == NULL) - { - do_update_message (message, - "UNEXPECTED NULL TEMPORARY POLYGON BLOB GEOMETRY"); - gaiaFreeGeomColl (geom); - return 0; - } - sqlite3_bind_blob (stmt_out, icol, blob, size, free); - gaiaFreeGeomColl (g); - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - /* some error occurred */ - do_update_sql_error (message, "INSERT INTO TEMPORARY POLYGONS", - sqlite3_errmsg (handle)); - return 0; - } - pg = pg->Next; - } - return 1; -} - -static int -do_insert_temporary_polygon_intersection (struct output_table *tbl, - sqlite3 * handle, - sqlite3_stmt * stmt_out, - struct temporary_row *row, int n_geom, - char **message) -{ -/* inserting an Input/Blade intersection into the Polygons Helper Table */ - int ret; - struct output_column *col; - struct multivar *var; - int icol2 = 0; - int icol = 1; - - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_INPUT_PK) - { - /* binding Input PK values */ - var = find_input_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Input Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - /* binding n_geom */ - sqlite3_bind_int (stmt_out, icol, n_geom); - icol++; - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_BLADE_PK) - { - /* binding Blade PK values */ - var = find_blade_pk_value (row, icol2); - if (var == NULL) - return 0; - icol2++; - switch (var->type) - { - /* Blade Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - /* binding NULL geometry */ - sqlite3_bind_null (stmt_out, icol); - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - return 1; - - /* some error occurred */ - do_update_sql_error (message, "INSERT INTO TEMPORARY POLYGONS", - sqlite3_errmsg (handle)); - return 0; -} - -static int -do_populate_temp_polygons (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *blade_db_prefix, const char *blade_table, - const char *blade_geom, - const char *spatial_index_prefix, - const char *spatial_index, const char *tmp_table, - int type, char **message) -{ -/* populating the temporary helper table - POLYGONs */ - int ret; - sqlite3_stmt *stmt_main = NULL; - sqlite3_stmt *stmt_input = NULL; - sqlite3_stmt *stmt_blade = NULL; - sqlite3_stmt *stmt_tmp = NULL; - char *xprefix; - char *xtable; - char *xcolumn; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - int cast2d = 0; - int cast3d = 0; - int gpkg_mode = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - } - - switch (type) - { - case GAIA_POLYGONM: - case GAIA_MULTIPOLYGONM: - cast2d = 1; - break; - case GAIA_POLYGONZM: - case GAIA_MULTIPOLYGONZM: - cast3d = 1; - break; - }; - -/* composing the SQL statement - main SELECT query */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s, i.\"%s\"", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s i.\"%s\"", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - sql = sqlite3_mprintf ("%s, b.\"%s\"", prev, xcolumn); - free (xcolumn); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = sqlite3_mprintf ("%s FROM \"%s\".\"%s\" AS i", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (blade_db_prefix); - xtable = gaiaDoubleQuotedSql (blade_table); - sql = - sqlite3_mprintf ("%s JOIN \"%s\".\"%s\" AS b ON (", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - sql = sqlite3_mprintf ("%sb.ROWID IN (SELECT pkid FROM ", prev); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (spatial_index_prefix); - xtable = gaiaDoubleQuotedSql (spatial_index); - sql = sqlite3_mprintf ("%s \"%s\".\"%s\" WHERE", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xcolumn = gaiaDoubleQuotedSql (input_geom); - sql = - sqlite3_mprintf - ("%s xmin <= MbrMaxX(i.\"%s\") AND xmax >= MbrMinX(i.\"%s\") ", prev, - xcolumn, xcolumn); - sqlite3_free (prev); - prev = sql; - sql = - sqlite3_mprintf - ("%s AND ymin <= MbrMaxY(i.\"%s\") AND ymax >= MbrMinY(i.\"%s\")))", - prev, xcolumn, xcolumn); - free (xcolumn); - sqlite3_free (prev); - -/* creating a Prepared Statement - main SELECT query */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_main, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "QUERYING POLYGON INTERSECTIONS", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - SELECT geometry FROM Input */ - xcolumn = gaiaDoubleQuotedSql (input_geom); - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\" WHERE", xcolumn, - xprefix, xtable); - free (xcolumn); - free (xprefix); - free (xtable); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s AND \"%s\" = ?", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s \"%s\" = ?", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT geometry FROM Input */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_input, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT GEOMETRY FROM INPUT", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - SELECT geometry FROM Blade */ - xcolumn = gaiaDoubleQuotedSql (blade_geom); - xprefix = gaiaDoubleQuotedSql (blade_db_prefix); - xtable = gaiaDoubleQuotedSql (blade_table); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\" WHERE", xcolumn, - xprefix, xtable); - free (xcolumn); - free (xprefix); - free (xtable); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s AND \"%s\" = ?", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s \"%s\" = ?", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT geometry FROM Blade */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_blade, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT GEOMETRY FROM BLADE", - sqlite3_errmsg (handle)); - goto error; - } - -/* creating a Prepared Statement - Inserting into TMP */ - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = sqlite3_mprintf ("INSERT INTO TEMP.\"%s\" VALUES (", xtable); - free (xtable); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - if (comma) - sql = sqlite3_mprintf ("%s, ?", prev); - else - sql = sqlite3_mprintf ("%s?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the n_geom column */ - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the geom columns */ - if (cast2d) - sql = sqlite3_mprintf ("%s, CastToXY(?))", prev); - else if (cast3d) - sql = sqlite3_mprintf ("%s, CastToXYZ(?))", prev); - else - sql = sqlite3_mprintf ("%s, ?)", prev); - sqlite3_free (prev); - -/* creating a Prepared Statement - INSERT INTO TMP POLYGONS */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_tmp, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "INSERT INTO TMP POLYGONS", - sqlite3_errmsg (handle)); - goto error; - } - - while (1) - { - /* scrolling the result set rows - checking matching Input/Blade pairs */ - ret = sqlite3_step (stmt_main); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - gaiaGeomCollPtr input_g = NULL; - gaiaGeomCollPtr blade_g = NULL; - gaiaPolygonPtr pg; - int n_geom = 0; - unsigned char *input_blob; - unsigned char *blade_blob; - int input_blob_sz; - int blade_blob_sz; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - switch (sqlite3_column_type (stmt_main, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'I', icol2, - sqlite3_column_int64 - (stmt_main, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'I', icol2, - sqlite3_column_double - (stmt_main, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'I', icol2, - (const char *) - sqlite3_column_text - (stmt_main, icol)); - break; - default: - add_null_pk_value (&row, 'I', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - switch (sqlite3_column_type (stmt_main, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'B', icol2, - sqlite3_column_int64 - (stmt_main, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'B', icol2, - sqlite3_column_double - (stmt_main, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'B', icol2, - (const char *) - sqlite3_column_text - (stmt_main, icol)); - break; - default: - add_null_pk_value (&row, 'B', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - - /* reading the Input Geometry */ - input_g = - do_read_input_geometry (tbl, cache, stmt_input, handle, - &row, message, &input_blob, - &input_blob_sz); - if (input_g == NULL) - goto error; - - if (is_null_blade (&row)) - { - /* Input doesn't matches any Blade */ - if (!do_insert_temporary_polygons - (tbl, handle, cache, stmt_tmp, &row, input_g, - message, -1)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - goto error; - } - goto skip; - } - - /* reading the Blade Geometry */ - blade_g = - do_read_blade_geometry (tbl, cache, stmt_blade, handle, - &row, message, &blade_blob, - &blade_blob_sz); - if (blade_g == NULL) - goto error; - - if (is_covered_by - (cache, input_g, input_blob, input_blob_sz, blade_g, - blade_blob, blade_blob_sz)) - { - /* Input is completely Covered By Blade */ - if (!do_insert_temporary_polygons - (tbl, handle, cache, stmt_tmp, &row, input_g, - message, -1)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (blade_g); - goto error; - } - goto skip; - } - - if (is_covered_by - (cache, blade_g, blade_blob, blade_blob_sz, input_g, - input_blob, input_blob_sz)) - { - /* Blade is completely Covered By Input */ - gaiaGeomCollPtr g = - gaiaGeometryIntersection_r (cache, input_g, blade_g); - if (!do_insert_temporary_polygons - (tbl, handle, cache, stmt_tmp, &row, g, message, -1)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (blade_g); - gaiaFreeGeomColl (g); - goto error; - } - gaiaFreeGeomColl (g); - goto skip; - } - - pg = input_g->FirstPolygon; - while (pg != NULL) - { - unsigned char *pg_blob; - int pg_blob_sz; - gaiaGeomCollPtr pg_geom = - do_prepare_polygon (pg, input_g->Srid); - gaiaToSpatiaLiteBlobWkbEx (pg_geom, &pg_blob, &pg_blob_sz, - gpkg_mode); - n_geom++; - if (gaiaGeomCollPreparedIntersects - (cache, pg_geom, pg_blob, pg_blob_sz, blade_g, - blade_blob, blade_blob_sz)) - { - /* saving an Input/Blade intersection */ - if (!do_insert_temporary_polygon_intersection - (tbl, handle, stmt_tmp, &row, n_geom, message)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (blade_g); - gaiaFreeGeomColl (pg_geom); - free (pg_blob); - goto error; - } - } - free (pg_blob); - gaiaFreeGeomColl (pg_geom); - pg = pg->Next; - } - - skip: - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (blade_g); - } - else - { - do_update_sql_error (message, - "step: MAIN POLYGONS LOOP", - sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_main); - sqlite3_finalize (stmt_input); - sqlite3_finalize (stmt_blade); - sqlite3_finalize (stmt_tmp); - return 1; - - error: - if (stmt_main == NULL) - sqlite3_finalize (stmt_main); - if (stmt_input == NULL) - sqlite3_finalize (stmt_input); - if (stmt_blade == NULL) - sqlite3_finalize (stmt_blade); - if (stmt_tmp == NULL) - sqlite3_finalize (stmt_tmp); - return 0; -} - -static int -do_update_tmp_cut_polygon (sqlite3 * handle, sqlite3_stmt * stmt_upd, - sqlite3_int64 pk, const unsigned char *blob, - int blob_sz, char **message) -{ -/* saving an Input Polygon cut against a renoded Blade */ - int ret; - - sqlite3_reset (stmt_upd); - sqlite3_clear_bindings (stmt_upd); -/* binding the cut Input geometry */ - sqlite3_bind_blob (stmt_upd, 1, blob, blob_sz, free); - sqlite3_bind_int64 (stmt_upd, 2, pk); - /* updating the TMP table */ - ret = sqlite3_step (stmt_upd); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - return 1; - - /* some error occurred */ - do_update_sql_error (message, - "step: UPDATE TMP SET cut-Polygon", - sqlite3_errmsg (handle)); - return 0; -} - -static int -do_cut_tmp_polygons (sqlite3 * handle, const void *cache, - sqlite3_stmt * stmt_in, sqlite3_stmt * stmt_upd, - struct temporary_row *row, char **message, - const unsigned char *blade_blob, int blade_blob_sz) -{ -/* cutting all Input Polygons intersecting the renoded Blade */ - int ret; - struct multivar *var; - int icol = 1; - gaiaGeomCollPtr blade_g; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - gpkg_mode = pcache->gpkg_mode; - } - - blade_g = gaiaFromSpatiaLiteBlobWkbEx (blade_blob, blade_blob_sz, - gpkg_mode, gpkg_amphibious); - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - var = row->first_blade; - while (var != NULL) - { - /* binding Primary Key values (from Blade) */ - switch (var->type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_in, icol, var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_in, icol, var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_in, icol, - var->value.textValue, - strlen (var->value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_in, icol); - break; - }; - icol++; - var = var->next; - } - - while (1) - { - /* scrolling the result set rows - cut Polygons */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - sqlite3_int64 pk = 0; - unsigned char *blob = NULL; - int blob_sz = 0; - gaiaGeomCollPtr input_g; - gaiaGeomCollPtr result; - if (sqlite3_column_type (stmt_in, 0) == SQLITE_INTEGER - && sqlite3_column_type (stmt_in, 1) == SQLITE_BLOB) - { - pk = sqlite3_column_int64 (stmt_in, 0); - blob = (unsigned char *) sqlite3_column_blob (stmt_in, 1); - blob_sz = sqlite3_column_bytes (stmt_in, 1); - input_g = gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - result = - gaiaGeometryIntersection_r (cache, input_g, blade_g); - if (result != NULL) - { - gaiaToSpatiaLiteBlobWkbEx (result, &blob, &blob_sz, - gpkg_mode); - gaiaFreeGeomColl (result); - } - gaiaFreeGeomColl (input_g); - } - if (blob != NULL) - { - if (!do_update_tmp_cut_polygon - (handle, stmt_upd, pk, blob, blob_sz, message)) - goto error; - } - } - else - { - do_update_sql_error (message, - "step: cut Polygons", - sqlite3_errmsg (handle)); - goto error; - } - } - gaiaFreeGeomColl (blade_g); - return 1; - - error: - gaiaFreeGeomColl (blade_g); - return 0; -} - -static int -do_split_polygons (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *blade_db_prefix, const char *blade_table, - const char *blade_geom, const char *tmp_table, - char **message) -{ -/* cutting all Input Polygons intersecting some Blade */ - int ret; - sqlite3_stmt *stmt_blades = NULL; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_upd = NULL; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - -/* composing the SQL statement - SELECT FROM Blades */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, t.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s t.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xcolumn1 = gaiaDoubleQuotedSql (blade_geom); - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = - sqlite3_mprintf - ("%s, b.\"%s\" FROM TEMP.\"%s\" AS t", prev, xcolumn1, xtable); - free (xcolumn1); - free (xtable); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (blade_db_prefix); - xtable = gaiaDoubleQuotedSql (blade_table); - sql = - sqlite3_mprintf ("%s JOIN \"%s\".\"%s\" AS b ON (", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s AND b.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s b.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf ("%s) WHERE t.\"%s\" IS NULL GROUP BY", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, t.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s t.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT FROM Blades */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_blades, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT FROM BLADES", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - SELECT Input */ - xcolumn1 = gaiaDoubleQuotedSql (input_geom); - xtable = gaiaDoubleQuotedSql (tmp_table); - xprefix = sqlite3_mprintf ("%s_n_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf - ("SELECT t.ROWID, ST_GeometryN(i.\"%s\", t.\"%s\") FROM TEMP.\"%s\" AS t", - xcolumn1, xcolumn2, xtable); - free (xcolumn1); - free (xcolumn2); - free (xtable); - prev = sql; - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = - sqlite3_mprintf ("%s JOIN \"%s\".\"%s\" AS i ON (", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s AND i.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s i.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = sqlite3_mprintf ("%s) WHERE t.\"%s\" IS NULL", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - sql = sqlite3_mprintf ("%s AND t.\"%s\" = ?", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT Input */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT INPUT FROM TMP", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - UPDATE tmp SET cut-Geom */ - xtable = gaiaDoubleQuotedSql (tmp_table); - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf ("UPDATE TEMP.\"%s\" SET \"%s\" = ? WHERE ROWID = ?", - xtable, xcolumn1); - free (xcolumn1); - free (xtable); - -/* creating a Prepared Statement - UPDATE tmp SET cut-Geom */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_upd, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "UPDATE TMP cut-Geometries", - sqlite3_errmsg (handle)); - goto error; - } - - while (1) - { - /* scrolling the result set rows - renoded Blades */ - ret = sqlite3_step (stmt_blades); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - switch (sqlite3_column_type (stmt_blades, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'B', icol2, - sqlite3_column_int64 - (stmt_blades, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'B', icol2, - sqlite3_column_double - (stmt_blades, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'B', icol2, - (const char *) - sqlite3_column_text - (stmt_blades, icol)); - break; - default: - add_null_pk_value (&row, 'B', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - /* fetching the Blade */ - if (sqlite3_column_type (stmt_blades, icol) == SQLITE_BLOB) - { - const unsigned char *blob = - sqlite3_column_blob (stmt_blades, icol); - int blob_sz = sqlite3_column_bytes (stmt_blades, icol); - /* cutting all Input geoms intersecting the Blade */ - if (!do_cut_tmp_polygons - (handle, cache, stmt_in, stmt_upd, &row, message, - blob, blob_sz)) - { - reset_temporary_row (&row); - goto error; - } - } - else - { - do_update_message (message, "Unexpected NULL Blade\n"); - reset_temporary_row (&row); - goto error; - } - - reset_temporary_row (&row); - } - else - { - do_update_sql_error (message, - "step: BLADES", sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_blades); - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_upd); - return 1; - - error: - if (stmt_blades != NULL) - sqlite3_finalize (stmt_blades); - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_upd != NULL) - sqlite3_finalize (stmt_upd); - return 0; -} - -static gaiaGeomCollPtr -do_compute_diff_polygs (const void *cache, sqlite3_stmt * stmt_diff, - gaiaPolygonPtr input_pg, int srid, - gaiaGeomCollPtr union_g) -{ -/* computing the difference between two Polygons */ - int ret; - gaiaGeomCollPtr input_g; - gaiaGeomCollPtr result = NULL; - unsigned char *input_blob = NULL; - int input_blob_sz; - unsigned char *union_blob = NULL; - int union_blob_sz; - int gpkg_mode = 0; - int gpkg_amphibious = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - } - - sqlite3_reset (stmt_diff); - sqlite3_clear_bindings (stmt_diff); - input_g = do_prepare_polygon (input_pg, srid); - gaiaToSpatiaLiteBlobWkbEx (input_g, &input_blob, &input_blob_sz, gpkg_mode); - gaiaFreeGeomColl (input_g); - gaiaToSpatiaLiteBlobWkbEx (union_g, &union_blob, &union_blob_sz, gpkg_mode); - sqlite3_bind_blob (stmt_diff, 1, input_blob, input_blob_sz, SQLITE_STATIC); - sqlite3_bind_blob (stmt_diff, 2, union_blob, union_blob_sz, SQLITE_STATIC); - sqlite3_bind_blob (stmt_diff, 3, union_blob, union_blob_sz, SQLITE_STATIC); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_diff); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - if (sqlite3_column_type (stmt_diff, 0) == SQLITE_BLOB) - { - const unsigned char *blob = - sqlite3_column_blob (stmt_diff, 0); - int blob_sz = sqlite3_column_bytes (stmt_diff, 0); - result = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - } - } - } - - free (input_blob); - free (union_blob); - return result; -} - -static int -do_get_uncovered_polygons (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *tmp_table, int type, char **message) -{ -/* recovering all Input portions not covered by any Blade */ - int ret; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - sqlite3_stmt *stmt_diff = NULL; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - int cast2d = 0; - int cast3d = 0; - int gpkg_mode = 0; - int gpkg_amphibious = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - } - - switch (type) - { - case GAIA_POLYGONM: - case GAIA_MULTIPOLYGONM: - cast2d = 1; - break; - case GAIA_POLYGONZM: - case GAIA_MULTIPOLYGONZM: - cast3d = 1; - break; - }; - -/* composing the SQL statement - union of all already assigned portions */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s, i.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s i.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xcolumn1 = gaiaDoubleQuotedSql (input_geom); - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf ("%s, i.\"%s\", ST_UnaryUnion(ST_Collect(t.\"%s\")) ", - prev, xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - xcolumn1 = gaiaDoubleQuotedSql (tmp_table); - sql = - sqlite3_mprintf - ("%s FROM \"%s\".\"%s\" AS i LEFT JOIN TEMP.\"%s\" AS t ON (", prev, - xprefix, xtable, xcolumn1); - free (xprefix); - free (xtable); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s AND i.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s i.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - sql = sqlite3_mprintf ("%s) GROUP BY", prev); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s, i.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s i.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT FROM TMP */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT FROM TMP Union-Geometries", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the Prepared Statement - Inserting into TMP */ - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = sqlite3_mprintf ("INSERT INTO TEMP.\"%s\" VALUES (", xtable); - free (xtable); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - if (comma) - sql = sqlite3_mprintf ("%s, ?", prev); - else - sql = sqlite3_mprintf ("%s?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the n_geom column */ - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the geom columns */ - if (cast2d) - sql = sqlite3_mprintf ("%s, CastToXY(?))", prev); - else if (cast3d) - sql = sqlite3_mprintf ("%s, CastToXYZ(?))", prev); - else - sql = sqlite3_mprintf ("%s, ?)", prev); - sqlite3_free (prev); - -/* creating a Prepared Statement - INSERT INTO TMP POLYGONS */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_out, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "INSERT INTO TMP POLYGONS", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the Prepared Statement - polygons difference */ - sql = - sqlite3_mprintf ("SELECT ST_Difference(ST_Snap(?, ?, 0.000000001), ?)"); - -/* creating a Prepared Statement - polygons difference */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_diff, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "POLYGONS DIFFERENCE", - sqlite3_errmsg (handle)); - goto error; - } - - while (1) - { - /* scrolling the result set rows - from Temporary Helper */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - gaiaGeomCollPtr input_g = NULL; - gaiaGeomCollPtr union_g = NULL; - const unsigned char *blob; - int blob_sz; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - switch (sqlite3_column_type (stmt_in, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'I', icol2, - sqlite3_column_int64 - (stmt_in, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'I', icol2, - sqlite3_column_double - (stmt_in, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'I', icol2, - (const char *) - sqlite3_column_text - (stmt_in, icol)); - break; - default: - add_null_pk_value (&row, 'I', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - add_null_pk_value (&row, 'B', icol2); - icol2++; - } - col = col->next; - } - /* fetching the "geom" column value */ - if (sqlite3_column_type (stmt_in, icol) == SQLITE_BLOB) - { - blob = sqlite3_column_blob (stmt_in, icol); - blob_sz = sqlite3_column_bytes (stmt_in, icol); - input_g = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - } - icol++; - /* fetching the "union_geom" column value */ - if (sqlite3_column_type (stmt_in, icol) == SQLITE_BLOB) - { - blob = sqlite3_column_blob (stmt_in, icol); - blob_sz = sqlite3_column_bytes (stmt_in, icol); - union_g = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - } - if (union_g == NULL) - { - /* fully uncovered Input Geometry */ - if (!do_insert_temporary_polygons - (tbl, handle, cache, stmt_out, &row, input_g, - message, -1)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - goto error; - } - } - else - { - /* partialy uncovered Input Geometry */ - int n_geom = 0; - gaiaPolygonPtr pg = input_g->FirstPolygon; - while (pg != NULL) - { - gaiaGeomCollPtr diff_g = - do_compute_diff_polygs (cache, stmt_diff, pg, - input_g->Srid, - union_g); - n_geom++; - if (diff_g != NULL) - { - if (!do_insert_temporary_polygons - (tbl, handle, cache, stmt_out, &row, - diff_g, message, n_geom)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (union_g); - gaiaFreeGeomColl (diff_g); - goto error; - } - gaiaFreeGeomColl (diff_g); - } - pg = pg->Next; - } - } - - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (union_g); - } - else - { - do_update_sql_error (message, - "step: SELECT FROM TEMPORARY POLIGONS", - sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - sqlite3_finalize (stmt_diff); - return 1; - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - if (stmt_diff != NULL) - sqlite3_finalize (stmt_diff); - return 0; -} - -static int -do_insert_output_polygons (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *out_table, - const char *tmp_table, char **message) -{ -/* populating the output table */ - int ret; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - int gpkg_mode = 0; - int gpkg_amphibious = 0; - struct temporary_row prev_row; - int prev_ngeom = -1; - int prog_res = -1; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - } - - prev_row.first_input = NULL; - prev_row.last_input = NULL; - prev_row.first_blade = NULL; - prev_row.last_blade = NULL; - -/* composing the SQL statement - SELECT FROM TMP */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, \"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s \"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - sql = sqlite3_mprintf ("%s, \"%s\"", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = sqlite3_mprintf ("%s_n_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = - sqlite3_mprintf ("%s, \"%s\", \"%s\" FROM TEMP.\"%s\" ORDER BY", prev, - xcolumn1, xcolumn2, xtable); - free (xtable); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, \"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = sqlite3_mprintf ("%s_n_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf ("%s, \"%s\", MbrMinY(\"%s\") DESC, MbrMinX(\"%s\")", - prev, xcolumn1, xcolumn2, xcolumn2); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - -/* creating a Prepared Statement - SELECT FROM TMP */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT FROM TMP cut-Geometries", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - INSERT INTO Output */ - xtable = gaiaDoubleQuotedSql (out_table); - sql = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" VALUES(NULL", xtable); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - sql = sqlite3_mprintf ("%s, ?", prev); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - sql = sqlite3_mprintf ("%s, ?, ?, ?)", prev); - sqlite3_free (prev); - -/* creating a Prepared Statement - INSERT INTO OUTPUT */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_out, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "INSERT INTO OUTPUT POLYGONS", - sqlite3_errmsg (handle)); - goto error; - } - - while (1) - { - /* scrolling the result set rows - from Temporary Helper */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - int n_geom = 0; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - switch (sqlite3_column_type (stmt_in, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'I', icol2, - sqlite3_column_int64 - (stmt_in, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'I', icol2, - sqlite3_column_double - (stmt_in, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'I', icol2, - (const char *) - sqlite3_column_text - (stmt_in, icol)); - break; - default: - add_null_pk_value (&row, 'I', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - switch (sqlite3_column_type (stmt_in, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'B', icol2, - sqlite3_column_int64 - (stmt_in, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'B', icol2, - sqlite3_column_double - (stmt_in, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'B', icol2, - (const char *) - sqlite3_column_text - (stmt_in, icol)); - break; - default: - add_null_pk_value (&row, 'B', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - /* fetching the "n_geom" column value */ - if (sqlite3_column_type (stmt_in, icol) == SQLITE_INTEGER) - n_geom = sqlite3_column_int (stmt_in, icol); - icol++; - if (check_same_input (&prev_row, &row) && n_geom == prev_ngeom) - ; - else - prog_res = 1; - prev_ngeom = n_geom; - copy_input_values (&row, &prev_row); - /* fetching the "geom" column value */ - if (sqlite3_column_type (stmt_in, icol) == SQLITE_BLOB) - { - gaiaGeomCollPtr geom; - gaiaPolygonPtr pg; - const unsigned char *blob = - sqlite3_column_blob (stmt_in, icol); - int blob_sz = sqlite3_column_bytes (stmt_in, icol); - geom = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - - pg = geom->FirstPolygon; - while (pg) - { - do_insert_output_row - (tbl, cache, stmt_out, handle, &row, n_geom, - prog_res++, GAIA_CUTTER_POLYGON, pg, - geom->Srid, message); - pg = pg->Next; - } - gaiaFreeGeomColl (geom); - } - reset_temporary_row (&row); - } - else - { - do_update_sql_error (message, - "step: SELECT FROM TEMPORARY POLYGONS", - sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - reset_temporary_row (&prev_row); - return 1; - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - reset_temporary_row (&prev_row); - return 0; -} - -static gaiaGeomCollPtr -do_compute_diff_lines (const void *cache, sqlite3_stmt * stmt_diff, - gaiaLinestringPtr input_ln, int srid, - gaiaGeomCollPtr union_g) -{ -/* computing the difference between two Linestrings */ - int ret; - gaiaGeomCollPtr input_g; - gaiaGeomCollPtr result = NULL; - unsigned char *input_blob = NULL; - int input_blob_sz; - unsigned char *union_blob = NULL; - int union_blob_sz; - int gpkg_mode = 0; - int gpkg_amphibious = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - } - - sqlite3_reset (stmt_diff); - sqlite3_clear_bindings (stmt_diff); - input_g = do_prepare_linestring (input_ln, srid); - gaiaToSpatiaLiteBlobWkbEx (input_g, &input_blob, &input_blob_sz, gpkg_mode); - gaiaFreeGeomColl (input_g); - gaiaToSpatiaLiteBlobWkbEx (union_g, &union_blob, &union_blob_sz, gpkg_mode); - sqlite3_bind_blob (stmt_diff, 1, input_blob, input_blob_sz, SQLITE_STATIC); - sqlite3_bind_blob (stmt_diff, 2, union_blob, union_blob_sz, SQLITE_STATIC); - sqlite3_bind_blob (stmt_diff, 3, union_blob, union_blob_sz, SQLITE_STATIC); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_diff); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - if (sqlite3_column_type (stmt_diff, 0) == SQLITE_BLOB) - { - const unsigned char *blob = - sqlite3_column_blob (stmt_diff, 0); - int blob_sz = sqlite3_column_bytes (stmt_diff, 0); - result = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - } - } - } - - free (input_blob); - free (union_blob); - return result; -} - -static int -do_get_uncovered_linestrings (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *tmp_table, int type, char **message) -{ -/* recovering all Input portions not covered by any Blade */ - int ret; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - sqlite3_stmt *stmt_diff = NULL; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - int cast2d = 0; - int cast3d = 0; - int gpkg_mode = 0; - int gpkg_amphibious = 0; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - } - - switch (type) - { - case GAIA_LINESTRINGM: - case GAIA_MULTILINESTRINGM: - cast2d = 1; - break; - case GAIA_LINESTRINGZM: - case GAIA_MULTILINESTRINGZM: - cast3d = 1; - break; - }; - -/* composing the SQL statement - union of all already assigned portions */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s, i.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s i.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xcolumn1 = gaiaDoubleQuotedSql (input_geom); - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf ("%s, i.\"%s\", ST_UnaryUnion(ST_Collect(t.\"%s\")) ", - prev, xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - xcolumn1 = gaiaDoubleQuotedSql (tmp_table); - sql = - sqlite3_mprintf - ("%s FROM \"%s\".\"%s\" AS i LEFT JOIN TEMP.\"%s\" AS t ON (", prev, - xprefix, xtable, xcolumn1); - free (xprefix); - free (xtable); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s AND i.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s i.\"%s\" = t.\"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - sql = sqlite3_mprintf ("%s) GROUP BY", prev); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = sqlite3_mprintf ("%s, i.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s i.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - -/* creating a Prepared Statement - SELECT FROM TMP */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT FROM TMP Union-Geometries", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the Prepared Statement - Inserting into TMP */ - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = sqlite3_mprintf ("INSERT INTO TEMP.\"%s\" VALUES (", xtable); - free (xtable); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - if (comma) - sql = sqlite3_mprintf ("%s, ?", prev); - else - sql = sqlite3_mprintf ("%s?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the n_geom column */ - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } -/* adding the geom columns */ - if (cast2d) - sql = sqlite3_mprintf ("%s, ?, CastToXY(?))", prev); - else if (cast3d) - sql = sqlite3_mprintf ("%s, ?, CastToXYZ(?))", prev); - else - sql = sqlite3_mprintf ("%s, ?, ?)", prev); - sqlite3_free (prev); - -/* creating a Prepared Statement - INSERT INTO TMP LINESTRINGS */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_out, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "INSERT INTO TMP LINESTRINGS", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the Prepared Statement - linestrings difference */ - sql = - sqlite3_mprintf ("SELECT ST_Difference(ST_Snap(?, ?, 0.000000001), ?)"); - -/* creating a Prepared Statement - linestrings difference */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_diff, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "LINESTRINGS DIFFERENCE", - sqlite3_errmsg (handle)); - goto error; - } - - while (1) - { - /* scrolling the result set rows - from Temporary Helper */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - gaiaGeomCollPtr input_g = NULL; - gaiaGeomCollPtr union_g = NULL; - const unsigned char *blob; - int blob_sz; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - switch (sqlite3_column_type (stmt_in, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'I', icol2, - sqlite3_column_int64 - (stmt_in, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'I', icol2, - sqlite3_column_double - (stmt_in, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'I', icol2, - (const char *) - sqlite3_column_text - (stmt_in, icol)); - break; - default: - add_null_pk_value (&row, 'I', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - add_null_pk_value (&row, 'B', icol2); - icol2++; - } - col = col->next; - } - /* fetching the "geom" column value */ - if (sqlite3_column_type (stmt_in, icol) == SQLITE_BLOB) - { - blob = sqlite3_column_blob (stmt_in, icol); - blob_sz = sqlite3_column_bytes (stmt_in, icol); - input_g = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - } - icol++; - /* fetching the "union_geom" column value */ - if (sqlite3_column_type (stmt_in, icol) == SQLITE_BLOB) - { - blob = sqlite3_column_blob (stmt_in, icol); - blob_sz = sqlite3_column_bytes (stmt_in, icol); - union_g = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - } - if (union_g == NULL) - { - /* fully uncovered Input Geometry */ - if (!do_insert_temporary_linestrings - (tbl, handle, cache, stmt_out, &row, input_g, - message, -1)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - goto error; - } - } - else - { - /* partialy uncovered Input Geometry */ - int n_geom = 0; - gaiaLinestringPtr ln = input_g->FirstLinestring; - while (ln != NULL) - { - gaiaGeomCollPtr diff_g = - do_compute_diff_lines (cache, stmt_diff, ln, - input_g->Srid, - union_g); - n_geom++; - if (diff_g != NULL) - { - if (!do_insert_temporary_linestrings - (tbl, handle, cache, stmt_out, &row, - diff_g, message, n_geom)) - { - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (union_g); - gaiaFreeGeomColl (diff_g); - goto error; - } - gaiaFreeGeomColl (diff_g); - } - ln = ln->Next; - } - } - - reset_temporary_row (&row); - gaiaFreeGeomColl (input_g); - gaiaFreeGeomColl (union_g); - } - else - { - do_update_sql_error (message, - "step: SELECT FROM TEMPORARY LINESTRINGS", - sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - sqlite3_finalize (stmt_diff); - return 1; - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - if (stmt_diff != NULL) - sqlite3_finalize (stmt_diff); - return 0; -} - -static int -do_insert_output_linestrings (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *out_table, const char *tmp_table, - char **message) -{ -/* populating the output table */ - int ret; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - int gpkg_mode = 0; - int gpkg_amphibious = 0; - struct temporary_row prev_row; - int prev_ngeom = -1; - int prog_res = -1; - - if (cache != NULL) - { - struct splite_internal_cache *pcache = - (struct splite_internal_cache *) cache; - gpkg_mode = pcache->gpkg_mode; - gpkg_amphibious = pcache->gpkg_amphibious_mode; - } - - prev_row.first_input = NULL; - prev_row.last_input = NULL; - prev_row.first_blade = NULL; - prev_row.last_blade = NULL; - -/* composing the SQL statement - SELECT FROM TMP */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, t.\"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s t.\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - sql = sqlite3_mprintf ("%s, t.\"%s\"", prev, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = sqlite3_mprintf ("%s_n_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = - sqlite3_mprintf ("%s, t.\"%s\", t.\"%s\" FROM TEMP.\"%s\" AS t", prev, - xcolumn1, xcolumn2, xtable); - free (xtable); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (input_db_prefix); - xtable = gaiaDoubleQuotedSql (input_table); - sql = - sqlite3_mprintf ("%s JOIN \"%s\".\"%s\" AS i ON(", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - xcolumn2 = gaiaDoubleQuotedSql (col->base_name); - if (comma) - sql = - sqlite3_mprintf ("%s AND t.\"%s\" = i.\"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s t.\"%s\" = i.\"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - sql = sqlite3_mprintf ("%s) ORDER BY", prev); - sqlite3_free (prev); - prev = sql; - comma = 0; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, \"%s\"", prev, xcolumn1); - else - sql = sqlite3_mprintf ("%s\"%s\"", prev, xcolumn1); - free (xcolumn1); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xprefix = sqlite3_mprintf ("%s_n_geom", tmp_table); - xcolumn1 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - xprefix = sqlite3_mprintf ("%s_geom", tmp_table); - xcolumn2 = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - xprefix = gaiaDoubleQuotedSql (input_geom); - sql = - sqlite3_mprintf - ("%s, \"%s\", ST_Line_Locate_Point(i.\"%s\", ST_StartPoint(ST_GeometryN(t.\"%s\", t.\"%s\")))", - prev, xcolumn1, xprefix, xcolumn2, xcolumn1); - free (xcolumn1); - free (xcolumn2); - free (xprefix); - sqlite3_free (prev); - prev = sql; - -/* creating a Prepared Statement - SELECT FROM TMP */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT FROM TMP cut-Geometries", - sqlite3_errmsg (handle)); - goto error; - } - -/* composing the SQL statement - INSERT INTO Output */ - xtable = gaiaDoubleQuotedSql (out_table); - sql = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" VALUES(NULL", xtable); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - sql = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->real_name); - sql = sqlite3_mprintf ("%s, ?", prev); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - sql = sqlite3_mprintf ("%s, ?, ?, ?)", prev); - sqlite3_free (prev); - -/* creating a Prepared Statement - INSERT INTO OUTPUT */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_out, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "INSERT INTO OUTPUT LINESTRINGS", - sqlite3_errmsg (handle)); - goto error; - } - - while (1) - { - /* scrolling the result set rows - from Temporary Helper */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - int n_geom = 0; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - switch (sqlite3_column_type (stmt_in, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'I', icol2, - sqlite3_column_int64 - (stmt_in, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'I', icol2, - sqlite3_column_double - (stmt_in, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'I', icol2, - (const char *) - sqlite3_column_text - (stmt_in, icol)); - break; - default: - add_null_pk_value (&row, 'I', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - switch (sqlite3_column_type (stmt_in, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'B', icol2, - sqlite3_column_int64 - (stmt_in, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'B', icol2, - sqlite3_column_double - (stmt_in, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'B', icol2, - (const char *) - sqlite3_column_text - (stmt_in, icol)); - break; - default: - add_null_pk_value (&row, 'B', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - /* fetching the "n_geom" column value */ - if (sqlite3_column_type (stmt_in, icol) == SQLITE_INTEGER) - n_geom = sqlite3_column_int (stmt_in, icol); - icol++; - if (check_same_input (&prev_row, &row) && n_geom == prev_ngeom) - ; - else - prog_res = 1; - prev_ngeom = n_geom; - copy_input_values (&row, &prev_row); - /* fetching the "geom" column value */ - if (sqlite3_column_type (stmt_in, icol) == SQLITE_BLOB) - { - gaiaGeomCollPtr geom; - gaiaLinestringPtr ln; - const unsigned char *blob = - sqlite3_column_blob (stmt_in, icol); - int blob_sz = sqlite3_column_bytes (stmt_in, icol); - geom = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, - gpkg_mode, - gpkg_amphibious); - - ln = geom->FirstLinestring; - while (ln) - { - do_insert_output_row - (tbl, cache, stmt_out, handle, &row, n_geom, - prog_res++, GAIA_CUTTER_LINESTRING, ln, - geom->Srid, message); - ln = ln->Next; - } - gaiaFreeGeomColl (geom); - } - reset_temporary_row (&row); - } - else - { - do_update_sql_error (message, - "step: SELECT FROM TEMPORARY LINESTRINGS", - sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - reset_temporary_row (&prev_row); - return 1; - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - reset_temporary_row (&prev_row); - return 0; -} - -static int -do_insert_output_points (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *out_table, const char *tmp_table, - char **message) -{ -/* populating the Output table - POINTs */ - sqlite3_stmt *stmt_tmp = NULL; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - int ret; - char *xtable; - char *xcolumn; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - -/* composing the SQL statement - SELECT FROM Tempory Helper */ - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, \"%s\"", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s \"%s\"", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, \"%s\"", prev, xcolumn); - else - sql = sqlite3_mprintf ("%s \"%s\"", prev, xcolumn); - free (xcolumn); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xtable = gaiaDoubleQuotedSql (tmp_table); - sql = sqlite3_mprintf ("%s, touches FROM TEMP.\"%s\"", prev, xtable); - free (xtable); - sqlite3_free (prev); - -/* creating a Prepared Statement - SELECT FROM Temporary Table */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_tmp, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "SELECT FROM TMP POINTs", - sqlite3_errmsg (handle)); - goto error; - } - -/* creating a Prepared Statement - SELECT Geometry FROM Input */ - if (!do_create_input_statement - (tbl, handle, input_db_prefix, input_table, input_geom, &stmt_in, - message)) - goto error; - -/* creating a Prepared Statement - INSERT INTO Output */ - if (!do_create_output_statement - (tbl, handle, out_table, &stmt_out, message)) - goto error; - - while (1) - { - /* scrolling the result set rows - from Temporary Helper */ - ret = sqlite3_step (stmt_tmp); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - /* fetched one row from the resultset */ - struct temporary_row row; - int icol = 0; - int icol2 = 0; - int n_geom = 0; - int ok_touches = -1; - gaiaGeomCollPtr geom = NULL; - gaiaPointPtr pt; - unsigned char *input_blob; - int input_blob_sz; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - col = tbl->first; - while (col != NULL) - { - /* Input Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_INPUT_PK) - { - switch (sqlite3_column_type (stmt_tmp, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'I', icol2, - sqlite3_column_int64 - (stmt_tmp, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'I', icol2, - sqlite3_column_double - (stmt_tmp, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'I', icol2, - (const char *) - sqlite3_column_text - (stmt_tmp, icol)); - break; - default: - add_null_pk_value (&row, 'I', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - switch (sqlite3_column_type (stmt_tmp, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'B', icol2, - sqlite3_column_int64 - (stmt_tmp, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'B', icol2, - sqlite3_column_double - (stmt_tmp, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'B', icol2, - (const char *) - sqlite3_column_text - (stmt_tmp, icol)); - break; - default: - add_null_pk_value (&row, 'B', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - /* fetching the "Touches" column value */ - if (sqlite3_column_type (stmt_tmp, icol) == SQLITE_INTEGER) - ok_touches = sqlite3_column_int (stmt_tmp, icol); - if (ok_touches == 1) - do_set_null_blade_columns (&row); - - /* reading the Input Geometry */ - geom = - do_read_input_geometry (tbl, cache, stmt_in, handle, &row, - message, &input_blob, - &input_blob_sz); - if (geom == NULL) - goto error; - - n_geom = 0; - pt = geom->FirstPoint; - while (pt != NULL) - { - /* inserting the Output row(s) */ - n_geom++; - if (!do_insert_output_row - (tbl, cache, stmt_out, handle, &row, n_geom, 1, - GAIA_CUTTER_POINT, pt, geom->Srid, message)) - goto error; - pt = pt->Next; - } - gaiaFreeGeomColl (geom); - reset_temporary_row (&row); - } - else - { - do_update_sql_error (message, - "step: SELECT FROM TEMPORARY POINTS", - sqlite3_errmsg (handle)); - goto error; - } - } - - sqlite3_finalize (stmt_tmp); - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - error: - if (stmt_tmp != NULL) - sqlite3_finalize (stmt_tmp); - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -static void -do_finish_output (struct output_table *tbl, sqlite3 * handle, - const char *out_table, const char *geometry, - const char *blade_db_prefix, const char *blade_table, - const char *blade_geom, const char *spatial_index_prefix, - const char *spatial_index) -{ -/* assigning the BLADE to all uncut elements */ - int ret; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - char *xprefix; - char *xtable; - char *xcolumn1; - char *xcolumn2; - char *sql; - char *prev; - struct output_column *col; - int comma = 0; - char *errMsg = NULL; - -/* creating the "tmpcutternull" Temporary Table */ - xtable = gaiaDoubleQuotedSql (out_table); - sql = sqlite3_mprintf ("CREATE TEMPORARY TABLE TEMP.tmpcutternull AS " - "SELECT rowid AS in_rowid FROM MAIN.\"%s\" WHERE ", - xtable); - free (xtable); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s AND \"%s\" IS NULL", prev, - xcolumn2); - else - sql = sqlite3_mprintf ("%s \"%s\" IS NULL", prev, xcolumn2); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - goto error; - } - -/* preparing the INPUT statement */ - comma = 0; - sql = sqlite3_mprintf ("SELECT"); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* adding the output PK column */ - if (col->role == GAIA_CUTTER_OUTPUT_PK) - { - /* output table primary column */ - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - sql = sqlite3_mprintf ("%s i.\"%s\"", prev, xcolumn1); - sqlite3_free (prev); - free (xcolumn1); - prev = sql; - comma = 1; - } - col = col->next; - } - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = - sqlite3_mprintf ("%s, b.\"%s\" AS \"%s\"", prev, - xcolumn1, xcolumn2); - else - sql = - sqlite3_mprintf ("%s b.\"%s\" AS \"%s\"", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - xtable = gaiaDoubleQuotedSql (out_table); - sql = sqlite3_mprintf ("%s FROM MAIN.\"%s\" AS i", prev, xtable); - free (xtable); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (blade_db_prefix); - xtable = gaiaDoubleQuotedSql (blade_table); - sql = - sqlite3_mprintf ("%s JOIN \"%s\".\"%s\" AS b ON (", prev, xprefix, - xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xcolumn1 = gaiaDoubleQuotedSql (geometry); - xcolumn2 = gaiaDoubleQuotedSql (blade_geom); - sql = - sqlite3_mprintf ("%sST_CoveredBy(i.\"%s\", b.\"%s\") = 1 ", prev, - xcolumn1, xcolumn2); - free (xcolumn1); - free (xcolumn2); - sqlite3_free (prev); - prev = sql; - sql = sqlite3_mprintf ("%s AND b.ROWID IN (SELECT pkid FROM ", prev); - sqlite3_free (prev); - prev = sql; - xprefix = gaiaDoubleQuotedSql (spatial_index_prefix); - xtable = gaiaDoubleQuotedSql (spatial_index); - sql = sqlite3_mprintf ("%s \"%s\".\"%s\" WHERE", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = sql; - xcolumn1 = gaiaDoubleQuotedSql (geometry); - sql = - sqlite3_mprintf - ("%s xmin <= MbrMaxX(i.\"%s\") AND xmax >= MbrMinX(i.\"%s\") ", prev, - xcolumn1, xcolumn1); - sqlite3_free (prev); - prev = sql; - sql = - sqlite3_mprintf - ("%s AND ymin <= MbrMaxY(i.\"%s\") AND ymax >= MbrMinY(i.\"%s\")))", - prev, xcolumn1, xcolumn1); - free (xcolumn1); - sqlite3_free (prev); - prev = sql; - sql = - sqlite3_mprintf - ("%s WHERE i.rowid IN (SELECT in_rowid FROM TEMP.tmpcutternull)", prev); - sqlite3_free (prev); - -/* creating the OUTPUT prepared statement */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - -/* preparing the OUTPUT statement */ - xtable = gaiaDoubleQuotedSql (out_table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET", xtable); - free (xtable); - prev = sql; - col = tbl->first; - comma = 0; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - xcolumn2 = gaiaDoubleQuotedSql (col->real_name); - if (comma) - sql = sqlite3_mprintf ("%s, \"%s\" = ?", prev, xcolumn2); - else - sql = sqlite3_mprintf ("%s \"%s\" = ?", prev, xcolumn2); - free (xcolumn2); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - col = col->next; - } - sql = sqlite3_mprintf ("%s WHERE ", prev); - sqlite3_free (prev); - prev = sql; - col = tbl->first; - while (col != NULL) - { - /* adding the output PK column */ - if (col->role == GAIA_CUTTER_OUTPUT_PK) - { - /* output table primary column */ - xcolumn1 = gaiaDoubleQuotedSql (col->base_name); - sql = sqlite3_mprintf ("%s \"%s\" = ?", prev, xcolumn1); - sqlite3_free (prev); - free (xcolumn1); - prev = sql; - comma = 1; - } - col = col->next; - } - -/* creating the OUTPUT prepared statement */ - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_out, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - struct temporary_row row; - struct multivar *var; - int icol = 1; - int icol2 = 0; - sqlite3_int64 pk; - - row.first_input = NULL; - row.last_input = NULL; - row.first_blade = NULL; - row.last_blade = NULL; - - pk = sqlite3_column_int64 (stmt_in, 0); - icol2 = 0; - col = tbl->first; - while (col != NULL) - { - /* Blade Primary Key Column(s) */ - if (col->role == GAIA_CUTTER_BLADE_PK) - { - switch (sqlite3_column_type (stmt_in, icol)) - { - case SQLITE_INTEGER: - add_int_pk_value (&row, 'B', icol2, - sqlite3_column_int64 - (stmt_in, icol)); - break; - case SQLITE_FLOAT: - add_double_pk_value (&row, 'B', icol2, - sqlite3_column_double - (stmt_in, icol)); - break; - case SQLITE_TEXT: - add_text_pk_value (&row, 'B', icol2, - (const char *) - sqlite3_column_text - (stmt_in, icol)); - break; - default: - add_null_pk_value (&row, 'B', icol2); - }; - icol++; - icol2++; - } - col = col->next; - } - - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - col = tbl->first; - icol = 1; - icol2 = 0; - while (col != NULL) - { - if (col->role == GAIA_CUTTER_BLADE_PK) - { - var = find_blade_pk_value (&row, icol2); - if (var == NULL) - return; - icol2++; - switch (var->type) - { - /* Blade Primary Key Column(s) */ - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol, - var->value.intValue); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol, - var->value.doubleValue); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol, - var->value.textValue, - strlen (var-> - value.textValue), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol); - break; - }; - icol++; - } - col = col->next; - } - sqlite3_bind_int64 (stmt_out, icol, pk); - ret = sqlite3_step (stmt_out); - reset_temporary_row (&row); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - goto error; - } - else - goto error; - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - -/* dropping the "tmpcutternull" Temporary Table */ - sql = "DROP TABLE TEMP.tmpcutternull"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - sqlite3_free (errMsg); - return; - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); -} - -static int -do_cut_points (struct output_table *tbl, sqlite3 * handle, const void *cache, - const char *input_db_prefix, const char *input_table, - const char *input_geom, const char *blade_db_prefix, - const char *blade_table, const char *blade_geom, - const char *spatial_index_prefix, const char *spatial_index, - const char *out_table, char **tmp_table, int *drop_tmp_table, - char **message) -{ -/* cutting Input POINTs */ - if (!do_prepare_temp_points - (tbl, handle, input_db_prefix, input_table, input_geom, blade_db_prefix, - blade_table, blade_geom, spatial_index_prefix, spatial_index, - tmp_table, message)) - return 0; - if (!do_insert_output_points - (tbl, handle, cache, input_db_prefix, input_table, input_geom, - out_table, *tmp_table, message)) - return 0; - do_finish_output (tbl, handle, out_table, input_geom, blade_db_prefix, - blade_table, blade_geom, spatial_index_prefix, - spatial_index); - - *drop_tmp_table = 1; - return 1; -} - -static int -do_cut_linestrings (struct output_table *tbl, sqlite3 * handle, - const void *cache, const char *input_db_prefix, - const char *input_table, const char *input_geom, - const char *blade_db_prefix, const char *blade_table, - const char *blade_geom, const char *spatial_index_prefix, - const char *spatial_index, const char *out_table, - char **tmp_table, int *drop_tmp_table, int type, - char **message) -{ -/* cutting Input LINESTRINGs */ - if (!do_create_temp_linestrings (tbl, handle, tmp_table, message)) - return 0; - if (!do_populate_temp_linestrings - (tbl, handle, cache, input_db_prefix, input_table, input_geom, - blade_db_prefix, blade_table, blade_geom, spatial_index_prefix, - spatial_index, *tmp_table, type, message)) - return 0; - if (!do_split_linestrings - (tbl, handle, cache, input_db_prefix, input_table, input_geom, - blade_db_prefix, blade_table, blade_geom, *tmp_table, message)) - return 0; - if (!do_get_uncovered_linestrings - (tbl, handle, cache, input_db_prefix, input_table, input_geom, - *tmp_table, type, message)) - return 0; - if (!do_insert_output_linestrings - (tbl, handle, cache, input_db_prefix, input_table, input_geom, - out_table, *tmp_table, message)) - return 0; - do_finish_output (tbl, handle, out_table, input_geom, blade_db_prefix, - blade_table, blade_geom, spatial_index_prefix, - spatial_index); - - *drop_tmp_table = 1; - return 1; -} - -static int -do_cut_polygons (struct output_table *tbl, sqlite3 * handle, const void *cache, - const char *input_db_prefix, const char *input_table, - const char *input_geom, const char *blade_db_prefix, - const char *blade_table, const char *blade_geom, - const char *spatial_index_prefix, const char *spatial_index, - const char *out_table, char **tmp_table, int *drop_tmp_table, - int type, char **message) -{ -/* cutting Input POLYGONs */ - if (!do_create_temp_polygons (tbl, handle, tmp_table, message)) - return 0; - if (!do_populate_temp_polygons - (tbl, handle, cache, input_db_prefix, input_table, input_geom, - blade_db_prefix, blade_table, blade_geom, spatial_index_prefix, - spatial_index, *tmp_table, type, message)) - return 0; - if (!do_split_polygons - (tbl, handle, cache, input_db_prefix, input_table, input_geom, - blade_db_prefix, blade_table, blade_geom, *tmp_table, message)) - return 0; - if (!do_get_uncovered_polygons - (tbl, handle, cache, input_db_prefix, input_table, input_geom, - *tmp_table, type, message)) - return 0; - if (!do_insert_output_polygons - (tbl, handle, cache, out_table, *tmp_table, message)) - return 0; - do_finish_output (tbl, handle, out_table, input_geom, blade_db_prefix, - blade_table, blade_geom, spatial_index_prefix, - spatial_index); - - *drop_tmp_table = 1; - return 1; -} - -SPATIALITE_DECLARE int -gaiaCutter (sqlite3 * handle, const void *cache, const char *xin_db_prefix, - const char *input_table, const char *xinput_geom, - const char *xblade_db_prefix, const char *blade_table, - const char *xblade_geom, const char *out_table, int transaction, - int ram_tmp_store, char **message) -{ -/* main Cutter tool implementation */ - const char *in_db_prefix = "MAIN"; - const char *blade_db_prefix = "MAIN"; - char *input_geom = NULL; - char *blade_geom = NULL; - char *spatial_index_prefix = NULL; - char *spatial_index = NULL; - char *tmp_table = NULL; - int input_type; - int input_srid; - int blade_srid; - int retcode = 0; - int ret; - char *errMsg = NULL; - int pending = 0; - int drop_spatial_index = 0; - int drop_tmp_table = 0; - struct output_table *tbl = NULL; - const char *sql; - int pt_type = 0; - int ln_type = 0; - int pg_type = 0; - -/* testing and validating the arguments */ - do_reset_message (message); - if (xin_db_prefix != NULL) - in_db_prefix = xin_db_prefix; - if (xblade_db_prefix != NULL) - blade_db_prefix = xblade_db_prefix; - if (input_table == NULL) - { - do_update_message (message, "ERROR: input table name can't be NULL"); - goto end; - } - if (blade_table == NULL) - { - do_update_message (message, "ERROR: blade table name can't be NULL"); - goto end; - } - if (out_table == NULL) - { - do_update_message (message, "ERROR: output table name can't be NULL"); - goto end; - } - if (!do_check_input - (handle, in_db_prefix, input_table, xinput_geom, &input_geom, - &input_srid, &input_type, message)) - goto end; - if (!do_check_blade - (handle, blade_db_prefix, blade_table, xblade_geom, &blade_geom, - &blade_srid, message)) - goto end; - if (!do_check_output (handle, "MAIN", out_table, input_geom, message)) - goto end; - if (input_srid != blade_srid) - { - do_update_message (message, - "ERROR: both input and blade tables must share the same SRID"); - goto end; - } - if (!do_check_nulls - (handle, in_db_prefix, input_table, input_geom, "INPUT", message)) - goto end; - if (!do_check_nulls - (handle, blade_db_prefix, blade_table, blade_geom, "BLADE", message)) - goto end; - -/* determining the Output Table layout */ - tbl = alloc_output_table (); - if (tbl == NULL) - { - do_update_message (message, - "ERROR: insufficient memory (OutputTable wrapper)"); - goto end; - } - if (add_column_to_output_table - (tbl, "PK_UID", "INTEGER", 0, GAIA_CUTTER_OUTPUT_PK, 0) == NULL) - { - do_update_message (message, - "ERROR: insufficient memory (OutputTable wrapper)"); - goto end; - } - if (!do_get_input_pk (tbl, handle, in_db_prefix, input_table, message)) - goto end; - if (!do_get_blade_pk (tbl, handle, blade_db_prefix, blade_table, message)) - goto end; - if (add_column_to_output_table - (tbl, "n_geom", "INTEGER", 1, GAIA_CUTTER_NORMAL, 0) == NULL) - { - do_update_message (message, - "ERROR: insufficient memory (OutputTable wrapper)"); - goto end; - } - if (add_column_to_output_table - (tbl, "res_prog", "INTEGER", 1, GAIA_CUTTER_NORMAL, 0) == NULL) - { - do_update_message (message, - "ERROR: insufficient memory (OutputTable wrapper)"); - goto end; - } - -/* setting the Temp Store */ - if (ram_tmp_store) - sql = "PRAGMA temp_store=2"; - else - sql = "PRAGMA temp_store=1"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA temp_store", errMsg); - sqlite3_free (errMsg); - goto end; - } - - if (transaction) - { - /* starting a Transaction */ - ret = sqlite3_exec (handle, "BEGIN", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "BEGIN", errMsg); - sqlite3_free (errMsg); - goto end; - } - pending = 1; - } - -/* creating the Output Table */ - if (!do_create_output_table - (tbl, handle, out_table, input_table, blade_table, message)) - goto end; -/* adding the Output Geometry */ - if (!do_create_output_geometry - (handle, out_table, input_geom, input_srid, input_type, message)) - goto end; -/* verifying the Blade Spatial Index */ - if (!do_verify_blade_spatial_index - (handle, blade_db_prefix, blade_table, blade_geom, - &spatial_index_prefix, &spatial_index, &drop_spatial_index, message)) - goto end; - - switch (input_type) - { - case GAIA_POINT: - case GAIA_POINTZ: - case GAIA_POINTM: - case GAIA_POINTZM: - case GAIA_MULTIPOINT: - case GAIA_MULTIPOINTZ: - case GAIA_MULTIPOINTM: - case GAIA_MULTIPOINTZM: - pt_type = 1; - break; - case GAIA_LINESTRING: - case GAIA_LINESTRINGZ: - case GAIA_LINESTRINGM: - case GAIA_LINESTRINGZM: - case GAIA_MULTILINESTRING: - case GAIA_MULTILINESTRINGZ: - case GAIA_MULTILINESTRINGM: - case GAIA_MULTILINESTRINGZM: - ln_type = 1; - break; - case GAIA_POLYGON: - case GAIA_POLYGONZ: - case GAIA_POLYGONM: - case GAIA_POLYGONZM: - case GAIA_MULTIPOLYGON: - case GAIA_MULTIPOLYGONZ: - case GAIA_MULTIPOLYGONM: - case GAIA_MULTIPOLYGONZM: - pg_type = 1; - break; - }; - - if (pt_type) - { - /* processing Input of (multi)POINT type */ - if (!do_cut_points - (tbl, handle, cache, in_db_prefix, input_table, input_geom, - blade_db_prefix, blade_table, blade_geom, spatial_index_prefix, - spatial_index, out_table, &tmp_table, &drop_tmp_table, message)) - goto end; - } - if (ln_type) - { - /* processing Input of (multi)LINESTRING type */ - if (!do_cut_linestrings - (tbl, handle, cache, in_db_prefix, input_table, input_geom, - blade_db_prefix, blade_table, blade_geom, spatial_index_prefix, - spatial_index, out_table, &tmp_table, &drop_tmp_table, - input_type, message)) - goto end; - } - if (pg_type) - { - /* processing Input of (multi)POLYGON type */ - if (!do_cut_polygons - (tbl, handle, cache, in_db_prefix, input_table, input_geom, - blade_db_prefix, blade_table, blade_geom, spatial_index_prefix, - spatial_index, out_table, &tmp_table, &drop_tmp_table, - input_type, message)) - goto end; - } - - if (drop_tmp_table) - { - /* dropping the Temporary Table */ - drop_tmp_table = 0; - if (!do_drop_tmp_table (handle, tmp_table, message)) - goto end; - } - - if (transaction) - { - /* committing the Transaction */ - ret = sqlite3_exec (handle, "COMMIT", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "COMMIT", errMsg); - sqlite3_free (errMsg); - goto end; - } - pending = 0; - } - retcode = 1; - -/* testing for invalid Output Geoms */ - if (!do_check_valid (handle, out_table, input_geom, message)) - retcode = 2; - - end: - if (drop_spatial_index) - { - /* dropping the transient Blade Spatial Index */ - do_drop_blade_spatial_index (handle, spatial_index, message); - } - if (drop_tmp_table) - { - /* dropping the Temporary Table */ - do_drop_tmp_table (handle, tmp_table, message); - } - -/* resetting the Temp Store */ - sql = "PRAGMA temp_store=0"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "PRAGMA temp_store", errMsg); - sqlite3_free (errMsg); - } - - if (input_geom != NULL) - free (input_geom); - if (blade_geom != NULL) - free (blade_geom); - if (spatial_index_prefix != NULL) - free (spatial_index_prefix); - if (spatial_index != NULL) - sqlite3_free (spatial_index); - if (tmp_table != NULL) - sqlite3_free (tmp_table); - if (tbl != NULL) - destroy_output_table (tbl); - if (transaction && pending) - { - /* rolling back the Transaction */ - ret = sqlite3_exec (handle, "ROLLBACK", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - do_update_sql_error (message, "ROLLBACK", errMsg); - sqlite3_free (errMsg); - } - } - return retcode; -} - -#endif /* end GEOS conditionals */ Index: src/dxf/Makefile.in ================================================================== --- src/dxf/Makefile.in +++ src/dxf/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,21 +14,11 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -88,19 +78,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/dxf +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -181,11 +171,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -342,10 +331,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/dxf/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/dxf/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -660,11 +650,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/dxf/dxf_load_distinct.c ================================================================== --- src/dxf/dxf_load_distinct.c +++ src/dxf/dxf_load_distinct.c @@ -1,11 +1,11 @@ /* dxf_load_distinct.c -- implements DXF support [loding features into the DB - by distinct layers] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -23,11 +23,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -734,24 +734,24 @@ DXF_PRIVATE int import_by_layer (sqlite3 * handle, gaiaDxfParserPtr dxf, int append) { /* populating the target DB - by distinct layers */ int ret; - sqlite3_stmt *stmt = NULL; - sqlite3_stmt *stmt_ext = NULL; - sqlite3_stmt *stmt_pattern = NULL; + sqlite3_stmt *stmt; + sqlite3_stmt *stmt_ext; + sqlite3_stmt *stmt_pattern; unsigned char *blob; int blob_size; gaiaGeomCollPtr geom; gaiaLinestringPtr p_ln; gaiaPolygonPtr p_pg; gaiaRingPtr p_rng; int iv; char *name; - char *attr_name = ""; + char *attr_name; char *block; - gaiaDxfTextPtr txt = NULL; + gaiaDxfTextPtr txt; gaiaDxfPointPtr pt; gaiaDxfPolylinePtr ln; gaiaDxfPolylinePtr pg; gaiaDxfHatchPtr p_hatch; gaiaDxfInsertPtr ins; Index: src/dxf/dxf_load_mixed.c ================================================================== --- src/dxf/dxf_load_mixed.c +++ src/dxf/dxf_load_mixed.c @@ -1,11 +1,11 @@ /* dxf_load_mixed.c -- implements DXF support [loding features into the DB - mixed layers by geometry type] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -23,11 +23,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of Index: src/dxf/dxf_loader.c ================================================================== --- src/dxf/dxf_loader.c +++ src/dxf/dxf_loader.c @@ -1,11 +1,11 @@ /* dxf_loader.c -- implements DXF support [loding features into the DB - common methods] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -23,11 +23,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -3249,11 +3249,11 @@ int ret; unsigned char *blob; int blob_size; gaiaGeomCollPtr geom; int error = 0; - char *name = "??"; + char *name; sqlite3_stmt *stmt; sqlite3_stmt *stmt_text_2d = NULL; sqlite3_stmt *stmt_text_3d = NULL; sqlite3_stmt *stmt_point_2d = NULL; sqlite3_stmt *stmt_point_3d = NULL; Index: src/dxf/dxf_parser.c ================================================================== --- src/dxf/dxf_parser.c +++ src/dxf/dxf_parser.c @@ -1,10 +1,10 @@ /* dxf_parser.c -- implements DXF support [parsing] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -1306,11 +1306,11 @@ static void unlinked_rings (const void *p_cache, gaiaDxfPolylinePtr line) { /* attempt to identify unlinked Polygon rings */ - int invalid = 0; + int invalid; int start; int count; double x; double y; double z; @@ -3535,11 +3535,11 @@ break; } p = line; continue; } - *p++ = (char) c; + *p++ = c; /* Even Rouault 2013-06-02 - avoiding a potential buffer overflow */ if (p - line == sizeof (line) - 1) goto stop; /* END - Even Rouault 2013-06-02 */ } Index: src/dxf/dxf_private.h ================================================================== --- src/dxf/dxf_private.h +++ src/dxf/dxf_private.h @@ -1,9 +1,9 @@ /* dxf_private.h -- DXF Import Private API - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of Index: src/dxf/dxf_writer.c ================================================================== --- src/dxf/dxf_writer.c +++ src/dxf/dxf_writer.c @@ -1,11 +1,11 @@ /* dxf_writer.c -- implements DXF support [exporting a DXF] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -23,11 +23,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -271,12 +271,10 @@ layer, 66, 1); fprintf (dxf->out, "%3d\r\n%6d\r\n", 70, 0); for (iv = 0; iv < line->Points; iv++) { /* exporting all vertices */ - m = 0.0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } else if (line->DimensionModel == GAIA_XY_M) @@ -327,12 +325,10 @@ exporting all vertices except the last one because accordingly to DXF specifications the Ring closure is always implicitly assumed, so there is no need at all to explicitly export a last vertex identical to the first one */ - m = 0.0; - z = 0.0; if (ring->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z); } else if (ring->DimensionModel == GAIA_XY_M) Index: src/gaiaaux/Makefile.in ================================================================== --- src/gaiaaux/Makefile.in +++ src/gaiaaux/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,18 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/gaiaaux +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -175,11 +166,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -332,10 +322,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiaaux/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/gaiaaux/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -623,11 +614,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/gaiaaux/gg_sqlaux.c ================================================================== --- src/gaiaaux/gg_sqlaux.c +++ src/gaiaaux/gg_sqlaux.c @@ -1,10 +1,10 @@ /* gg_sqlaux.c -- SQL ancillary functions - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -1173,22 +1173,22 @@ if (latitude < 0.0) { lat_prefix = 'S'; latitude *= -1.0; } - long_d = (int) floor (longitude); + long_d = floor (longitude); val = 60.0 * (longitude - (double) long_d); - long_m = (int) floor (val); + long_m = floor (val); val = 60.0 * (val - (double) long_m); - long_s = (int) floor (val); + long_s = floor (val); if ((val - (double) long_s) > 0.5) long_s++; - lat_d = (int) floor (latitude); + lat_d = floor (latitude); val = 60.0 * (latitude - (double) lat_d); - lat_m = (int) floor (val); + lat_m = floor (val); val = 60.0 * (val - (double) lat_m); - lat_s = (int) floor (val); + lat_s = floor (val); if ((val - (double) lat_s) > 0.5) lat_s++; dms0 = sqlite3_mprintf ("%02d°%02d′%02d″%c %03d°%02d′%02d″%c", lat_d, lat_m, lat_s, lat_prefix, long_d, long_m, long_s, @@ -1255,11 +1255,11 @@ } static char url_from_hex (char ch) { - return isdigit (ch) ? ch - '0' : (char) (tolower (ch) - 'a' + 10); + return isdigit (ch) ? ch - '0' : tolower (ch) - 'a' + 10; } GAIAAUX_DECLARE char * gaiaDecodeURL (const char *encoded) { @@ -1300,138 +1300,138 @@ GAIAAUX_DECLARE char * gaiaDirNameFromPath (const char *path) { /* extracting the DirName (if any) from a Path */ - const char *in = path; - const char *last = NULL; - int len = 0; - int dirlen = len; - char *name; - - if (path == NULL) + const char *in = path; + const char *last = NULL; + int len = 0; + int dirlen; + char *name; + + if (path == NULL) return NULL; - - while (*in != '\0') - { - /* parsing the Path */ - len++; - if (*in == '/' || *in == '\\') - { - last = in; - dirlen = len; - } - in++; - } - if (last == NULL) - return NULL; /* there is no Dir component */ - + + while (*in != '\0') + { + /* parsing the Path */ + len++; + if (*in == '/' || *in == '\\') + { + last = in; + dirlen = len; + } + in++; + } + if (last == NULL) + return NULL; /* there is no Dir component */ + /* allocating the DirName to be returned */ - name = malloc (dirlen + 1); - memcpy (name, path, dirlen); - *(name + dirlen) = '\0'; - return name; + name = malloc(dirlen+1); + memcpy(name, path, dirlen); + *(name+dirlen) = '\0'; + return name; } GAIAAUX_DECLARE char * gaiaFullFileNameFromPath (const char *path) { /* extracting the FullFileName (including Extension) from a Path */ - const char *in = path; - const char *last = path - 1; - int len; - char *name; - - if (path == NULL) + const char *in = path; + const char *last = path - 1; + int len; + char *name; + + if (path == NULL) return NULL; - - while (*in != '\0') - { - /* parsing the Path */ - if (*in == '/' || *in == '\\') - last = in; - in++; - } - len = strlen (last + 1); - if (len == 0) + + while (*in != '\0') + { + /* parsing the Path */ + if (*in == '/' || *in == '\\') + last = in; + in++; + } + len = strlen(last+1); + if (len == 0) return NULL; - + /* allocating the FullFileName to be returned */ - name = malloc (len + 1); - strcpy (name, last + 1); - return name; + name = malloc(len+1); + strcpy(name, last+1); + return name; } GAIAAUX_DECLARE char * gaiaFileNameFromPath (const char *path) { /* extracting the FileName (excluding Extension) from a Path */ - const char *in = path; - const char *last = path - 1; - int len; - char *name; - int i; - - if (path == NULL) + const char *in = path; + const char *last = path - 1; + int len; + char *name; + int i; + + if (path == NULL) return NULL; - - while (*in != '\0') - { - /* parsing the Path */ - if (*in == '/' || *in == '\\') - last = in; - in++; - } - len = strlen (last + 1); - if (len == 0) + + while (*in != '\0') + { + /* parsing the Path */ + if (*in == '/' || *in == '\\') + last = in; + in++; + } + len = strlen(last+1); + if (len == 0) return NULL; - + /* allocating the FullFileName to be returned */ - name = malloc (len + 1); - strcpy (name, last + 1); - for (i = len - 1; i > 0; i--) - { - if (*(name + i) == '.') - { + name = malloc(len+1); + strcpy(name, last+1); + for (i = len - 1; i > 0; i--) + { + if (*(name+i) == '.') + { /* stripping out the extension */ - *(name + i) = '\0'; - break; - } - } - return name; + *(name+i) = '\0'; + break; + } + } + return name; } GAIAAUX_DECLARE char * gaiaFileExtFromPath (const char *path) { /* extracting the FileExtension (if any) from a Path */ - int len; - char *name; - int i; - int pos = -1; - - if (path == NULL) + int len; + char *name; + int i; + int pos = -1; + + if (path == NULL) return NULL; - - len = strlen (path); - for (i = len - 1; i > 0; i--) - { - if (*(path + i) == '/' || *(path + i) == '\\') - break; - if (*(path + i) == '.') - { + + len = strlen(path); + for (i = len - 1; i > 0; i--) + { + if (*(path+i) == '/' || *(path+i) == '\\') + break; + if (*(path+i) == '.') + { /* found an extension */ - pos = i; - break; - } - } - if (pos <= 0) + pos = i; + break; + } + } + if (pos <= 0) return NULL; - + /* allocating the FileExtension to be returned */ - len = strlen (path + pos + 1); - if (len == 0) + len = strlen(path + pos + 1); + if (len == 0) return NULL; - name = malloc (len + 1); - strcpy (name, path + pos + 1); - return name; + name = malloc(len+1); + strcpy(name, path + pos + 1); + return name; } Index: src/gaiaaux/gg_utf8.c ================================================================== --- src/gaiaaux/gg_utf8.c +++ src/gaiaaux/gg_utf8.c @@ -1,10 +1,10 @@ /* gg_utf8.c -- locale charset handling - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -98,50 +98,34 @@ GAIAAUX_DECLARE int gaiaConvertCharset (char **buf, const char *fromCs, const char *toCs) { /* converting a string from a charset to another "on-the-fly" */ - char *utf8buf; + char utf8buf[65536]; #if !defined(__MINGW32__) && defined(_WIN32) const char *pBuf; #else /* not WIN32 */ char *pBuf; #endif size_t len; size_t utf8len; char *pUtf8buf; - int maxlen; iconv_t cvt = iconv_open (toCs, fromCs); if (cvt == (iconv_t) (-1)) goto unsupported; len = strlen (*buf); - if (len == 0) - { - /* empty string */ - utf8buf = sqlite3_malloc (1); - *utf8buf = '\0'; - sqlite3_free (*buf); - *buf = utf8buf; - iconv_close (cvt); - return 1; - } - maxlen = len * 4; - utf8len = maxlen; + utf8len = 65536; pBuf = *buf; - utf8buf = sqlite3_malloc (utf8len); pUtf8buf = utf8buf; if (iconv (cvt, &pBuf, &len, &pUtf8buf, &utf8len) == (size_t) (-1)) goto error; - utf8buf[maxlen - utf8len] = '\0'; - sqlite3_free (*buf); - *buf = utf8buf; + utf8buf[65536 - utf8len] = '\0'; + memcpy (*buf, utf8buf, (65536 - utf8len) + 1); iconv_close (cvt); return 1; error: iconv_close (cvt); - sqlite3_free (*buf); - *buf = NULL; unsupported: return 0; } GAIAAUX_DECLARE void * Index: src/gaiaexif/Makefile.in ================================================================== --- src/gaiaexif/Makefile.in +++ src/gaiaexif/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,18 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/gaiaexif +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -174,11 +165,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -330,10 +320,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiaexif/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/gaiaexif/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -612,11 +603,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/gaiaexif/gaia_exif.c ================================================================== --- src/gaiaexif/gaia_exif.c +++ src/gaiaexif/gaia_exif.c @@ -1,10 +1,10 @@ /* gaia_exif.c -- Gaia EXIF support - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -2754,19 +2754,14 @@ || long_ref == 'W') && lat_degs != -DBL_MAX && lat_mins != -DBL_MAX && lat_secs != -DBL_MAX && long_degs != -DBL_MAX && long_mins != -DBL_MAX && long_secs != -DBL_MAX) { - int long_d = long_degs; - int long_m = long_mins; - int long_s = long_secs; - int lat_d = lat_degs; - int lat_m = lat_mins; - int lat_s = lat_secs; - sprintf (ll, "%02d°%02d′%02d″%c %03d°%02d′%02d″%c", - lat_d, lat_m, lat_s, lat_ref, long_d, long_m, long_s, - long_ref); + sprintf (ll, + "%c %1.2f %1.2f %1.2f / %c %1.2f %1.2f %1.2f", + lat_ref, lat_degs, lat_mins, lat_secs, long_ref, + long_degs, long_mins, long_secs); len = strlen (ll); if (len < ll_size) strcpy (latlong, ll); else { Index: src/gaiageo/Makefile.am ================================================================== --- src/gaiageo/Makefile.am +++ src/gaiageo/Makefile.am @@ -11,11 +11,11 @@ gg_geodesic.c \ gg_geometries.c \ gg_geoscvt.c \ gg_relations.c \ gg_relations_ext.c \ - gg_rttopo.c \ + gg_lwgeom.c \ gg_extras.c \ gg_shape.c \ gg_transform.c \ gg_wkb.c \ gg_wkt.c \ Index: src/gaiageo/Makefile.in ================================================================== --- src/gaiageo/Makefile.in +++ src/gaiageo/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,28 +77,29 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/gaiageo +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) gaiageo_la_LIBADD = am__objects_1 = gaiageo_la-gg_advanced.lo gaiageo_la-gg_endian.lo \ gaiageo_la-gg_geodesic.lo gaiageo_la-gg_geometries.lo \ gaiageo_la-gg_geoscvt.lo gaiageo_la-gg_relations.lo \ - gaiageo_la-gg_relations_ext.lo gaiageo_la-gg_rttopo.lo \ + gaiageo_la-gg_relations_ext.lo gaiageo_la-gg_lwgeom.lo \ gaiageo_la-gg_extras.lo gaiageo_la-gg_shape.lo \ gaiageo_la-gg_transform.lo gaiageo_la-gg_wkb.lo \ gaiageo_la-gg_wkt.lo gaiageo_la-gg_vanuatu.lo \ gaiageo_la-gg_ewkt.lo gaiageo_la-gg_geoJSON.lo \ gaiageo_la-gg_kml.lo gaiageo_la-gg_gml.lo \ @@ -124,11 +115,11 @@ $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(gaiageo_la_LDFLAGS) $(LDFLAGS) -o $@ libgaiageo_la_LIBADD = am__objects_2 = gg_advanced.lo gg_endian.lo gg_geodesic.lo \ gg_geometries.lo gg_geoscvt.lo gg_relations.lo \ - gg_relations_ext.lo gg_rttopo.lo gg_extras.lo gg_shape.lo \ + gg_relations_ext.lo gg_lwgeom.lo gg_extras.lo gg_shape.lo \ gg_transform.lo gg_wkb.lo gg_wkt.lo gg_vanuatu.lo gg_ewkt.lo \ gg_geoJSON.lo gg_kml.lo gg_gml.lo gg_voronoj.lo gg_xml.lo \ gg_matrix.lo am_libgaiageo_la_OBJECTS = $(am__objects_2) libgaiageo_la_OBJECTS = $(am_libgaiageo_la_OBJECTS) @@ -207,11 +198,10 @@ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ @@ -374,11 +364,11 @@ gg_geodesic.c \ gg_geometries.c \ gg_geoscvt.c \ gg_relations.c \ gg_relations_ext.c \ - gg_rttopo.c \ + gg_lwgeom.c \ gg_extras.c \ gg_shape.c \ gg_transform.c \ gg_wkb.c \ gg_wkt.c \ @@ -418,10 +408,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiageo/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/gaiageo/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -469,14 +460,14 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_geodesic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_geometries.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_geoscvt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_gml.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_kml.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_lwgeom.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_matrix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_relations.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_relations_ext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_rttopo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_shape.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_transform.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_vanuatu.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_voronoj.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaiageo_la-gg_wkb.Plo@am__quote@ @@ -490,14 +481,14 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_geodesic.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_geometries.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_geoscvt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_gml.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_kml.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_lwgeom.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_matrix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_relations.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_relations_ext.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_rttopo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_shape.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_transform.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_vanuatu.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_voronoj.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gg_wkb.Plo@am__quote@ @@ -572,16 +563,16 @@ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gaiageo_la-gg_relations_ext.Tpo $(DEPDIR)/gaiageo_la-gg_relations_ext.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gg_relations_ext.c' object='gaiageo_la-gg_relations_ext.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gaiageo_la-gg_relations_ext.lo `test -f 'gg_relations_ext.c' || echo '$(srcdir)/'`gg_relations_ext.c -gaiageo_la-gg_rttopo.lo: gg_rttopo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gaiageo_la-gg_rttopo.lo -MD -MP -MF $(DEPDIR)/gaiageo_la-gg_rttopo.Tpo -c -o gaiageo_la-gg_rttopo.lo `test -f 'gg_rttopo.c' || echo '$(srcdir)/'`gg_rttopo.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gaiageo_la-gg_rttopo.Tpo $(DEPDIR)/gaiageo_la-gg_rttopo.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gg_rttopo.c' object='gaiageo_la-gg_rttopo.lo' libtool=yes @AMDEPBACKSLASH@ +gaiageo_la-gg_lwgeom.lo: gg_lwgeom.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gaiageo_la-gg_lwgeom.lo -MD -MP -MF $(DEPDIR)/gaiageo_la-gg_lwgeom.Tpo -c -o gaiageo_la-gg_lwgeom.lo `test -f 'gg_lwgeom.c' || echo '$(srcdir)/'`gg_lwgeom.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gaiageo_la-gg_lwgeom.Tpo $(DEPDIR)/gaiageo_la-gg_lwgeom.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gg_lwgeom.c' object='gaiageo_la-gg_lwgeom.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gaiageo_la-gg_rttopo.lo `test -f 'gg_rttopo.c' || echo '$(srcdir)/'`gg_rttopo.c +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o gaiageo_la-gg_lwgeom.lo `test -f 'gg_lwgeom.c' || echo '$(srcdir)/'`gg_lwgeom.c gaiageo_la-gg_extras.lo: gg_extras.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(gaiageo_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gaiageo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gaiageo_la-gg_extras.lo -MD -MP -MF $(DEPDIR)/gaiageo_la-gg_extras.Tpo -c -o gaiageo_la-gg_extras.lo `test -f 'gg_extras.c' || echo '$(srcdir)/'`gg_extras.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/gaiageo_la-gg_extras.Tpo $(DEPDIR)/gaiageo_la-gg_extras.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gg_extras.c' object='gaiageo_la-gg_extras.lo' libtool=yes @AMDEPBACKSLASH@ @@ -954,11 +945,9 @@ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/gaiageo/flex/Makefile.in ================================================================== --- src/gaiageo/flex/Makefile.in +++ src/gaiageo/flex/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/gaiageo/flex +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -267,10 +256,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiageo/flex/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/gaiageo/flex/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -441,11 +431,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/gaiageo/flex/ewktLexer.l ================================================================== --- src/gaiageo/flex/ewktLexer.l +++ src/gaiageo/flex/ewktLexer.l @@ -55,11 +55,11 @@ * then match the string of longest length. Suppose the string is: POINTM, * Flex would match both POINT and POINTM, but since POINTM is the longer * of the two tokens, FLEX will match POINTM. */ %% --?[0-9]+|-?[0-9]+"."[0-9]*|"+"?[0-9]+|"+"?[0-9]+"."[0-9]*|-?[0-9]+[eE]-?[0-9]*|-?[0-9]+[eE]"+"[0-9]*|"+"?[0-9]+[eE]-?[0-9]*|"+"?[0-9]+[eE]"+"[0-9]*|-?[0-9]+"."[0-9]+[eE]-?[0-9]*|-?[0-9]+"."[0-9]+[eE]"+"?[0-9]*|"+"?[0-9]+"."[0-9]+[eE]-?[0-9]*|"+"?[0-9]+"."[0-9]+[eE]"+"?[0-9]*|-?"."[0-9]+[eE]-?[0-9]*|-?"."[0-9]+[eE]"+"?[0-9]*|"+"?"."[0-9]+[eE]-?[0-9]*|"+"?"."[0-9]+[eE]"+"?[0-9]*|-?"."[0-9]*|"+"?"."[0-9]* { Ewktget_extra(yyscanner)->ewkt_col += (int) strlen(yytext); Ewktget_extra(yyscanner)->EwktLval.dval = atof(yytext); return EWKT_NUM; } +-?[0-9]+|-?[0-9]+"."[0-9]*|"+"?[0-9]+|"+"?[0-9]+"."[0-9]* { Ewktget_extra(yyscanner)->ewkt_col += (int) strlen(yytext); Ewktget_extra(yyscanner)->EwktLval.dval = atof(yytext); return EWKT_NUM; } "," { Ewktget_extra(yyscanner)->EwktLval.dval = 0; return EWKT_COMMA; } "(" { Ewktget_extra(yyscanner)->EwktLval.dval = 0; return EWKT_OPEN_BRACKET; } ")" { Ewktget_extra(yyscanner)->EwktLval.dval = 0; return EWKT_CLOSE_BRACKET; } (?i:"point") { Ewktget_extra(yyscanner)->EwktLval.dval = 0; return EWKT_POINT; } (?i:"pointm") { Ewktget_extra(yyscanner)->EwktLval.dval = 0; return EWKT_POINT_M; } Index: src/gaiageo/flex/geoJsonLexer.l ================================================================== --- src/gaiageo/flex/geoJsonLexer.l +++ src/gaiageo/flex/geoJsonLexer.l @@ -55,11 +55,11 @@ * then match the string of longest length. Suppose the string is: POINTM, * Flex would match both POINT and POINTM, but since POINTM is the longer * of the two tokens, FLEX will match POINTM. */ %% --?[0-9]+|-?[0-9]+"."[0-9]*|"+"?[0-9]+|"+"?[0-9]+"."[0-9]*|-?[0-9]+[eE]-?[0-9]*|-?[0-9]+[eE]"+"[0-9]*|"+"?[0-9]+[eE]-?[0-9]*|"+"?[0-9]+[eE]"+"[0-9]*|-?[0-9]+"."[0-9]+[eE]-?[0-9]*|-?[0-9]+"."[0-9]+[eE]"+"?[0-9]*|"+"?[0-9]+"."[0-9]+[eE]-?[0-9]*|"+"?[0-9]+"."[0-9]+[eE]"+"?[0-9]*|-?"."[0-9]+[eE]-?[0-9]*|-?"."[0-9]+[eE]"+"?[0-9]*|"+"?"."[0-9]+[eE]-?[0-9]*|"+"?"."[0-9]+[eE]"+"?[0-9]*|-?"."[0-9]*|"+"?"."[0-9]* { GeoJsonget_extra(yyscanner)->geoJson_col += (int) strlen(yytext); GeoJsonget_extra(yyscanner)->GeoJsonLval.dval = atof(yytext); return GEOJSON_NUM; } +-?[0-9]+|-?[0-9]+"."[0-9]*|"+"?[0-9]+|"+"?[0-9]+"."[0-9]* { GeoJsonget_extra(yyscanner)->geoJson_col += (int) strlen(yytext); GeoJsonget_extra(yyscanner)->GeoJsonLval.dval = atof(yytext); return GEOJSON_NUM; } -?"\""EPSG:-?[0-9]+"\"" { GeoJsonget_extra(yyscanner)->geoJson_col += (int) strlen(yytext); GeoJsonget_extra(yyscanner)->GeoJsonLval.ival = atoi(yytext+6); return GEOJSON_SHORT_SRID; } -?"\""urn:ogc:def:crs:EPSG:-?[0-9]+"\"" { GeoJsonget_extra(yyscanner)->geoJson_col += (int) strlen(yytext); GeoJsonget_extra(yyscanner)->GeoJsonLval.ival = atoi(yytext+22); return GEOJSON_LONG_SRID; } "," { GeoJsonget_extra(yyscanner)->GeoJsonLval.dval = 0; return GEOJSON_COMMA; } ":" { GeoJsonget_extra(yyscanner)->GeoJsonLval.dval = 0; return GEOJSON_COLON; } "{" { GeoJsonget_extra(yyscanner)->GeoJsonLval.dval = 0; return GEOJSON_OPEN_BRACE; } Index: src/gaiageo/flex/gmlLexer.l ================================================================== --- src/gaiageo/flex/gmlLexer.l +++ src/gaiageo/flex/gmlLexer.l @@ -59,11 +59,11 @@ %% "/" { gml_freeString(&(Gmlget_extra(yyscanner)->GmlLval.pval)); return GML_END; } "=" { gml_freeString(&(Gmlget_extra(yyscanner)->GmlLval.pval)); return GML_EQ; } "<" { gml_freeString(&(Gmlget_extra(yyscanner)->GmlLval.pval)); return GML_OPEN; } ">" { gml_freeString(&(Gmlget_extra(yyscanner)->GmlLval.pval)); return GML_CLOSE; } -[0-9Ee,\.\+\-]* { gml_saveString(&(Gmlget_extra(yyscanner)->GmlLval.pval), yytext); return GML_COORD; } +[0-9,\.\+-]* { gml_saveString(&(Gmlget_extra(yyscanner)->GmlLval.pval), yytext); return GML_COORD; } \"[^<>\"]*\" { gml_saveString(&(Gmlget_extra(yyscanner)->GmlLval.pval), yytext); return GML_VALUE; } [a-zA-Z_][a-zA-Z_:0-9]* { gml_saveString(&(Gmlget_extra(yyscanner)->GmlLval.pval), yytext); return GML_KEYWORD; } [ \t] { gml_freeString(&(Gmlget_extra(yyscanner)->GmlLval.pval)); Gmlget_extra(yyscanner)->gml_col += (int) strlen(yytext); } /* ignore but count white space */ Index: src/gaiageo/flex/kmlLexer.l ================================================================== --- src/gaiageo/flex/kmlLexer.l +++ src/gaiageo/flex/kmlLexer.l @@ -59,11 +59,11 @@ %% "/" { kml_freeString(&(Kmlget_extra(yyscanner)->KmlLval.pval)); return KML_END; } "=" { kml_freeString(&(Kmlget_extra(yyscanner)->KmlLval.pval)); return KML_EQ; } "<" { kml_freeString(&(Kmlget_extra(yyscanner)->KmlLval.pval)); return KML_OPEN; } ">" { kml_freeString(&(Kmlget_extra(yyscanner)->KmlLval.pval)); return KML_CLOSE; } -[0-9Ee,\.\+\-]* { kml_saveString(&(Kmlget_extra(yyscanner)->KmlLval.pval), yytext); return KML_COORD; } +[0-9,\.\+-]* { kml_saveString(&(Kmlget_extra(yyscanner)->KmlLval.pval), yytext); return KML_COORD; } \"[^<>\"]*\" { kml_saveString(&(Kmlget_extra(yyscanner)->KmlLval.pval), yytext); return KML_VALUE; } [a-zA-Z_][a-zA-Z_:0-9]* { kml_saveString(&(Kmlget_extra(yyscanner)->KmlLval.pval), yytext); return KML_KEYWORD; } [ \t] { kml_freeString(&(Kmlget_extra(yyscanner)->KmlLval.pval)); Kmlget_extra(yyscanner)->kml_col += (int) strlen(yytext); } /* ignore but count white space */ Index: src/gaiageo/flex/vanuatuLexer.l ================================================================== --- src/gaiageo/flex/vanuatuLexer.l +++ src/gaiageo/flex/vanuatuLexer.l @@ -77,11 +77,11 @@ * then match the string of longest length. Suppose the string is: POINT ZM, * Flex would match both POINT Z and POINT ZM, but since POINT ZM is the longer * of the two tokens, FLEX will match POINT ZM. */ %% --?[0-9]+|-?[0-9]+"."[0-9]*|"+"?[0-9]+|"+"?[0-9]+"."[0-9]*|-?[0-9]+[eE]-?[0-9]*|-?[0-9]+[eE]"+"[0-9]*|"+"?[0-9]+[eE]-?[0-9]*|"+"?[0-9]+[eE]"+"[0-9]*|-?[0-9]+"."[0-9]+[eE]-?[0-9]*|-?[0-9]+"."[0-9]+[eE]"+"?[0-9]*|"+"?[0-9]+"."[0-9]+[eE]-?[0-9]*|"+"?[0-9]+"."[0-9]+[eE]"+"?[0-9]*|-?"."[0-9]+[eE]-?[0-9]*|-?"."[0-9]+[eE]"+"?[0-9]*|"+"?"."[0-9]+[eE]-?[0-9]*|"+"?"."[0-9]+[eE]"+"?[0-9]*|-?"."[0-9]*|"+"?"."[0-9]* { VanuatuWktget_extra(yyscanner)->vanuatu_col += (int) strlen(yytext); VanuatuWktget_extra(yyscanner)->VanuatuWktlval.dval = atof(yytext); return VANUATU_NUM; } +-?[0-9]+|-?[0-9]+"."[0-9]*|"+"?[0-9]+|"+"?[0-9]+"."[0-9]* { VanuatuWktget_extra(yyscanner)->vanuatu_col += (int) strlen(yytext); VanuatuWktget_extra(yyscanner)->VanuatuWktlval.dval = atof(yytext); return VANUATU_NUM; } "," { VanuatuWktget_extra(yyscanner)->VanuatuWktlval.dval = 0; return VANUATU_COMMA; } "(" { VanuatuWktget_extra(yyscanner)->VanuatuWktlval.dval = 0; return VANUATU_OPEN_BRACKET; } ")" { VanuatuWktget_extra(yyscanner)->VanuatuWktlval.dval = 0; return VANUATU_CLOSE_BRACKET; } (?i:"point") { VanuatuWktget_extra(yyscanner)->VanuatuWktlval.dval = 0; return VANUATU_POINT; } (?i:"point"[ \t\n]*"z") { VanuatuWktget_extra(yyscanner)->VanuatuWktlval.dval = 0; return VANUATU_POINT_Z; } Index: src/gaiageo/geoJSON.c ================================================================== --- src/gaiageo/geoJSON.c +++ src/gaiageo/geoJSON.c @@ -943,11 +943,10 @@ yy_destructor (yyParser * yypParser, /* The parser */ YYCODETYPE yymajor, /* Type code for object to destroy */ YYMINORTYPE * yypminor /* The object to be destroyed */ ) { - ParseARG_FETCH; switch (yymajor) { /* Here is inserted the actions which take place when a ** terminal or non-terminal is destroyed. This can happen ** when the symbol is popped from the stack during a @@ -1638,12 +1637,12 @@ case 26: /* pointz ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_POINT GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON point_coordxyz GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 26); { yygotominor.yy0 = geoJSON_buildGeomFromPoint (p_data, - (gaiaPointPtr) yymsp[-1]. - minor.yy0); + (gaiaPointPtr) yymsp[-1].minor. + yy0); } break; case 21: /* point ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_POINT GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON short_crs GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON point_coordxy GEOJSON_CLOSE_BRACE */ case 22: /* point ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_POINT GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON long_crs GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON point_coordxy GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 22); @@ -1765,12 +1764,12 @@ { yygotominor.yy0 = geoJSON_buildGeomFromLinestringSrid (p_data, (gaiaLinestringPtr) yymsp[-1].minor.yy0, - (int *) yymsp[-5]. - minor.yy0); + (int *) yymsp[-5].minor. + yy0); } break; case 47: /* linestring ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_LINESTRING GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON short_crs GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON linestring_text GEOJSON_CLOSE_BRACE */ case 48: /* linestring ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_LINESTRING GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON long_crs GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON linestring_text GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 48); @@ -1781,12 +1780,12 @@ { yygotominor.yy0 = geoJSON_buildGeomFromLinestringSrid (p_data, (gaiaLinestringPtr) yymsp[-1].minor.yy0, - (int *) yymsp[-11]. - minor.yy0); + (int *) yymsp[-11].minor. + yy0); } break; case 55: /* linestring_text ::= GEOJSON_OPEN_BRACKET point_coordxy GEOJSON_COMMA point_coordxy extra_pointsxy GEOJSON_CLOSE_BRACKET */ { ((gaiaPointPtr) yymsp[-2].minor.yy0)->Next = @@ -1835,12 +1834,12 @@ { yygotominor.yy0 = geoJSON_buildGeomFromPolygonSrid (p_data, (gaiaPolygonPtr) yymsp[-1].minor.yy0, - (int *) yymsp[-5]. - minor.yy0); + (int *) yymsp[-5].minor. + yy0); } break; case 61: /* polygon ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_POLYGON GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON short_crs GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON polygon_text GEOJSON_CLOSE_BRACE */ case 62: /* polygon ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_POLYGON GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON long_crs GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON polygon_text GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 62); @@ -1851,32 +1850,32 @@ { yygotominor.yy0 = geoJSON_buildGeomFromPolygonSrid (p_data, (gaiaPolygonPtr) yymsp[-1].minor.yy0, - (int *) yymsp[-11]. - minor.yy0); + (int *) yymsp[-11].minor. + yy0); } break; case 69: /* polygon_text ::= GEOJSON_OPEN_BRACKET ring extra_rings GEOJSON_CLOSE_BRACKET */ { ((gaiaRingPtr) yymsp[-2].minor.yy0)->Next = (gaiaRingPtr) yymsp[-1].minor.yy0; yygotominor.yy0 = (void *) geoJSON_polygon_xy (p_data, - (gaiaRingPtr) yymsp[-2]. - minor.yy0); + (gaiaRingPtr) yymsp[-2].minor. + yy0); } break; case 70: /* polygon_textz ::= GEOJSON_OPEN_BRACKET ringz extra_ringsz GEOJSON_CLOSE_BRACKET */ { ((gaiaRingPtr) yymsp[-2].minor.yy0)->Next = (gaiaRingPtr) yymsp[-1].minor.yy0; yygotominor.yy0 = (void *) geoJSON_polygon_xyz (p_data, - (gaiaRingPtr) yymsp[-2]. - minor.yy0); + (gaiaRingPtr) yymsp[-2].minor. + yy0); } break; case 71: /* ring ::= GEOJSON_OPEN_BRACKET point_coordxy GEOJSON_COMMA point_coordxy GEOJSON_COMMA point_coordxy GEOJSON_COMMA point_coordxy extra_pointsxy GEOJSON_CLOSE_BRACKET */ { ((gaiaPointPtr) yymsp[-8].minor.yy0)->Next = @@ -1911,12 +1910,12 @@ (gaiaPointPtr) yymsp[-2].minor.yy0; ((gaiaPointPtr) yymsp[-2].minor.yy0)->Next = (gaiaPointPtr) yymsp[-1].minor.yy0; yygotominor.yy0 = (void *) geoJSON_ring_xyz (p_data, - (gaiaPointPtr) yymsp[-8]. - minor.yy0); + (gaiaPointPtr) yymsp[-8].minor. + yy0); } break; case 77: /* multipoint ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_MULTIPOINT GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON multipoint_text GEOJSON_CLOSE_BRACE */ case 78: /* multipoint ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_MULTIPOINT GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON multipoint_text GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 78); @@ -1981,13 +1980,12 @@ yytestcase (yyruleno == 135); case 136: /* geocollz ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_GEOMETRYCOLLECTION GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON long_crs GEOJSON_COMMA GEOJSON_GEOMS GEOJSON_COLON geocoll_textz GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 136); { yygotominor.yy0 = - (void *) geoJSON_setSrid ((gaiaGeomCollPtr) yymsp[-1]. - minor.yy0, - (int *) yymsp[-5].minor.yy0); + (void *) geoJSON_setSrid ((gaiaGeomCollPtr) yymsp[-1].minor. + yy0, (int *) yymsp[-5].minor.yy0); } break; case 81: /* multipoint ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_MULTIPOINT GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON short_crs GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON multipoint_text GEOJSON_CLOSE_BRACE */ case 82: /* multipoint ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_MULTIPOINT GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON long_crs GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON multipoint_text GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 82); @@ -2019,13 +2017,12 @@ yytestcase (yyruleno == 137); case 138: /* geocollz ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_GEOMETRYCOLLECTION GEOJSON_COMMA GEOJSON_CRS GEOJSON_COLON long_crs GEOJSON_COMMA GEOJSON_BBOX GEOJSON_COLON GEOJSON_OPEN_BRACKET bbox GEOJSON_CLOSE_BRACKET GEOJSON_COMMA GEOJSON_GEOMS GEOJSON_COLON geocoll_textz GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 138); { yygotominor.yy0 = - (void *) geoJSON_setSrid ((gaiaGeomCollPtr) yymsp[-1]. - minor.yy0, - (int *) yymsp[-11].minor.yy0); + (void *) geoJSON_setSrid ((gaiaGeomCollPtr) yymsp[-1].minor. + yy0, (int *) yymsp[-11].minor.yy0); } break; case 89: /* multipoint_text ::= GEOJSON_OPEN_BRACKET point_coordxy extra_pointsxy GEOJSON_CLOSE_BRACKET */ { ((gaiaPointPtr) yymsp[-2].minor.yy0)->Next = @@ -2153,12 +2150,12 @@ case 154: /* coll_pointz ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_POINT GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON point_coordxyz GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 154); { yygotominor.yy0 = geoJSON_buildGeomFromPoint (p_data, - (gaiaPointPtr) yymsp[-1]. - minor.yy0); + (gaiaPointPtr) yymsp[-1].minor. + yy0); } break; case 155: /* coll_linestring ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_LINESTRING GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON linestring_text GEOJSON_CLOSE_BRACE */ case 156: /* coll_linestringz ::= GEOJSON_OPEN_BRACE GEOJSON_TYPE GEOJSON_COLON GEOJSON_LINESTRING GEOJSON_COMMA GEOJSON_COORDS GEOJSON_COLON linestring_textz GEOJSON_CLOSE_BRACE */ yytestcase (yyruleno == 156); Index: src/gaiageo/gg_advanced.c ================================================================== --- src/gaiageo/gg_advanced.c +++ src/gaiageo/gg_advanced.c @@ -1,10 +1,10 @@ /* gg_advanced.c -- Gaia advanced geometric operations - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -1162,941 +1162,20 @@ polyg = polyg->Next; } return new_geom; } -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaEnsureClosedRings (gaiaGeomCollPtr geom) -{ -/* -/ sanitizes a GEOMETRYCOLLECTION: -/ - ring closure is enforced anyway -*/ - int iv; - int ib; - double x = 0.0; - double y = 0.0; - double z = 0.0; - double m = 0.0; - double last_x = 0.0; - double last_y = 0.0; - double last_z = 0.0; - int points; - int end_point; - int enforce; - gaiaPointPtr point; - gaiaLinestringPtr line; - gaiaLinestringPtr new_line; - gaiaPolygonPtr polyg; - gaiaPolygonPtr new_polyg; - gaiaGeomCollPtr new_geom; - gaiaRingPtr i_ring; - gaiaRingPtr o_ring; - if (!geom) - return NULL; - if (geom->DimensionModel == GAIA_XY_Z) - new_geom = gaiaAllocGeomCollXYZ (); - else if (geom->DimensionModel == GAIA_XY_M) - new_geom = gaiaAllocGeomCollXYM (); - else if (geom->DimensionModel == GAIA_XY_Z_M) - new_geom = gaiaAllocGeomCollXYZM (); - else - new_geom = gaiaAllocGeomColl (); - new_geom->Srid = geom->Srid; - new_geom->DeclaredType = geom->DeclaredType; - point = geom->FirstPoint; - while (point) - { - /* copying POINTs */ - gaiaAddPointToGeomCollXYZM (new_geom, point->X, point->Y, point->Z, - point->M); - point = point->Next; - } - line = geom->FirstLinestring; - while (line) - { - /* copying LINESTRINGs */ - new_line = gaiaAddLinestringToGeomColl (new_geom, line->Points); - gaiaCopyLinestringCoords (new_line, line); - line = line->Next; - } - polyg = geom->FirstPolygon; - while (polyg) - { - /* copying POLYGONs */ - i_ring = polyg->Exterior; - /* sanitizing EXTERIOR RING */ - points = i_ring->Points; - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, 0, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, 0, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, 0, &x, &y); - } - last_z = 0.0; - m = 0.0; - end_point = points - 1; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, end_point, &last_x, &last_y, - &last_z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, end_point, &last_x, &last_y, - &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, end_point, &last_x, &last_y, - &last_z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, end_point, &last_x, &last_y); - } - if (last_x == x && last_y == y && last_z == z) - enforce = 0; - else - { - /* forcing RING closure */ - enforce = 1; - } - if (!enforce) - { - /* already closed */ - new_polyg = - gaiaAddPolygonToGeomColl (new_geom, i_ring->Points, - polyg->NumInteriors); - o_ring = new_polyg->Exterior; - gaiaCopyRingCoords (o_ring, i_ring); - } - else - { - /* forcing closure */ - new_polyg = - gaiaAddPolygonToGeomColl (new_geom, i_ring->Points + 1, - polyg->NumInteriors); - o_ring = new_polyg->Exterior; - for (iv = 0; iv < i_ring->Points; iv++) - { - /* inserting points */ - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z, - &m); - } - else - { - gaiaGetPoint (i_ring->Coords, iv, &x, &y); - } - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, iv, x, y, z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, iv, x, y, m); - } - else if (o_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, iv, x, y, z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, iv, x, y); - } - } - /* adding last vertex so to ensure closure */ - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, 0, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, 0, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, 0, &x, &y); - } - end_point = o_ring->Points - 1; - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, end_point, x, y, z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, end_point, x, y, m); - } - else if (o_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, end_point, x, y, z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, end_point, x, y); - } - } - - for (ib = 0; ib < new_polyg->NumInteriors; ib++) - { - /* copying each INTERIOR RING [if any] */ - i_ring = polyg->Interiors + ib; - points = i_ring->Points; - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, 0, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, 0, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, 0, &x, &y); - } - last_z = 0.0; - m = 0.0; - end_point = points - 1; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, end_point, &last_x, - &last_y, &last_z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, end_point, &last_x, - &last_y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, end_point, &last_x, - &last_y, &last_z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, end_point, &last_x, - &last_y); - } - last_z = z; - if (last_x == x && last_y == y && last_z == z) - enforce = 0; - else - { - /* forcing RING closure */ - enforce = 1; - } - if (!enforce) - { - /* already closed */ - o_ring = - gaiaAddInteriorRing (new_polyg, ib, i_ring->Points); - gaiaCopyRingCoords (o_ring, i_ring); - } - else - { - /* forcing closure */ - o_ring = - gaiaAddInteriorRing (new_polyg, ib, - i_ring->Points + 1); - for (iv = 0; iv < i_ring->Points; iv++) - { - /* inserting points */ - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, - &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, - &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, - &z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, iv, &x, &y); - } - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, iv, x, y, z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, iv, x, y, m); - } - else if (o_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, - iv, x, y, z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, iv, x, y); - } - } - /* adding last vertex so to ensure closure */ - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, 0, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, 0, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, 0, &x, &y, &z, - &m); - } - else - { - gaiaGetPoint (i_ring->Coords, 0, &x, &y); - } - end_point = o_ring->Points - 1; - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, end_point, x, y, - z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, end_point, x, y, - m); - } - else if (o_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, end_point, x, y, - z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, end_point, x, y); - } - } - } - polyg = polyg->Next; - } - return new_geom; -} - -static double -point_point_distance (double x1, double y1, double x2, double y2) -{ - return sqrt (((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2))); -} - -static int -repeated_matching_point (gaiaGeomCollPtr geom, double x, double y, double z, - double tolerance) -{ -/* checking for duplicate points - multipoint */ - gaiaPointPtr point; - point = geom->FirstPoint; - while (point) - { - if (tolerance <= 0.0) - { - if (point->X == x && point->Y == y && point->Z == z) - return 1; - } - else - { - if (point_point_distance (x, y, point->X, point->Y) <= - tolerance) - return 1; - } - point = point->Next; - } - return 0; -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaRemoveRepeatedPoints (gaiaGeomCollPtr geom, double tolerance) -{ -/* -/ sanitizes a GEOMETRYCOLLECTION: -/ - repeated vertices are omitted -*/ - int iv; - int ib; - double x = 0.0; - double y = 0.0; - double z = 0.0; - double m = 0.0; - double last_x = 0.0; - double last_y = 0.0; - double last_z = 0.0; - int points; - gaiaPointPtr point; - gaiaLinestringPtr line; - gaiaLinestringPtr new_line; - gaiaPolygonPtr polyg; - gaiaPolygonPtr new_polyg; - gaiaGeomCollPtr new_geom; - gaiaRingPtr i_ring; - gaiaRingPtr o_ring; - if (!geom) - return NULL; - if (geom->DimensionModel == GAIA_XY_Z) - new_geom = gaiaAllocGeomCollXYZ (); - else if (geom->DimensionModel == GAIA_XY_M) - new_geom = gaiaAllocGeomCollXYM (); - else if (geom->DimensionModel == GAIA_XY_Z_M) - new_geom = gaiaAllocGeomCollXYZM (); - else - new_geom = gaiaAllocGeomColl (); - new_geom->Srid = geom->Srid; - new_geom->DeclaredType = geom->DeclaredType; - point = geom->FirstPoint; - while (point) - { - /* copying POINTs */ - if (!repeated_matching_point - (new_geom, point->X, point->Y, point->Z, tolerance)) - gaiaAddPointToGeomCollXYZM (new_geom, point->X, point->Y, - point->Z, point->M); - point = point->Next; - } - line = geom->FirstLinestring; - while (line) - { - /* sanitizing LINESTRINGs */ - points = 0; - for (iv = 0; iv < line->Points; iv++) - { - /* PASS I - checking points */ - z = 0.0; - m = 0.0; - if (line->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); - } - else if (line->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (line->Coords, iv, &x, &y, &m); - } - else if (line->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (line->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (line->Coords, iv, &x, &y); - } - if (iv > 0) - { - if (tolerance <= 0.0) - { - if (last_x == x && last_y == y && last_z == z) - ; - else - points++; - } - else - { - if (point_point_distance (x, y, last_x, last_y) <= - tolerance) - ; - else - points++; - } - } - else - points++; - last_x = x; - last_y = y; - last_z = z; - } - if (points < 2) - { - /* illegal LINESTRING - copying the original one */ - new_line = gaiaAddLinestringToGeomColl (new_geom, line->Points); - gaiaCopyLinestringCoords (new_line, line); - } - else - { - /* valid LINESTRING - sanitizing */ - new_line = gaiaAddLinestringToGeomColl (new_geom, points); - points = 0; - for (iv = 0; iv < line->Points; iv++) - { - /* PASS II - inserting points */ - z = 0.0; - m = 0.0; - if (line->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); - } - else if (line->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (line->Coords, iv, &x, &y, &m); - } - else if (line->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (line->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (line->Coords, iv, &x, &y); - } - if (iv > 0) - { - int skip = 0; - if (tolerance <= 0.0) - { - if (last_x == x && last_y == y && last_z == z) - skip = 1; - } - else - { - if (point_point_distance - (x, y, last_x, last_y) <= tolerance) - skip = 1; - } - if (skip) - ; - else - { - if (new_line->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (new_line->Coords, - points, x, y, z); - } - else if (new_line->DimensionModel == - GAIA_XY_M) - { - gaiaSetPointXYM (new_line->Coords, - points, x, y, m); - } - else if (new_line->DimensionModel == - GAIA_XY_Z_M) - { - gaiaSetPointXYZM (new_line->Coords, - points, x, y, z, m); - } - else - { - gaiaSetPoint (new_line->Coords, points, - x, y); - } - points++; - } - } - else - { - if (new_line->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (new_line->Coords, points, x, - y, z); - } - else if (new_line->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (new_line->Coords, points, x, - y, m); - } - else if (new_line->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (new_line->Coords, points, x, - y, z, m); - } - else - { - gaiaSetPoint (new_line->Coords, points, x, y); - } - points++; - } - last_x = x; - last_y = y; - last_z = z; - } - } - line = line->Next; - } - polyg = geom->FirstPolygon; - while (polyg) - { - /* copying POLYGONs */ - i_ring = polyg->Exterior; - /* sanitizing EXTERIOR RING */ - points = 0; - for (iv = 0; iv < i_ring->Points; iv++) - { - /* PASS I - checking points */ - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, iv, &x, &y); - } - if (iv > 0) - { - if (tolerance <= 0.0) - { - if (last_x == x && last_y == y && last_z == z) - ; - else - points++; - } - else - { - if (point_point_distance (x, y, last_x, last_y) <= - tolerance) - ; - else - points++; - } - } - else - points++; - last_x = x; - last_y = y; - last_z = z; - } - if (points < 4) - { - /* illegal RING - copying the original one */ - new_polyg = - gaiaAddPolygonToGeomColl (new_geom, i_ring->Points, - polyg->NumInteriors); - o_ring = new_polyg->Exterior; - gaiaCopyRingCoords (o_ring, i_ring); - } - else - { - /* valid RING - sanitizing */ - new_polyg = - gaiaAddPolygonToGeomColl (new_geom, points, - polyg->NumInteriors); - o_ring = new_polyg->Exterior; - points = 0; - for (iv = 0; iv < i_ring->Points; iv++) - { - /* PASS II - inserting points */ - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z, - &m); - } - else - { - gaiaGetPoint (i_ring->Coords, iv, &x, &y); - } - if (iv > 0) - { - int skip = 0; - if (tolerance <= 0.0) - { - if (last_x == x && last_y == y && last_z == z) - skip = 1; - } - else - { - if (point_point_distance - (x, y, last_x, last_y) <= tolerance) - skip = 1; - } - if (skip) - ; - else - { - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, points, - x, y, z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, points, - x, y, m); - } - else if (o_ring->DimensionModel == - GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, - points, x, y, z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, points, x, - y); - } - points++; - } - } - else - { - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, points, x, - y, z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, points, x, - y, m); - } - else if (o_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, points, x, - y, z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, points, x, y); - } - points++; - } - last_x = x; - last_y = y; - last_z = z; - } - } - - for (ib = 0; ib < new_polyg->NumInteriors; ib++) - { - /* copying each INTERIOR RING [if any] */ - i_ring = polyg->Interiors + ib; - /* sanitizing an INTERIOR RING */ - points = 0; - for (iv = 0; iv < i_ring->Points; iv++) - { - /* PASS I - checking points */ - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, &z, - &m); - } - else - { - gaiaGetPoint (i_ring->Coords, iv, &x, &y); - } - if (iv > 0) - { - if (tolerance <= 0.0) - { - if (last_x == x && last_y == y && last_z == z) - ; - else - points++; - } - else - { - if (point_point_distance - (x, y, last_x, last_y) <= tolerance) - ; - else - points++; - } - } - else - points++; - last_x = x; - last_y = y; - last_z = z; - } - if (points < 4) - { - /* illegal RING - copying the original one */ - o_ring = - gaiaAddInteriorRing (new_polyg, ib, i_ring->Points); - gaiaCopyRingCoords (o_ring, i_ring); - } - else - { - /* valid RING - sanitizing */ - o_ring = gaiaAddInteriorRing (new_polyg, ib, points); - points = 0; - for (iv = 0; iv < i_ring->Points; iv++) - { - /* PASS II - inserting points */ - z = 0.0; - m = 0.0; - if (i_ring->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (i_ring->Coords, iv, &x, &y, - &z); - } - else if (i_ring->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (i_ring->Coords, iv, &x, &y, - &m); - } - else if (i_ring->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (i_ring->Coords, iv, &x, &y, - &z, &m); - } - else - { - gaiaGetPoint (i_ring->Coords, iv, &x, &y); - } - if (iv > 0) - { - int skip = 0; - if (tolerance <= 0.0) - { - if (last_x == x && last_y == y - && last_z == z) - skip = 1; - } - else - { - if (point_point_distance - (x, y, last_x, last_y) <= tolerance) - skip = 1; - } - if (skip) - ; - else - { - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, - points, x, y, z); - } - else if (o_ring->DimensionModel == - GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, - points, x, y, m); - } - else if (o_ring->DimensionModel == - GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, - points, x, y, z, - m); - } - else - { - gaiaSetPoint (o_ring->Coords, - points, x, y); - } - points++; - } - } - else - { - if (o_ring->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (o_ring->Coords, points, - x, y, z); - } - else if (o_ring->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (o_ring->Coords, points, - x, y, m); - } - else if (o_ring->DimensionModel == - GAIA_XY_Z_M) - { - gaiaSetPointXYZM (o_ring->Coords, - points, x, y, z, m); - } - else - { - gaiaSetPoint (o_ring->Coords, points, x, - y); - } - points++; - } - last_x = x; - last_y = y; - last_z = z; - } - } - } - polyg = polyg->Next; - } - return new_geom; -} - static int gaiaIsToxicLinestring (gaiaLinestringPtr line) { /* checking a Linestring */ if (line->Points < 2) return 1; + return 0; /* not a valid Linestring, simply a degenerated Point */ - return 0; + return 1; } static int gaiaIsToxicRing (gaiaRingPtr ring) { Index: src/gaiageo/gg_endian.c ================================================================== --- src/gaiageo/gg_endian.c +++ src/gaiageo/gg_endian.c @@ -1,10 +1,10 @@ /* gg_endian.c -- Gaia functions for litte/big endian values handling - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of Index: src/gaiageo/gg_ewkt.c ================================================================== --- src/gaiageo/gg_ewkt.c +++ src/gaiageo/gg_ewkt.c @@ -1,10 +1,10 @@ /* gg_ewkt.c -- EWKT parser/lexer - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2011-2015 +Portions created by the Initial Developer are Copyright (C) 2011-2013 the Initial Developer. All Rights Reserved. Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), Index: src/gaiageo/gg_extras.c ================================================================== --- src/gaiageo/gg_extras.c +++ src/gaiageo/gg_extras.c @@ -1,10 +1,10 @@ /* gg_extras.c -- Gaia extra functions support - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -58,22 +58,15 @@ #include #include #if defined(_WIN32) && !defined(__MINGW32__) -#if defined(_MSC_VER) && _MSC_VER < 1800 -/* -/ only when using an obsolete MSVC (< 2013) -/ we need to define an internal replacement -/ implementig C99 rint() -*/ static double rint (double x) { return floor (x + 0.5); } -#endif #endif static void auxGridSnapPoint (int dimension_model, gaiaPointPtr pt, gaiaGeomCollPtr result, double origin_x, double origin_y, double origin_z, @@ -762,11 +755,12 @@ *base_y = y; } static gaiaGeomCollPtr gaiaSquareGridCommon (const void *p_cache, gaiaGeomCollPtr geom, - double origin_x, double origin_y, double size, int mode) + double origin_x, double origin_y, double size, + int edges_only) { /* creating a regular grid [Square cells] */ double min_x; double min_y; double max_x; @@ -827,11 +821,11 @@ ret = gaiaGeomCollIntersects (geom, item); if (ret == 1) { /* ok, inserting a valid cell */ count++; - if (mode > 0) + if (edges_only) { /* multilinestring */ ln = gaiaAddLinestringToGeomColl (result, 2); gaiaSetPoint (ln->Coords, 0, x1, y1); gaiaSetPoint (ln->Coords, 1, x2, y2); @@ -843,18 +837,10 @@ gaiaSetPoint (ln->Coords, 1, x4, y4); ln = gaiaAddLinestringToGeomColl (result, 2); gaiaSetPoint (ln->Coords, 0, x4, y4); gaiaSetPoint (ln->Coords, 1, x1, y1); } - else if (mode < 0) - { - /* multipoint */ - gaiaAddPointToGeomColl (result, x1, y1); - gaiaAddPointToGeomColl (result, x2, y2); - gaiaAddPointToGeomColl (result, x3, y3); - gaiaAddPointToGeomColl (result, x4, y4); - } else { /* polygon */ pg = gaiaAddPolygonToGeomColl (result, 5, 0); rng = pg->Exterior; @@ -879,11 +865,11 @@ { /* empty grid */ gaiaFreeGeomColl (result); return NULL; } - if (mode == 0) + if (!edges_only) { result->DeclaredType = GAIA_MULTIPOLYGON; return result; } @@ -892,29 +878,28 @@ result = gaiaUnaryUnion_r (p_cache, item); else result = gaiaUnaryUnion (item); gaiaFreeGeomColl (item); result->Srid = geom->Srid; - if (mode < 0) - result->DeclaredType = GAIA_MULTIPOINT; - else - result->DeclaredType = GAIA_MULTILINESTRING; + result->DeclaredType = GAIA_LINESTRING; return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSquareGrid (gaiaGeomCollPtr geom, double origin_x, double origin_y, - double size, int mode) + double size, int edges_only) { - return gaiaSquareGridCommon (NULL, geom, origin_x, origin_y, size, mode); + return gaiaSquareGridCommon (NULL, geom, origin_x, origin_y, size, + edges_only); } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSquareGrid_r (const void *p_cache, gaiaGeomCollPtr geom, double origin_x, - double origin_y, double size, int mode) + double origin_y, double size, int edges_only) { - return gaiaSquareGridCommon (p_cache, geom, origin_x, origin_y, size, mode); + return gaiaSquareGridCommon (p_cache, geom, origin_x, origin_y, size, + edges_only); } static void get_trigrid_base (double min_x, double min_y, double origin_x, double origin_y, double shift_h_odd, double shift_h_even, double shift_v, @@ -924,62 +909,30 @@ double bx = origin_x; double by = origin_y; while (1) { /* looping on grid rows */ - if (min_y < origin_y) - { - /* going southward */ - if (by > min_y) - goto next_scanline; - if (*odd_even) - bx = origin_x - shift_h_odd; - else - bx = origin_x; - } + if (by < min_y) + goto next_scanline; + if (*odd_even) + bx = origin_x - shift_h_odd; else - { - /* going northward */ - if (by < min_y) - goto next_scanline; - if (*odd_even) - bx = origin_x - shift_h_odd; - else - bx = origin_x; - } + bx = origin_x; while (1) { /* looping on grid columns */ - if (min_x < origin_x) + if (bx + shift_h_even > min_x + || bx + shift_h_even + shift_h_odd > min_x) { - /* going eastward */ - if (bx - shift_h_even - shift_h_odd < min_x) - { - *base_x = bx; - *base_y = by; - return; - } - bx -= shift_h_even; + *base_x = bx; + *base_y = by; + return; } - else - { - /* going westward */ - if (bx + shift_h_even > min_x - || bx + shift_h_even + shift_h_odd > min_x) - { - *base_x = bx; - *base_y = by; - return; - } - bx += shift_h_even; - } + bx += shift_h_even; } next_scanline: - if (min_y < origin_y) - by -= shift_v; - else - by += shift_v; + by += shift_v; if (*odd_even) *odd_even = 0; else *odd_even = 1; } @@ -986,11 +939,11 @@ } static gaiaGeomCollPtr gaiaTriangularGridCommon (const void *p_cache, gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, - int mode) + int edges_only) { /* creating a regular grid [Triangular cells] */ double min_x; double min_y; double max_x; @@ -1026,12 +979,10 @@ result = gaiaAllocGeomColl (); result->Srid = geom->Srid; get_grid_bbox (geom, &min_x, &min_y, &max_x, &max_y); get_trigrid_base (min_x, min_y, origin_x, origin_y, shift_h_odd, shift_h_even, shift_v, &odd_even, &base_x, &base_y); - base_x -= base_x; - base_y -= shift_v; while (base_y < max_y) { /* looping on grid rows */ if (odd_even) x1 = base_x - shift_h_odd; @@ -1063,11 +1014,11 @@ ret = gaiaGeomCollIntersects (geom, item); if (ret == 1) { /* ok, inserting a valid cell [pointing upside] */ count++; - if (mode > 0) + if (edges_only) { /* multilinestring */ ln = gaiaAddLinestringToGeomColl (result, 2); gaiaSetPoint (ln->Coords, 0, x1, y1); gaiaSetPoint (ln->Coords, 1, x2, y2); @@ -1076,17 +1027,10 @@ gaiaSetPoint (ln->Coords, 1, x3, y3); ln = gaiaAddLinestringToGeomColl (result, 2); gaiaSetPoint (ln->Coords, 0, x3, y3); gaiaSetPoint (ln->Coords, 1, x1, y1); } - else if (mode < 0) - { - /* multipoint */ - gaiaAddPointToGeomColl (result, x1, y1); - gaiaAddPointToGeomColl (result, x2, y2); - gaiaAddPointToGeomColl (result, x3, y3); - } else { /* polygon */ pg = gaiaAddPolygonToGeomColl (result, 4, 0); rng = pg->Exterior; @@ -1114,11 +1058,11 @@ ret = gaiaGeomCollIntersects (geom, item); if (ret == 1) { /* ok, inserting a valid cell [pointing downside] */ count++; - if (mode > 0) + if (edges_only) { /* multilinestring */ ln = gaiaAddLinestringToGeomColl (result, 2); gaiaSetPoint (ln->Coords, 0, x1, y1); gaiaSetPoint (ln->Coords, 1, x2, y2); @@ -1127,17 +1071,10 @@ gaiaSetPoint (ln->Coords, 1, x3, y3); ln = gaiaAddLinestringToGeomColl (result, 2); gaiaSetPoint (ln->Coords, 0, x3, y3); gaiaSetPoint (ln->Coords, 1, x1, y1); } - else if (mode < 0) - { - /* multipoint */ - gaiaAddPointToGeomColl (result, x1, y1); - gaiaAddPointToGeomColl (result, x2, y2); - gaiaAddPointToGeomColl (result, x3, y3); - } else { /* polygon */ pg = gaiaAddPolygonToGeomColl (result, 4, 0); rng = pg->Exterior; @@ -1166,11 +1103,11 @@ { /* empty grid */ gaiaFreeGeomColl (result); return NULL; } - if (mode == 0) + if (!edges_only) { result->DeclaredType = GAIA_MULTIPOLYGON; return result; } @@ -1179,31 +1116,29 @@ result = gaiaUnaryUnion_r (p_cache, item); else result = gaiaUnaryUnion (item); gaiaFreeGeomColl (item); result->Srid = geom->Srid; - if (mode < 0) - result->DeclaredType = GAIA_MULTIPOINT; - else - result->DeclaredType = GAIA_MULTILINESTRING; + result->DeclaredType = GAIA_LINESTRING; return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTriangularGrid (gaiaGeomCollPtr geom, double origin_x, double origin_y, - double size, int mode) + double size, int edges_only) { return gaiaTriangularGridCommon (NULL, geom, origin_x, origin_y, size, - mode); + edges_only); } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTriangularGrid_r (const void *p_cache, gaiaGeomCollPtr geom, - double origin_x, double origin_y, double size, int mode) + double origin_x, double origin_y, double size, + int edges_only) { return gaiaTriangularGridCommon (p_cache, geom, origin_x, origin_y, size, - mode); + edges_only); } static void get_hexgrid_base (double min_x, double min_y, double origin_x, double origin_y, double shift3, double shift4, double shift, @@ -1213,61 +1148,29 @@ double bx = origin_x; double by = origin_y; while (1) { /* looping on grid rows */ - if (min_y < origin_y) - { - /* going southward */ - if (by > min_y) - goto next_scanline; - if (*odd_even) - bx = origin_x - (shift3 / 2.0); - else - bx = origin_x; - } + if (by < min_y) + goto next_scanline; + if (*odd_even) + bx = origin_x + (shift3 / 2.0); else - { - /* going northward */ - if (by < min_y) - goto next_scanline; - if (*odd_even) - bx = origin_x + (shift3 / 2.0); - else - bx = origin_x; - } + bx = origin_x; while (1) { /* looping on grid columns */ - if (min_x < origin_x) + if (bx + shift4 > min_x) { - /* going westward */ - if (bx - shift4 < min_x) - { - *base_x = bx; - *base_y = by; - return; - } - bx -= shift3; + *base_x = bx; + *base_y = by; + return; } - else - { - /* going eastward */ - if (bx + shift4 > min_x) - { - *base_x = bx; - *base_y = by; - return; - } - bx += shift3; - } + bx += shift3; } next_scanline: - if (min_y < origin_y) - by -= shift; - else - by += shift; + by += shift; if (*odd_even) *odd_even = 0; else *odd_even = 1; } @@ -1274,11 +1177,11 @@ } static gaiaGeomCollPtr gaiaHexagonalGridCommon (const void *p_cache, gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, - int mode) + int edges_only) { /* creating a regular grid [Hexagonal cells] */ double min_x; double min_y; double max_x; @@ -1320,12 +1223,10 @@ result = gaiaAllocGeomColl (); result->Srid = geom->Srid; get_grid_bbox (geom, &min_x, &min_y, &max_x, &max_y); get_hexgrid_base (min_x, min_y, origin_x, origin_y, shift3, shift4, shift, &odd_even, &base_x, &base_y); - base_x -= shift3; - base_y -= shift; while ((base_y - shift) < max_y) { /* looping on grid rows */ if (odd_even) x1 = base_x - (shift3 / 2.0); @@ -1364,11 +1265,11 @@ ret = gaiaGeomCollIntersects (geom, item); if (ret == 1) { /* ok, inserting a valid cell */ count++; - if (mode > 0) + if (edges_only) { /* multilinestring */ ln = gaiaAddLinestringToGeomColl (result, 2); gaiaSetPoint (ln->Coords, 0, x1, y1); gaiaSetPoint (ln->Coords, 1, x2, y2); @@ -1386,20 +1287,10 @@ gaiaSetPoint (ln->Coords, 1, x6, y6); ln = gaiaAddLinestringToGeomColl (result, 2); gaiaSetPoint (ln->Coords, 0, x6, y6); gaiaSetPoint (ln->Coords, 1, x1, y1); } - else if (mode < 0) - { - /* multipoint */ - gaiaAddPointToGeomColl (result, x1, y1); - gaiaAddPointToGeomColl (result, x2, y2); - gaiaAddPointToGeomColl (result, x3, y3); - gaiaAddPointToGeomColl (result, x4, y4); - gaiaAddPointToGeomColl (result, x5, y5); - gaiaAddPointToGeomColl (result, x6, y6); - } else { /* polygon */ pg = gaiaAddPolygonToGeomColl (result, 7, 0); rng = pg->Exterior; @@ -1433,11 +1324,11 @@ { /* empty grid */ gaiaFreeGeomColl (result); return NULL; } - if (mode == 0) + if (!edges_only) { result->DeclaredType = GAIA_MULTIPOLYGON; return result; } @@ -1446,28 +1337,26 @@ result = gaiaUnaryUnion_r (p_cache, item); else result = gaiaUnaryUnion (item); gaiaFreeGeomColl (item); result->Srid = geom->Srid; - if (mode < 0) - result->DeclaredType = GAIA_MULTIPOINT; - else - result->DeclaredType = GAIA_MULTILINESTRING; + result->DeclaredType = GAIA_LINESTRING; return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaHexagonalGrid (gaiaGeomCollPtr geom, double origin_x, double origin_y, - double size, int mode) + double size, int edges_only) { - return gaiaHexagonalGridCommon (NULL, geom, origin_x, origin_y, size, mode); + return gaiaHexagonalGridCommon (NULL, geom, origin_x, origin_y, size, + edges_only); } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaHexagonalGrid_r (const void *p_cache, gaiaGeomCollPtr geom, double origin_x, - double origin_y, double size, int mode) + double origin_y, double size, int edges_only) { return gaiaHexagonalGridCommon (p_cache, geom, origin_x, origin_y, size, - mode); + edges_only); } #endif /* end including GEOS */ Index: src/gaiageo/gg_geoJSON.c ================================================================== --- src/gaiageo/gg_geoJSON.c +++ src/gaiageo/gg_geoJSON.c @@ -1,10 +1,10 @@ /* gg_geoJSON.c -- GeoJSON parser/lexer - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2011-2015 +Portions created by the Initial Developer are Copyright (C) 2011-2013 the Initial Developer. All Rights Reserved. Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), @@ -48,20 +48,14 @@ #include #if defined(_WIN32) && !defined(__MINGW32__) #include "config-msvc.h" -#include #else #include "config.h" #endif -#if defined(_WIN32) && !defined(__MINGW32__) -#define isatty _isatty -#define fileno _fileno -#endif - #include #include #include @@ -1285,297 +1279,10 @@ ptok = ptok_n; } return 0; } -static int -geoJSONlen (int start, int e1, int e2, int e3, int e4, int len) -{ -/* computing an item length */ - int end = len; - if (start < 0) - return -1; - if (e1 > start && e1 < end) - end = e1; - if (e2 > start && e2 < end) - end = e2; - if (e3 > start && e3 < end) - end = e3; - if (e4 > start && e4 < end) - end = e4; - return end; -} - -static char * -geoJSONuncomma (const char *str, int i_str, int n_str) -{ -/* removing an eventual trailing COMMA */ - int i; - int comma = 1; - int out = 0; - char *norm = malloc (n_str + 1); - for (i = i_str; i < n_str; i++) - { - /* copying bytes */ - *(norm + out) = *(str + i); - out++; - } - *(norm + out) = '\0'; - for (i = out - 1; i >= 0; i--) - { - if (*(norm + i) == ' ' || *(norm + i) == '\t' || *(norm + i) == '\n' - || *(norm + i) == '\r') - { - /*ignoring trailing WHITESPACES */ - *(norm + i) = '\0'; - continue; - } - if (*(norm + i) == ',' && comma) - { - /* suppressing a final COMMA */ - *(norm + i) = '\0'; - comma = 0; - } - break; - } - return norm; -} - -static int -geoJSONcheckType (const char *str, int pos) -{ -/* testing for a Geometry Type */ - int pos1 = -1; - int i; - int len = strlen (str); - for (i = pos; i < len; i++) - { - if (*(str + i) == ':') - { - pos1 = i + 1; - break; - } - } - if (pos1 < 0) - return 0; - for (i = pos1; i < len; i++) - { - if (*(str + i) == ',') - break; - if ((i + 7) <= len && strncmp (str + i, "\"Point\"", 7) == 0) - return 1; - if ((i + 12) <= len && strncmp (str + i, "\"LineString\"", 12) == 0) - return 1; - if ((i + 9) <= len && strncmp (str + i, "\"Polygon\"", 9) == 0) - return 1; - if ((i + 12) <= len && strncmp (str + i, "\"MultiPoint\"", 12) == 0) - return 1; - if ((i + 17) <= len - && strncmp (str + i, "\"MultiLineString\"", 17) == 0) - return 1; - if ((i + 14) <= len && strncmp (str + i, "\"MultiPolygon\"", 14) == 0) - return 1; - if ((i + 20) <= len - && strncmp (str + i, "\"GeometryCollection\"", 20) == 0) - return 1; - } - return 0; -} - -static int -geoJSONcheckGeomCollType (const char *str, int pos) -{ -/* testing for a GeometryCollection Type */ - int pos1 = -1; - int i; - int len = strlen (str); - for (i = pos; i < len; i++) - { - if (*(str + i) == ':') - { - pos1 = i + 1; - break; - } - } - if (pos1 < 0) - return 0; - for (i = pos1; i < len; i++) - { - if (*(str + i) == ',') - break; - if ((i + 20) <= len - && strncmp (str + i, "\"GeometryCollection\"", 20) == 0) - return 1; - } - return 0; -} - -static char * -geoJSONnormalize (const char *dirty) -{ -/* attempting to normalize the geoJSON expression */ - int len = strlen (dirty); - char *clean; - char *norm; - int i; - int i_type = -1; - int i_geometries = -1; - int i_coordinates = -1; - int i_crs = -1; - int i_bbox = -1; - int i_end = -1; - int n_type = -1; - int n_geometries = -1; - int n_coordinates = -1; - int n_crs = -1; - int n_bbox = -1; - int base; - int out = 0; - - for (i = 0; i < len; i++) - { - /* hi-priority: searching for GeometryCollection */ - if (i_type < 0 && (i + 6) < len - && strncmp (dirty + i, "\"type\"", 6) == 0) - { - if (geoJSONcheckGeomCollType (dirty, i + 6)) - i_type = i; - } - } - - for (i = 0; i < len; i++) - { - /* searching the start index for each item */ - if (*(dirty + i) == '}') - i_end = i; - if (i_type < 0 && (i + 6) < len - && strncmp (dirty + i, "\"type\"", 6) == 0) - { - if (geoJSONcheckType (dirty, i + 6)) - i_type = i; - } - if (i_geometries < 0 && (i + 12) < len - && strncmp (dirty + i, "\"geometries\"", 12) == 0) - i_geometries = i; - if (i_coordinates < 0 && (i + 13) < len - && strncmp (dirty + i, "\"coordinates\"", 13) == 0) - i_coordinates = i; - if (i_crs < 0 && (i + 5) < len - && strncmp (dirty + i, "\"crs\"", 5) == 0) - i_crs = i; - if (i_bbox < 0 && (i + 6) < len - && strncmp (dirty + i, "\"bbox\"", 6) == 0) - i_bbox = i; - } - if (i_geometries >= 0) - i_coordinates = i_geometries; - n_type = geoJSONlen (i_type, i_coordinates, i_crs, i_bbox, i_end, len); - n_coordinates = - geoJSONlen (i_coordinates, i_type, i_crs, i_bbox, i_end, len); - n_crs = geoJSONlen (i_crs, i_coordinates, i_type, i_bbox, i_end, len); - n_bbox = geoJSONlen (i_bbox, i_coordinates, i_type, i_crs, i_end, len); - - clean = malloc (len + 1); - - if (i_end < 0) - { - strcpy (clean, dirty); - return clean; - } - if (i_type < 0 || n_type <= 0) - { - strcpy (clean, dirty); - return clean; - } - if (i_coordinates < 0 || n_coordinates <= 0) - { - strcpy (clean, dirty); - return clean; - } - if (i_crs >= 0 && n_crs <= 0) - { - strcpy (clean, dirty); - return clean; - } - if (i_bbox >= 0 && n_bbox <= 0) - { - strcpy (clean, dirty); - return clean; - } - - base = i_type; - if (i_coordinates < base) - base = i_coordinates; - if (i_crs >= 0 && i_crs < base) - base = i_crs; - if (i_bbox >= 0 && i_bbox < base) - base = i_bbox; - - for (i = 0; i < base; i++) - { - /* preamble */ - *(clean + out) = *(dirty + i); - out++; - } - - norm = geoJSONuncomma (dirty, i_type, n_type); - len = strlen (norm); - for (i = 0; i < len; i++) - { - /* type */ - *(clean + out) = *(norm + i); - out++; - } - free (norm); - *(clean + out) = ','; - out++; - - if (i_crs >= 0) - { - norm = geoJSONuncomma (dirty, i_crs, n_crs); - len = strlen (norm); - for (i = 0; i < len; i++) - { - /* crs */ - *(clean + out) = *(norm + i); - out++; - } - free (norm); - *(clean + out) = ','; - out++; - } - - if (i_bbox >= 0) - { - norm = geoJSONuncomma (dirty, i_bbox, n_bbox); - len = strlen (norm); - for (i = 0; i < len; i++) - { - /* bbox */ - *(clean + out) = *(norm + i); - out++; - } - free (norm); - *(clean + out) = ','; - out++; - } - - norm = geoJSONuncomma (dirty, i_coordinates, n_coordinates); - len = strlen (norm); - for (i = 0; i < len; i++) - { - /* coordinates */ - *(clean + out) = *(norm + i); - out++; - } - free (norm); - *(clean + out) = '}'; - out++; - *(clean + out) = '\0'; - return clean; -} - gaiaGeomCollPtr gaiaParseGeoJSON (const unsigned char *dirty_buffer) { void *pParser = ParseAlloc (malloc); /* Linked-list of token values */ @@ -1583,11 +1290,10 @@ /* Pointer to the head of the list */ geoJsonFlexToken *head = tokens; int yv; yyscan_t scanner; struct geoJson_data str_data; - char *normalized_buffer = geoJSONnormalize ((const char *) dirty_buffer); /* initializing the helper structs */ str_data.geoJson_line = 1; str_data.geoJson_col = 1; str_data.geoJson_parse_error = 0; @@ -1598,11 +1304,11 @@ /* initializing the scanner state */ GeoJsonlex_init_extra (&str_data, &scanner); tokens->Next = NULL; - GeoJson_scan_string ((char *) normalized_buffer, scanner); + GeoJson_scan_string ((char *) dirty_buffer, scanner); /* / Keep tokenizing until we reach the end / yylex() will return the next matching Token for us. */ @@ -1623,12 +1329,10 @@ /* This denotes the end of a line as well as the end of the parser */ Parse (pParser, GEOJSON_NEWLINE, 0, &str_data); ParseFree (pParser, free); GeoJsonlex_destroy (scanner); - free (normalized_buffer); - /* Assigning the token as the end to avoid seg faults while cleaning */ tokens->Next = NULL; geoJSON_cleanup (head); if (str_data.geoJson_parse_error) Index: src/gaiageo/gg_geodesic.c ================================================================== --- src/gaiageo/gg_geodesic.c +++ src/gaiageo/gg_geodesic.c @@ -1,10 +1,10 @@ /* gg_geodesic.c -- Gaia functions for geodesic calculations - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,15 +22,14 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): -Charles Karney Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead @@ -59,24 +58,10 @@ #include #include -#ifndef OMIT_PROJ -#include -#if defined(PJ_VERSION) && PJ_VERSION >= 490 -/* Enable new proj.4's geodesic distance */ -#define PROJ_GEODESIC 1 -#include -#else -/* Use the old (Vincenty) geodesic distance */ -#define PROJ_GEODESIC 0 -#endif -#else -#define PROJ_GEODESIC 0 -#endif - #define DEG2RAD 0.0174532925199432958 #define PI 3.14159265358979323846 struct ellipses { @@ -83,10 +68,14 @@ char *name; double a; /* equatorial radius - meters */ double rf; /* reverse flattening */ double b; /* polar radius - meters */ }; + +#if defined(_WIN32) && !defined(__MINGW32__) +#define isnan _isnan +#endif /* not WIN32-MSVC */ GAIAGEO_DECLARE int gaiaEllipseParams (const char *name, double *a, double *b, double *rf) { /* trying to find ellipse params */ @@ -196,31 +185,11 @@ double lat2, double lon2) { /* / Calculate geodesic distance (in m) / between two points specified by latitude/longitude -/ (in decimal degrees) -*/ - -#if PROJ_GEODESIC -/* -/ using the PROJ.4 own implementation -/ -/ requires PROJ.4 >= 4.9.0 -/ -/ (accepting a patch suggested by Charles Karney -*/ - double s12; - struct geod_geodesic gd; - if (b == a) - b = a; /* silencing stupid compiler warnings */ - geod_init (&gd, a, 1 / rf); - geod_inverse (&gd, lat1, lon1, lat2, lon2, &s12, 0, 0); - return s12; -#else -/* -/ using Vincenty inverse formula for ellipsoids +/ (in decimal degrees) using Vincenty inverse formula for ellipsoids / / based on original JavaScript by (c) Chris Veness 2002-2008 / http://www.movable-type.co.uk/scripts/latlong-vincenty.html / */ @@ -296,11 +265,10 @@ cos2SigmaM * cos2SigmaM))); s = b * A * (sigma - deltaSigma); return s; -#endif /* end Vincenty formula */ } GAIAGEO_DECLARE void gaiaFree (void *ptr) { Index: src/gaiageo/gg_geometries.c ================================================================== --- src/gaiageo/gg_geometries.c +++ src/gaiageo/gg_geometries.c @@ -1,10 +1,10 @@ /* gg_geometries.c -- Gaia geometric objects - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -3633,18 +3633,22 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMergeGeometries_r (const void *cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { -/* mergine a second generic Geometries into the first one */ +/* mergine two generic Geometries into a single one */ + gaiaGeomCollPtr result; gaiaPointPtr pt; gaiaLinestringPtr ln; gaiaLinestringPtr new_ln; gaiaPolygonPtr pg; gaiaPolygonPtr new_pg; gaiaRingPtr rng; gaiaRingPtr new_rng; + int dims1; + int dims2; + int dims; double x; double y; double z; double m; int iv; @@ -3651,11 +3655,101 @@ int ib; if (geom1 == NULL || geom2 == NULL) return NULL; if (cache != NULL) - cache = NULL; + { + if (gaiaIsToxic_r (cache, geom1) || gaiaIsToxic_r (cache, geom2)) + return NULL; + } + else + { + if (gaiaIsToxic (geom1) || gaiaIsToxic (geom2)) + return NULL; + } + dims1 = geom1->DimensionModel; + dims2 = geom2->DimensionModel; +/* building a new Geometry */ + if (dims1 == dims2) + dims = dims1; + else + { + if (dims1 == GAIA_XY_Z_M || dims2 == GAIA_XY_Z_M) + dims = GAIA_XY_Z_M; + else if (dims1 == GAIA_XY_Z && dims2 == GAIA_XY_M) + dims = GAIA_XY_Z_M; + else if (dims1 == GAIA_XY_M && dims2 == GAIA_XY_Z) + dims = GAIA_XY_Z_M; + else if (dims1 == GAIA_XY_Z) + dims = GAIA_XY_Z; + else if (dims2 == GAIA_XY_Z) + dims = GAIA_XY_Z; + else if (dims1 == GAIA_XY_M) + dims = GAIA_XY_M; + else if (dims2 == GAIA_XY_M) + dims = GAIA_XY_M; + else + dims = GAIA_XY; + } + if (dims == GAIA_XY_Z_M) + result = gaiaAllocGeomCollXYZM (); + else if (dims == GAIA_XY_Z) + result = gaiaAllocGeomCollXYZ (); + else if (dims == GAIA_XY_M) + result = gaiaAllocGeomCollXYM (); + else + result = gaiaAllocGeomColl (); + result->Srid = geom1->Srid; + + pt = geom1->FirstPoint; + while (pt) + { + /* copying POINTs from GEOM-1 */ + z = 0.0; + m = 0.0; + if (pt->DimensionModel == GAIA_XY_Z_M) + { + x = pt->X; + y = pt->Y; + z = pt->Z; + m = pt->M; + } + else if (pt->DimensionModel == GAIA_XY_Z) + { + x = pt->X; + y = pt->Y; + z = pt->Z; + } + else if (pt->DimensionModel == GAIA_XY_M) + { + x = pt->X; + y = pt->Y; + m = pt->M; + } + else + { + x = pt->X; + y = pt->Y; + } + if (result->DimensionModel == GAIA_XY_Z_M) + { + gaiaAddPointToGeomCollXYZM (result, x, y, z, m); + } + else if (result->DimensionModel == GAIA_XY_Z) + { + gaiaAddPointToGeomCollXYZ (result, x, y, z); + } + else if (result->DimensionModel == GAIA_XY_M) + { + gaiaAddPointToGeomCollXYM (result, x, y, m); + } + else + { + gaiaAddPointToGeomColl (result, x, y); + } + pt = pt->Next; + } pt = geom2->FirstPoint; while (pt) { /* copying POINTs from GEOM-2 */ @@ -3683,34 +3777,79 @@ else { x = pt->X; y = pt->Y; } - if (geom1->DimensionModel == GAIA_XY_Z_M) + if (result->DimensionModel == GAIA_XY_Z_M) { - gaiaAddPointToGeomCollXYZM (geom1, x, y, z, m); + gaiaAddPointToGeomCollXYZM (result, x, y, z, m); } - else if (geom1->DimensionModel == GAIA_XY_Z) + else if (result->DimensionModel == GAIA_XY_Z) { - gaiaAddPointToGeomCollXYZ (geom1, x, y, z); + gaiaAddPointToGeomCollXYZ (result, x, y, z); } - else if (geom1->DimensionModel == GAIA_XY_M) + else if (result->DimensionModel == GAIA_XY_M) { - gaiaAddPointToGeomCollXYM (geom1, x, y, m); + gaiaAddPointToGeomCollXYM (result, x, y, m); } else { - gaiaAddPointToGeomColl (geom1, x, y); + gaiaAddPointToGeomColl (result, x, y); } pt = pt->Next; } + + ln = geom1->FirstLinestring; + while (ln) + { + /* copying LINESTRINGs from GEOM-1 */ + new_ln = gaiaAddLinestringToGeomColl (result, ln->Points); + for (iv = 0; iv < ln->Points; iv++) + { + z = 0.0; + m = 0.0; + if (ln->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); + } + else if (ln->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); + } + else if (ln->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); + } + else + { + gaiaGetPoint (ln->Coords, iv, &x, &y); + } + if (new_ln->DimensionModel == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (new_ln->Coords, iv, x, y, z, m); + } + else if (new_ln->DimensionModel == GAIA_XY_Z) + { + gaiaSetPointXYZ (new_ln->Coords, iv, x, y, z); + } + else if (new_ln->DimensionModel == GAIA_XY_M) + { + gaiaSetPointXYM (new_ln->Coords, iv, x, y, m); + } + else + { + gaiaSetPoint (new_ln->Coords, iv, x, y); + } + } + ln = ln->Next; + } ln = geom2->FirstLinestring; while (ln) { /* copying LINESTRINGs from GEOM-2 */ - new_ln = gaiaAddLinestringToGeomColl (geom1, ln->Points); + new_ln = gaiaAddLinestringToGeomColl (result, ln->Points); for (iv = 0; iv < ln->Points; iv++) { z = 0.0; m = 0.0; if (ln->DimensionModel == GAIA_XY_Z_M) @@ -3746,18 +3885,110 @@ gaiaSetPoint (new_ln->Coords, iv, x, y); } } ln = ln->Next; } + + pg = geom1->FirstPolygon; + while (pg) + { + /* copying POLYGONs from GEOM-1 */ + rng = pg->Exterior; + new_pg = + gaiaAddPolygonToGeomColl (result, rng->Points, pg->NumInteriors); + new_rng = new_pg->Exterior; + for (iv = 0; iv < rng->Points; iv++) + { + /* Exterior Ring */ + z = 0.0; + m = 0.0; + if (rng->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); + } + else if (rng->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); + } + else if (rng->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); + } + else + { + gaiaGetPoint (rng->Coords, iv, &x, &y); + } + if (new_rng->DimensionModel == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (new_rng->Coords, iv, x, y, z, m); + } + else if (new_rng->DimensionModel == GAIA_XY_Z) + { + gaiaSetPointXYZ (new_rng->Coords, iv, x, y, z); + } + else if (new_rng->DimensionModel == GAIA_XY_M) + { + gaiaSetPointXYM (new_rng->Coords, iv, x, y, m); + } + else + { + gaiaSetPoint (new_rng->Coords, iv, x, y); + } + } + for (ib = 0; ib < pg->NumInteriors; ib++) + { + /* Interior Rings */ + rng = pg->Interiors + ib; + new_rng = gaiaAddInteriorRing (new_pg, ib, rng->Points); + for (iv = 0; iv < rng->Points; iv++) + { + z = 0.0; + m = 0.0; + if (rng->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); + } + else if (rng->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); + } + else if (rng->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); + } + else + { + gaiaGetPoint (rng->Coords, iv, &x, &y); + } + if (new_rng->DimensionModel == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (new_rng->Coords, iv, x, y, z, m); + } + else if (new_rng->DimensionModel == GAIA_XY_Z) + { + gaiaSetPointXYZ (new_rng->Coords, iv, x, y, z); + } + else if (new_rng->DimensionModel == GAIA_XY_M) + { + gaiaSetPointXYM (new_rng->Coords, iv, x, y, m); + } + else + { + gaiaSetPoint (new_rng->Coords, iv, x, y); + } + } + } + pg = pg->Next; + } pg = geom2->FirstPolygon; while (pg) { /* copying POLYGONs from GEOM-2 */ rng = pg->Exterior; new_pg = - gaiaAddPolygonToGeomColl (geom1, rng->Points, pg->NumInteriors); + gaiaAddPolygonToGeomColl (result, rng->Points, pg->NumInteriors); new_rng = new_pg->Exterior; for (iv = 0; iv < rng->Points; iv++) { /* Exterior Ring */ z = 0.0; @@ -3839,11 +4070,11 @@ } } pg = pg->Next; } - return geom1; + return result; } GAIAGEO_DECLARE void gaiaBuildMbr (double x1, double y1, double x2, double y2, int srid, unsigned char **result, int *size) Index: src/gaiageo/gg_geoscvt.c ================================================================== --- src/gaiageo/gg_geoscvt.c +++ src/gaiageo/gg_geoscvt.c @@ -1,10 +1,10 @@ /* gg_geoscvt.c -- Gaia / GEOS conversion [Geometry] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -52,15 +52,10 @@ #else #include "config.h" #endif #ifndef OMIT_GEOS /* including GEOS */ -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif #include #endif #include #include @@ -101,19 +96,12 @@ GEOSGeometry **geos_holes; GEOSGeometry **geos_coll; GEOSCoordSequence *cs; int ring_points; int n_items; - -#ifdef GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ - if (handle == NULL) - return NULL; -#endif if (!gaia) return NULL; - - pt = gaia->FirstPoint; while (pt) { /* counting how many POINTs are there */ pts++; @@ -225,11 +213,10 @@ }; geos = GEOSGeom_createPoint_r (handle, cs); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (1, dims); switch (gaia->DimensionModel) { case GAIA_XY_Z: case GAIA_XY_Z_M: @@ -241,24 +228,21 @@ GEOSCoordSeq_setX (cs, 0, pt->X); GEOSCoordSeq_setY (cs, 0, pt->Y); break; }; geos = GEOSGeom_createPoint (cs); -#endif } } break; case GAIA_LINESTRING: if (mode == GAIA2GEOS_ALL || mode == GAIA2GEOS_ONLY_LINESTRINGS) { ln = gaia->FirstLinestring; if (handle != NULL) cs = GEOSCoordSeq_create_r (handle, ln->Points, dims); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else cs = GEOSCoordSeq_create (ln->Points, dims); -#endif for (iv = 0; iv < ln->Points; iv++) { switch (ln->DimensionModel) { case GAIA_XY_Z: @@ -269,15 +253,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; case GAIA_XY_M: gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); if (handle != NULL) @@ -285,14 +267,12 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; case GAIA_XY_Z_M: gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); if (handle != NULL) @@ -301,15 +281,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; default: gaiaGetPoint (ln->Coords, iv, &x, &y); if (handle != NULL) @@ -317,24 +295,20 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; }; } if (handle != NULL) geos = GEOSGeom_createLineString_r (handle, cs); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos = GEOSGeom_createLineString (cs); -#endif } break; case GAIA_POLYGON: if (mode == GAIA2GEOS_ALL || mode == GAIA2GEOS_ONLY_POLYGONS) { @@ -345,23 +319,19 @@ if (cache) { if (gaiaIsNotClosedRing_r (cache, rng)) ring_points++; } -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else { if (gaiaIsNotClosedRing (rng)) ring_points++; } -#endif if (handle != NULL) cs = GEOSCoordSeq_create_r (handle, ring_points, dims); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else cs = GEOSCoordSeq_create (ring_points, dims); -#endif for (iv = 0; iv < rng->Points; iv++) { switch (rng->DimensionModel) { case GAIA_XY_Z: @@ -379,15 +349,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; case GAIA_XY_M: gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); if (iv == 0) @@ -401,14 +369,12 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; case GAIA_XY_Z_M: gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); if (iv == 0) @@ -424,15 +390,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; default: gaiaGetPoint (rng->Coords, iv, &x, &y); if (iv == 0) @@ -446,14 +410,12 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; }; } if (ring_points > rng->Points) @@ -470,15 +432,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y0); GEOSCoordSeq_setZ_r (handle, cs, iv, z0); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x0); GEOSCoordSeq_setY (cs, iv, y0); GEOSCoordSeq_setZ (cs, iv, z0); -#endif } break; default: if (handle != NULL) { @@ -485,24 +445,20 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x0); GEOSCoordSeq_setY_r (handle, cs, iv, y0); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x0); GEOSCoordSeq_setY (cs, iv, y0); -#endif } break; }; } if (handle != NULL) geos_ext = GEOSGeom_createLinearRing_r (handle, cs); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos_ext = GEOSGeom_createLinearRing (cs); -#endif geos_holes = NULL; if (pg->NumInteriors > 0) { geos_holes = malloc (sizeof (GEOSGeometry *) * pg->NumInteriors); @@ -514,24 +470,20 @@ if (cache != NULL) { if (gaiaIsNotClosedRing_r (cache, rng)) ring_points++; } -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else { if (gaiaIsNotClosedRing (rng)) ring_points++; } -#endif if (handle != NULL) cs = GEOSCoordSeq_create_r (handle, ring_points, dims); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else cs = GEOSCoordSeq_create (ring_points, dims); -#endif for (iv = 0; iv < rng->Points; iv++) { switch (rng->DimensionModel) { case GAIA_XY_Z: @@ -553,15 +505,13 @@ GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; case GAIA_XY_M: gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); @@ -578,14 +528,12 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; case GAIA_XY_Z_M: gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); @@ -605,15 +553,13 @@ GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; default: gaiaGetPoint (rng->Coords, iv, &x, &y); if (iv == 0) @@ -629,14 +575,12 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; }; } if (ring_points > rng->Points) @@ -656,15 +600,13 @@ GEOSCoordSeq_setZ_r (handle, cs, iv, z0); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x0); GEOSCoordSeq_setY (cs, iv, y0); GEOSCoordSeq_setZ (cs, iv, z0); -#endif } break; default: if (handle != NULL) { @@ -673,38 +615,32 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y0); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x0); GEOSCoordSeq_setY (cs, iv, y0); -#endif } break; }; } if (handle != NULL) geos_int = GEOSGeom_createLinearRing_r (handle, cs); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos_int = GEOSGeom_createLinearRing (cs); -#endif *(geos_holes + ib) = geos_int; } } if (handle != NULL) geos = GEOSGeom_createPolygon_r (handle, geos_ext, geos_holes, pg->NumInteriors); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos = GEOSGeom_createPolygon (geos_ext, geos_holes, pg->NumInteriors); -#endif if (geos_holes) free (geos_holes); } break; case GAIA_MULTIPOINT: @@ -738,14 +674,12 @@ pt = gaia->FirstPoint; while (pt) { if (handle != NULL) cs = GEOSCoordSeq_create_r (handle, 1, dims); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else cs = GEOSCoordSeq_create (1, dims); -#endif switch (pt->DimensionModel) { case GAIA_XY_Z: case GAIA_XY_Z_M: if (handle != NULL) @@ -754,15 +688,13 @@ GEOSCoordSeq_setY_r (handle, cs, 0, pt->Y); GEOSCoordSeq_setZ_r (handle, cs, 0, pt->Z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, 0, pt->X); GEOSCoordSeq_setY (cs, 0, pt->Y); GEOSCoordSeq_setZ (cs, 0, pt->Z); -#endif } break; default: if (handle != NULL) { @@ -769,23 +701,19 @@ GEOSCoordSeq_setX_r (handle, cs, 0, pt->X); GEOSCoordSeq_setY_r (handle, cs, 0, pt->Y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, 0, pt->X); GEOSCoordSeq_setY (cs, 0, pt->Y); -#endif } break; }; if (handle != NULL) geos_item = GEOSGeom_createPoint_r (handle, cs); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos_item = GEOSGeom_createPoint (cs); -#endif *(geos_coll + nItem++) = geos_item; pt = pt->Next; } } if (mode == GAIA2GEOS_ALL || mode == GAIA2GEOS_ONLY_LINESTRINGS) @@ -793,14 +721,12 @@ ln = gaia->FirstLinestring; while (ln) { if (handle != NULL) cs = GEOSCoordSeq_create_r (handle, ln->Points, dims); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else cs = GEOSCoordSeq_create (ln->Points, dims); -#endif for (iv = 0; iv < ln->Points; iv++) { switch (ln->DimensionModel) { case GAIA_XY_Z: @@ -811,15 +737,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; case GAIA_XY_M: gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); if (handle != NULL) @@ -827,14 +751,12 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; case GAIA_XY_Z_M: gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); @@ -844,15 +766,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; default: gaiaGetPoint (ln->Coords, iv, &x, &y); if (handle != NULL) @@ -860,24 +780,20 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; }; } if (handle != NULL) geos_item = GEOSGeom_createLineString_r (handle, cs); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos_item = GEOSGeom_createLineString (cs); -#endif *(geos_coll + nItem++) = geos_item; ln = ln->Next; } } if (mode == GAIA2GEOS_ALL || mode == GAIA2GEOS_ONLY_POLYGONS) @@ -888,27 +804,23 @@ rng = pg->Exterior; /* exterior ring */ ring_points = rng->Points; if (cache != NULL) { - if (gaiaIsNotClosedRing_r (cache, rng)) + if (gaiaIsNotClosedRing_r (handle, rng)) ring_points++; } -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else { if (gaiaIsNotClosedRing (rng)) ring_points++; } -#endif if (handle != NULL) cs = GEOSCoordSeq_create_r (handle, ring_points, dims); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else cs = GEOSCoordSeq_create (ring_points, dims); -#endif for (iv = 0; iv < rng->Points; iv++) { switch (rng->DimensionModel) { case GAIA_XY_Z: @@ -926,15 +838,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; case GAIA_XY_M: gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); if (iv == 0) @@ -948,14 +858,12 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; case GAIA_XY_Z_M: gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); @@ -972,15 +880,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; default: gaiaGetPoint (rng->Coords, iv, &x, &y); if (iv == 0) @@ -994,14 +900,12 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; }; } if (ring_points > rng->Points) @@ -1021,15 +925,13 @@ GEOSCoordSeq_setZ_r (handle, cs, iv, z0); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x0); GEOSCoordSeq_setY (cs, iv, y0); GEOSCoordSeq_setZ (cs, iv, z0); -#endif } break; default: if (handle != NULL) { @@ -1038,24 +940,20 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y0); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x0); GEOSCoordSeq_setY (cs, iv, y0); -#endif } break; }; } if (handle != NULL) geos_ext = GEOSGeom_createLinearRing_r (handle, cs); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos_ext = GEOSGeom_createLinearRing (cs); -#endif geos_holes = NULL; if (pg->NumInteriors > 0) { geos_holes = malloc (sizeof (GEOSGeometry *) * @@ -1068,26 +966,22 @@ if (cache != NULL) { if (gaiaIsNotClosedRing_r (cache, rng)) ring_points++; } -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else { if (gaiaIsNotClosedRing (rng)) ring_points++; } -#endif if (handle != NULL) cs = GEOSCoordSeq_create_r (handle, ring_points, dims); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else cs = GEOSCoordSeq_create (ring_points, dims); -#endif for (iv = 0; iv < rng->Points; iv++) { switch (rng->DimensionModel) { case GAIA_XY_Z: @@ -1112,18 +1006,16 @@ cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; case GAIA_XY_M: gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); @@ -1142,16 +1034,14 @@ cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; case GAIA_XY_Z_M: gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); @@ -1174,18 +1064,16 @@ cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } break; default: gaiaGetPoint (rng->Coords, iv, &x, &y); @@ -1204,16 +1092,14 @@ cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } break; }; } if (ring_points > rng->Points) @@ -1236,18 +1122,16 @@ cs, iv, z0); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x0); GEOSCoordSeq_setY (cs, iv, y0); GEOSCoordSeq_setZ (cs, iv, z0); -#endif } break; default: if (handle != NULL) { @@ -1258,42 +1142,36 @@ cs, iv, y0); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x0); GEOSCoordSeq_setY (cs, iv, y0); -#endif } break; }; } if (handle != NULL) geos_int = GEOSGeom_createLinearRing_r (handle, cs); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos_int = GEOSGeom_createLinearRing (cs); -#endif *(geos_holes + ib) = geos_int; } } if (handle != NULL) geos_item = GEOSGeom_createPolygon_r (handle, geos_ext, geos_holes, pg->NumInteriors); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos_item = GEOSGeom_createPolygon (geos_ext, geos_holes, pg->NumInteriors); -#endif if (geos_holes) free (geos_holes); *(geos_coll + nItem++) = geos_item; pg = pg->Next; } @@ -1307,14 +1185,12 @@ geos_type = GEOS_MULTIPOLYGON; if (handle != NULL) geos = GEOSGeom_createCollection_r (handle, geos_type, geos_coll, n_items); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos = GEOSGeom_createCollection (geos_type, geos_coll, n_items); -#endif if (geos_coll) free (geos_coll); break; default: geos = NULL; @@ -1321,14 +1197,12 @@ }; if (geos) { if (handle != NULL) GEOSSetSRID_r (handle, geos, gaia->Srid); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else GEOSSetSRID (geos, gaia->Srid); -#endif } return geos; } static gaiaGeomCollPtr @@ -1356,24 +1230,16 @@ const GEOSGeometry *geos_sub_item; gaiaGeomCollPtr gaia = NULL; gaiaLinestringPtr ln; gaiaPolygonPtr pg; gaiaRingPtr rng; - -#ifdef GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ - if (handle == NULL) - return NULL; -#endif if (!geos) return NULL; - if (handle != NULL) type = GEOSGeomTypeId_r (handle, geos); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else type = GEOSGeomTypeId (geos); -#endif switch (type) { case GEOS_POINT: if (dimension_model == GAIA_XY_Z) gaia = gaiaAllocGeomCollXYZ (); @@ -1390,15 +1256,13 @@ cs = GEOSGeom_getCoordSeq_r (handle, geos); GEOSCoordSeq_getDimensions_r (handle, cs, &dims); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ gaia->Srid = GEOSGetSRID (geos); cs = GEOSGeom_getCoordSeq (geos); GEOSCoordSeq_getDimensions (cs, &dims); -#endif } if (dims == 3) { if (handle != NULL) { @@ -1406,15 +1270,13 @@ GEOSCoordSeq_getY_r (handle, cs, 0, &y); GEOSCoordSeq_getZ_r (handle, cs, 0, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, 0, &x); GEOSCoordSeq_getY (cs, 0, &y); GEOSCoordSeq_getZ (cs, 0, &z); -#endif } } else { if (handle != NULL) @@ -1422,14 +1284,12 @@ GEOSCoordSeq_getX_r (handle, cs, 0, &x); GEOSCoordSeq_getY_r (handle, cs, 0, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, 0, &x); GEOSCoordSeq_getY (cs, 0, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) gaiaAddPointToGeomCollXYZ (gaia, x, y, z); @@ -1457,16 +1317,14 @@ GEOSCoordSeq_getDimensions_r (handle, cs, &dims); GEOSCoordSeq_getSize_r (handle, cs, &points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ gaia->Srid = GEOSGetSRID (geos); cs = GEOSGeom_getCoordSeq (geos); GEOSCoordSeq_getDimensions (cs, &dims); GEOSCoordSeq_getSize (cs, &points); -#endif } ln = gaiaAddLinestringToGeomColl (gaia, points); for (iv = 0; iv < (int) points; iv++) { if (dims == 3) @@ -1477,15 +1335,13 @@ GEOSCoordSeq_getY_r (handle, cs, iv, &y); GEOSCoordSeq_getZ_r (handle, cs, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); GEOSCoordSeq_getZ (cs, iv, &z); -#endif } } else { if (handle != NULL) @@ -1493,14 +1349,12 @@ GEOSCoordSeq_getX_r (handle, cs, iv, &x); GEOSCoordSeq_getY_r (handle, cs, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) { @@ -1530,14 +1384,12 @@ else gaia = gaiaAllocGeomColl (); gaia->DeclaredType = GAIA_POLYGON; if (handle != NULL) gaia->Srid = GEOSGetSRID_r (handle, geos); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else gaia->Srid = GEOSGetSRID (geos); -#endif /* exterior ring */ if (handle != NULL) { holes = GEOSGetNumInteriorRings_r (handle, geos); geos_ring = GEOSGetExteriorRing_r (handle, geos); @@ -1545,17 +1397,15 @@ GEOSCoordSeq_getDimensions_r (handle, cs, &dims); GEOSCoordSeq_getSize_r (handle, cs, &points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ holes = GEOSGetNumInteriorRings (geos); geos_ring = GEOSGetExteriorRing (geos); cs = GEOSGeom_getCoordSeq (geos_ring); GEOSCoordSeq_getDimensions (cs, &dims); GEOSCoordSeq_getSize (cs, &points); -#endif } pg = gaiaAddPolygonToGeomColl (gaia, points, holes); rng = pg->Exterior; for (iv = 0; iv < (int) points; iv++) { @@ -1567,15 +1417,13 @@ GEOSCoordSeq_getY_r (handle, cs, iv, &y); GEOSCoordSeq_getZ_r (handle, cs, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); GEOSCoordSeq_getZ (cs, iv, &z); -#endif } } else { if (handle != NULL) @@ -1583,14 +1431,12 @@ GEOSCoordSeq_getX_r (handle, cs, iv, &x); GEOSCoordSeq_getY_r (handle, cs, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) { @@ -1619,16 +1465,14 @@ GEOSCoordSeq_getDimensions_r (handle, cs, &dims); GEOSCoordSeq_getSize_r (handle, cs, &points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_ring = GEOSGetInteriorRingN (geos, ib); cs = GEOSGeom_getCoordSeq (geos_ring); GEOSCoordSeq_getDimensions (cs, &dims); GEOSCoordSeq_getSize (cs, &points); -#endif } rng = gaiaAddInteriorRing (pg, ib, points); for (iv = 0; iv < (int) points; iv++) { if (dims == 3) @@ -1639,15 +1483,13 @@ GEOSCoordSeq_getY_r (handle, cs, iv, &y); GEOSCoordSeq_getZ_r (handle, cs, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); GEOSCoordSeq_getZ (cs, iv, &z); -#endif } } else { if (handle != NULL) @@ -1655,14 +1497,12 @@ GEOSCoordSeq_getX_r (handle, cs, iv, &x); GEOSCoordSeq_getY_r (handle, cs, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) { @@ -1708,14 +1548,12 @@ gaia->Srid = GEOSGetSRID_r (handle, geos); nItems = GEOSGetNumGeometries_r (handle, geos); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ gaia->Srid = GEOSGetSRID (geos); nItems = GEOSGetNumGeometries (geos); -#endif } for (it = 0; it < nItems; it++) { /* looping on elementaty geometries */ if (handle != NULL) @@ -1723,14 +1561,12 @@ geos_item = GEOSGetGeometryN_r (handle, geos, it); itemType = GEOSGeomTypeId_r (handle, geos_item); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_item = GEOSGetGeometryN (geos, it); itemType = GEOSGeomTypeId (geos_item); -#endif } switch (itemType) { case GEOS_POINT: if (handle != NULL) @@ -1738,14 +1574,12 @@ cs = GEOSGeom_getCoordSeq_r (handle, geos_item); GEOSCoordSeq_getDimensions_r (handle, cs, &dims); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSGeom_getCoordSeq (geos_item); GEOSCoordSeq_getDimensions (cs, &dims); -#endif } if (dims == 3) { if (handle != NULL) { @@ -1753,15 +1587,13 @@ GEOSCoordSeq_getY_r (handle, cs, 0, &y); GEOSCoordSeq_getZ_r (handle, cs, 0, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, 0, &x); GEOSCoordSeq_getY (cs, 0, &y); GEOSCoordSeq_getZ (cs, 0, &z); -#endif } } else { if (handle != NULL) @@ -1769,14 +1601,12 @@ GEOSCoordSeq_getX_r (handle, cs, 0, &x); GEOSCoordSeq_getY_r (handle, cs, 0, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, 0, &x); GEOSCoordSeq_getY (cs, 0, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) gaiaAddPointToGeomCollXYZ (gaia, x, y, z); @@ -1794,15 +1624,13 @@ GEOSCoordSeq_getDimensions_r (handle, cs, &dims); GEOSCoordSeq_getSize_r (handle, cs, &points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSGeom_getCoordSeq (geos_item); GEOSCoordSeq_getDimensions (cs, &dims); GEOSCoordSeq_getSize (cs, &points); -#endif } ln = gaiaAddLinestringToGeomColl (gaia, points); for (iv = 0; iv < (int) points; iv++) { if (dims == 3) @@ -1816,15 +1644,13 @@ GEOSCoordSeq_getZ_r (handle, cs, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); GEOSCoordSeq_getZ (cs, iv, &z); -#endif } } else { if (handle != NULL) @@ -1834,14 +1660,12 @@ GEOSCoordSeq_getY_r (handle, cs, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) { @@ -1864,14 +1688,12 @@ break; case GEOS_MULTILINESTRING: if (handle != NULL) nSubItems = GEOSGetNumGeometries_r (handle, geos_item); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else nSubItems = GEOSGetNumGeometries (geos_item); -#endif for (sub_it = 0; sub_it < nSubItems; sub_it++) { /* looping on elementaty geometries */ if (handle != NULL) { @@ -1884,17 +1706,15 @@ &dims); GEOSCoordSeq_getSize_r (handle, cs, &points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_sub_item = GEOSGetGeometryN (geos_item, sub_it); cs = GEOSGeom_getCoordSeq (geos_sub_item); GEOSCoordSeq_getDimensions (cs, &dims); GEOSCoordSeq_getSize (cs, &points); -#endif } ln = gaiaAddLinestringToGeomColl (gaia, points); for (iv = 0; iv < (int) points; iv++) { if (dims == 3) @@ -1908,15 +1728,13 @@ GEOSCoordSeq_getZ_r (handle, cs, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); GEOSCoordSeq_getZ (cs, iv, &z); -#endif } } else { if (handle != NULL) @@ -1926,14 +1744,12 @@ GEOSCoordSeq_getY_r (handle, cs, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) { @@ -1969,17 +1785,15 @@ GEOSCoordSeq_getDimensions_r (handle, cs, &dims); GEOSCoordSeq_getSize_r (handle, cs, &points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ holes = GEOSGetNumInteriorRings (geos_item); geos_ring = GEOSGetExteriorRing (geos_item); cs = GEOSGeom_getCoordSeq (geos_ring); GEOSCoordSeq_getDimensions (cs, &dims); GEOSCoordSeq_getSize (cs, &points); -#endif } pg = gaiaAddPolygonToGeomColl (gaia, points, holes); rng = pg->Exterior; for (iv = 0; iv < (int) points; iv++) { @@ -1994,15 +1808,13 @@ GEOSCoordSeq_getZ_r (handle, cs, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); GEOSCoordSeq_getZ (cs, iv, &z); -#endif } } else { if (handle != NULL) @@ -2012,14 +1824,12 @@ GEOSCoordSeq_getY_r (handle, cs, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) { @@ -2053,17 +1863,15 @@ &dims); GEOSCoordSeq_getSize_r (handle, cs, &points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_ring = GEOSGetInteriorRingN (geos_item, ib); cs = GEOSGeom_getCoordSeq (geos_ring); GEOSCoordSeq_getDimensions (cs, &dims); GEOSCoordSeq_getSize (cs, &points); -#endif } rng = gaiaAddInteriorRing (pg, ib, points); for (iv = 0; iv < (int) points; iv++) { if (dims == 3) @@ -2077,15 +1885,13 @@ GEOSCoordSeq_getZ_r (handle, cs, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); GEOSCoordSeq_getZ (cs, iv, &z); -#endif } } else { if (handle != NULL) @@ -2095,14 +1901,12 @@ GEOSCoordSeq_getY_r (handle, cs, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); -#endif } z = 0.0; } if (dimension_model == GAIA_XY_Z) { Index: src/gaiageo/gg_gml.c ================================================================== --- src/gaiageo/gg_gml.c +++ src/gaiageo/gg_gml.c @@ -1,10 +1,10 @@ /* gg_gml.c -- GML parser/lexer - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2011-2015 +Portions created by the Initial Developer are Copyright (C) 2011-2013 the Initial Developer. All Rights Reserved. Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), @@ -659,11 +659,11 @@ *p = malloc (len + 1); strcpy (*p, str); } static int -gml_get_srid (gmlNodePtr node) +guessGmlSrid (gmlNodePtr node) { /* attempting to guess the SRID */ int len; gmlAttrPtr attr = node->Attributes; while (attr) @@ -708,235 +708,26 @@ } return -1; } static int -guessGmlSrid (gmlNodePtr node) +gml_get_srsDimension (gmlNodePtr node) { -/* attempting to guess the SRID */ - int srid = -1; - gmlNodePtr n = node; - while (n) - { - /* looping on GML Members */ - srid = gml_get_srid (n); - if (srid >= 0) - return srid; - n = n->Next; - } - return srid; -} - -static int -gml_get_dimension (gmlNodePtr node) -{ -/* attempting to establish if there is a Z coordinate */ +/* attempting to establis if there is a Z coordinate */ gmlAttrPtr attr = node->Attributes; while (attr) { if (strcmp (attr->Key, "srsDimension") == 0) { if (atoi (attr->Value) == 3) - return 3; + return 1; else - return 2; - } - if (strcmp (attr->Key, "dimension") == 0) - { - if (atoi (attr->Value) == 3) - return 3; - else - return 2; + return 0; } attr = attr->Next; } - return -1; -} - -static int -gml_check_coord (const char *value) -{ -/* checking a GML coordinate */ - int decimal = 0; - int exp = 0; - int expsign = 0; - const char *p = value; - if (*p == '+' || *p == '-') - p++; - while (*p != '\0') - { - if (*p == '.') - { - if (!decimal) - decimal = 1; - else - return 0; - } - else if (*p >= '0' && *p <= '9') - ; - else if (*p == 'e' || *p == 'E') - exp++; - else if (*p == '+' || *p == '-') - { - if (!exp) - return 0; - expsign++; - } - else - return 0; - p++; - } - if (exp > 1 || expsign > 1) - return 0; - return 1; -} - -static int -gml_check_coords (const char *value) -{ -/* extracting GML v2.x coords from a comma-separated string */ - const char *in = value; - int count = 0; - char buf[1024]; - char *out = buf; - *out = '\0'; - - while (*in != '\0') - { - if (*in == ',') - { - *out = '\0'; - if (*buf != '\0') - { - if (!gml_check_coord (buf)) - return 0; - switch (count) - { - case 0: - count += 1; - break; - case 1: - count += 1; - break; - case 2: - count += 1; - break; - default: - count += 1; - break; - }; - } - in++; - out = buf; - *out = '\0'; - continue; - } - *out++ = *in++; - } - *out = '\0'; -/* parsing the last item */ - if (*buf != '\0') - { - if (!gml_check_coord (buf)) - return 0; - switch (count) - { - case 0: - count += 1; - break; - case 1: - count += 1; - break; - case 2: - count += 1; - break; - default: - count += 1; - break; - }; - } - if (count == 2 || count == 3) - return count; - return -1; -} - -static int -gml_check_point_v2 (gmlCoordPtr coord) -{ -/* Dimensions for GML v2.x [Point] */ - int count = 0; - gmlCoordPtr c = coord; - while (c) - { - count = gml_check_coords (c->Value); - if (count == 2 || count == 3) - return count; - c = c->Next; - } - return -1; -} - -static int -gml_check_point_v3 (gmlCoordPtr coord) -{ -/* Dimensions for GML v2.x [Point] */ - int count = 0; - gmlCoordPtr c = coord; - while (c) - { - if (!gml_check_coord (c->Value)) - return 0; - switch (count) - { - case 0: - count++; - break; - case 1: - count++; - break; - case 2: - count++; - break; - default: - count++; - break; - }; - c = c->Next; - } - if (count == 2 || count == 3) - return count; - return -1; -} - -static int -guessGmlDimensions (gmlNodePtr node) -{ - int dims = -1; - gmlNodePtr n = node; - while (n) - { - /* looping on GML Members */ - dims = gml_get_dimension (n); - if (dims == 2 || dims == 3) - return dims; - - if (strcmp (n->Tag, "gml:coordinates") == 0 - || strcmp (n->Tag, "coordinates") == 0) - { - dims = gml_check_point_v2 (n->Coordinates); - if (dims == 2 || dims == 3) - return dims; - } - if (strcmp (n->Tag, "gml:pos") == 0 || strcmp (n->Tag, "pos") == 0) - { - dims = gml_check_point_v3 (n->Coordinates); - if (dims == 2 || dims == 3) - return dims; - } - n = n->Next; - } - return 2; + return 0; } static int guessGmlGeometryType (gmlNodePtr node) { @@ -974,10 +765,36 @@ type = GAIA_GML_MULTIGEOMETRY; if (strcmp (node->Tag, "gml:Box") == 0 || strcmp (node->Tag, "Box") == 0) type = GAIA_GML_BOX; return type; } + +static int +gml_check_coord (const char *value) +{ +/* checking a GML coordinate */ + int decimal = 0; + const char *p = value; + if (*p == '+' || *p == '-') + p++; + while (*p != '\0') + { + if (*p == '.') + { + if (!decimal) + decimal = 1; + else + return 0; + } + else if (*p >= '0' && *p <= '9') + ; + else + return 0; + p++; + } + return 1; +} static int gml_extract_coords (const char *value, double *x, double *y, double *z, int *count) { @@ -1049,11 +866,12 @@ } return 1; } static int -gml_parse_point_v2 (gmlCoordPtr coord, double *x, double *y, double *z) +gml_parse_point_v2 (gmlCoordPtr coord, double *x, double *y, double *z, + int *has_z) { /* parsing GML v2.x [Point] */ int count = 0; gmlCoordPtr c = coord; while (c) @@ -1062,20 +880,24 @@ return 0; c = c->Next; } if (count == 2) { - *z = 0.0; + *has_z = 0; return 1; } if (count == 3) - return 1; + { + *has_z = 1; + return 1; + } return 0; } static int -gml_parse_point_v3 (gmlCoordPtr coord, double *x, double *y, double *z) +gml_parse_point_v3 (gmlCoordPtr coord, double *x, double *y, double *z, + int *has_z) { /* parsing GML v2.x [Point] */ int count = 0; gmlCoordPtr c = coord; while (c) @@ -1102,39 +924,38 @@ }; c = c->Next; } if (count == 2) { - *z = 0.0; + *has_z = 0; return 1; } if (count == 3) - return 1; + { + *has_z = 1; + return 1; + } return 0; } static int gml_parse_point (struct gml_data *p_data, gaiaGeomCollPtr geom, gmlNodePtr node, - gmlNodePtr * next) + int srid, gmlNodePtr * next) { /* parsing a */ - int srid = geom->Srid; - int has_z = 0; double x; double y; double z; + int has_z; gaiaGeomCollPtr pt; gaiaGeomCollPtr last; - if (geom->DimensionModel == GAIA_XY_Z - || geom->DimensionModel == GAIA_XY_Z_M) - has_z = 1; if (strcmp (node->Tag, "gml:coordinates") == 0 || strcmp (node->Tag, "coordinates") == 0) { /* parsing a GML v.2.x */ - if (!gml_parse_point_v2 (node->Coordinates, &x, &y, &z)) + if (!gml_parse_point_v2 (node->Coordinates, &x, &y, &z, &has_z)) return 0; node = node->Next; if (node == NULL) return 0; if (strcmp (node->Tag, "gml:coordinates") == 0 @@ -1154,11 +975,11 @@ goto ok; } if (strcmp (node->Tag, "gml:pos") == 0 || strcmp (node->Tag, "pos") == 0) { /* parsing a GML v.3.x */ - if (!gml_parse_point_v3 (node->Coordinates, &x, &y, &z)) + if (!gml_parse_point_v3 (node->Coordinates, &x, &y, &z, &has_z)) return 0; node = node->Next; if (node == NULL) return 0; if (strcmp (node->Tag, "gml:pos") == 0 @@ -1346,11 +1167,10 @@ gml_add_point_to_line (dyn, x, y); count = 0; } else if (count == 3) { - *has_z = 1; gml_add_point_to_lineZ (dyn, x, y, z); count = 0; } else return 0; @@ -1366,12 +1186,10 @@ int count = 0; double x = 0.0; double y = 0.0; double z = 0.0; gmlCoordPtr c = coord; - if (has_z < 0) - has_z = 0; while (c) { if (!gml_check_coord (c->Value)) return 0; if (!has_z) @@ -1414,14 +1232,16 @@ return 0; return 1; } static int -gml_parse_pos_chain (gmlNodePtr * xnode, gaiaDynamicLinePtr dyn, int has_z) +gml_parse_pos_chain (gmlNodePtr * xnode, gaiaDynamicLinePtr dyn, int *x_has_z) { /* parsing a chain of gml:pos elements */ + int has_z; int error = 0; + int dim_3d = 0; double x; double y; double z; int count = 0; gmlNodePtr last_node = *xnode; @@ -1431,14 +1251,17 @@ if (strcmp (node->Tag, "gml:pos") == 0 || strcmp (node->Tag, "pos") == 0) ; else break; - if (!gml_parse_point_v3 (node->Coordinates, &x, &y, &z)) + if (!gml_parse_point_v3 (node->Coordinates, &x, &y, &z, &has_z)) return 0; if (has_z) - gml_add_point_to_lineZ (dyn, x, y, z); + { + gml_add_point_to_lineZ (dyn, x, y, z); + dim_3d = 1; + } else gml_add_point_to_line (dyn, x, y); node = node->Next; if (strcmp (node->Tag, "gml:pos") == 0 || strcmp (node->Tag, "pos") == 0) @@ -1452,10 +1275,11 @@ node = node->Next; } if (count >= 2 && error == 0) { /* valid sequence found */ + *x_has_z = dim_3d; *xnode = last_node; return 1; } return 0; } @@ -1571,26 +1395,22 @@ return 0; } static int gml_parse_linestring (struct gml_data *p_data, gaiaGeomCollPtr geom, - gmlNodePtr node, gmlNodePtr * next) + gmlNodePtr node, int srid, gmlNodePtr * next) { /* parsing a */ - int srid = geom->Srid; - int has_z = 0; gaiaGeomCollPtr ln; gaiaGeomCollPtr last; gaiaLinestringPtr new_ln; gaiaPointPtr pt; int iv; + int has_z = 1; int points = 0; gaiaDynamicLinePtr dyn = gaiaAllocDynamicLine (); gmlMapDynAlloc (p_data, GML_DYN_DYNLINE, dyn); - if (geom->DimensionModel == GAIA_XY_Z - || geom->DimensionModel == GAIA_XY_Z_M) - has_z = 1; if (strcmp (node->Tag, "gml:coordinates") == 0 || strcmp (node->Tag, "coordinates") == 0) { /* parsing a GML v.2.x */ @@ -1617,10 +1437,11 @@ } if (strcmp (node->Tag, "gml:posList") == 0 || strcmp (node->Tag, "posList") == 0) { /* parsing a GML v.3.x */ + has_z = gml_get_srsDimension (node); if (!gml_parse_posList (node->Coordinates, dyn, has_z)) goto error; node = node->Next; if (node == NULL) goto error; @@ -1642,11 +1463,11 @@ } if (strcmp (node->Tag, "gml:pos") == 0 || strcmp (node->Tag, "pos") == 0) { /* parsing a GML v.3.x */ gmlNodePtr node2 = node; - if (!gml_parse_pos_chain (&node2, dyn, has_z)) + if (!gml_parse_pos_chain (&node2, dyn, &has_z)) goto error; node = node2->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:LineString") == 0 @@ -1712,26 +1533,22 @@ return 0; } static int gml_parse_curve (struct gml_data *p_data, gaiaGeomCollPtr geom, gmlNodePtr node, - gmlNodePtr * next) + int srid, gmlNodePtr * next) { /* parsing a */ - int srid = geom->Srid; - int has_z = 0; gaiaGeomCollPtr ln; gaiaGeomCollPtr last; gaiaLinestringPtr new_ln; gaiaPointPtr pt; int iv; + int has_z = 1; int points = 0; gaiaDynamicLinePtr dyn = gaiaAllocDynamicLine (); gmlMapDynAlloc (p_data, GML_DYN_DYNLINE, dyn); - if (geom->DimensionModel == GAIA_XY_Z - || geom->DimensionModel == GAIA_XY_Z_M) - has_z = 1; if (strcmp (node->Tag, "gml:segments") == 0 || strcmp (node->Tag, "segments") == 0) { /* parsing a GML v.3.x */ @@ -1748,10 +1565,11 @@ goto error; if (strcmp (node->Tag, "gml:posList") == 0 || strcmp (node->Tag, "posList") == 0) { /* parsing a GML v.3.x */ + has_z = gml_get_srsDimension (node); if (!gml_parse_posList (node->Coordinates, dyn, has_z)) goto error; node = node->Next; if (node == NULL) goto error; @@ -1765,11 +1583,11 @@ else if (strcmp (node->Tag, "gml:pos") == 0 || strcmp (node->Tag, "pos") == 0) { /* parsing a GML v.3.x */ gmlNodePtr node2 = node; - if (!gml_parse_pos_chain (&node2, dyn, has_z)) + if (!gml_parse_pos_chain (&node2, dyn, &has_z)) goto error; node = node2; if (node == NULL) goto error; } @@ -1856,116 +1674,18 @@ gmlMapDynClean (p_data, dyn); gaiaFreeDynamicLine (dyn); return 0; } -static int -gml_parse_alt_ring (gmlNodePtr node, - int has_z, gmlNodePtr * next, gaiaDynamicLinePtr dyn) -{ -/* alternative Ring syntax */ - if (strcmp (node->Tag, "gml:Ring") == 0 || strcmp (node->Tag, "Ring") == 0) - { - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:curveMember") == 0 - || strcmp (node->Tag, "curveMember") == 0) - ; - else - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:Curve") == 0 - || strcmp (node->Tag, "Curve") == 0) - ; - else - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:segments") == 0 - || strcmp (node->Tag, "segments") == 0) - { - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:LineStringSegment") == 0 - || strcmp (node->Tag, "LineStringSegment") == 0) - ; - else - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:posList") == 0 - || strcmp (node->Tag, "posList") == 0) - { - if (!gml_parse_posList (node->Coordinates, dyn, has_z)) - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:posList") == 0 - || strcmp (node->Tag, "posList") == 0) - ; - else - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:LineStringSegment") == 0 - || strcmp (node->Tag, "LineStringSegment") == 0) - ; - else - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:segments") == 0 - || strcmp (node->Tag, "segments") == 0) - ; - else - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:Curve") == 0 - || strcmp (node->Tag, "Curve") == 0) - ; - else - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:curveMember") == 0 - || strcmp (node->Tag, "curveMember") == 0) - ; - else - return 0; - node = node->Next; - if (node == NULL) - return 0; - if (strcmp (node->Tag, "gml:Ring") == 0 - || strcmp (node->Tag, "Ring") == 0) - *next = node; - return 1; - } - - } - } - return 0; -} - static gaiaDynamicLinePtr gml_parse_ring (struct gml_data *p_data, gmlNodePtr node, int *interior, - int has_z, gmlNodePtr * next) + int *has_z, gmlNodePtr * next) { /* parsing a generic GML ring */ gaiaDynamicLinePtr dyn = gaiaAllocDynamicLine (); gmlMapDynAlloc (p_data, GML_DYN_DYNLINE, dyn); + *has_z = 1; if (strcmp (node->Tag, "gml:outerBoundaryIs") == 0 || strcmp (node->Tag, "outerBoundaryIs") == 0) { /* parsing a GML v.2.x */ @@ -1982,11 +1702,11 @@ goto error; if (strcmp (node->Tag, "gml:coordinates") == 0 || strcmp (node->Tag, "coordinates") == 0) { /* parsing a GML v.2.x */ - if (!gml_parse_coordinates (node->Coordinates, dyn, &has_z)) + if (!gml_parse_coordinates (node->Coordinates, dyn, has_z)) goto error; node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:coordinates") == 0 @@ -1997,11 +1717,12 @@ } else if (strcmp (node->Tag, "gml:posList") == 0 || strcmp (node->Tag, "posList") == 0) { /* parsing a GML v.3.x */ - if (!gml_parse_posList (node->Coordinates, dyn, has_z)) + *has_z = gml_get_srsDimension (node); + if (!gml_parse_posList (node->Coordinates, dyn, *has_z)) goto error; node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:posList") == 0 @@ -2060,11 +1781,11 @@ goto error; if (strcmp (node->Tag, "gml:coordinates") == 0 || strcmp (node->Tag, "coordinates") == 0) { /* parsing a GML v.2.x */ - if (!gml_parse_coordinates (node->Coordinates, dyn, &has_z)) + if (!gml_parse_coordinates (node->Coordinates, dyn, has_z)) goto error; node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:coordinates") == 0 @@ -2075,11 +1796,12 @@ } else if (strcmp (node->Tag, "gml:posList") == 0 || strcmp (node->Tag, "posList") == 0) { /* parsing a GML v.3.x */ - if (!gml_parse_posList (node->Coordinates, dyn, has_z)) + *has_z = gml_get_srsDimension (node); + if (!gml_parse_posList (node->Coordinates, dyn, *has_z)) goto error; node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:posList") == 0 @@ -2129,32 +1851,21 @@ if (node == NULL) goto error; if (strcmp (node->Tag, "gml:LinearRing") == 0 || strcmp (node->Tag, "LinearRing") == 0) ; - else if (strcmp (node->Tag, "gml:Ring") == 0 - || strcmp (node->Tag, "Ring") == 0) - { - if (gml_parse_alt_ring (node, has_z, next, dyn)) - { - *interior = 0; - node = *next; - goto ex_exterior; - } - else - goto error; - } else goto error; node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:posList") == 0 || strcmp (node->Tag, "posList") == 0) { /* parsing a GML v.3.x */ - if (!gml_parse_posList (node->Coordinates, dyn, has_z)) + *has_z = gml_get_srsDimension (node); + if (!gml_parse_posList (node->Coordinates, dyn, *has_z)) goto error; node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:posList") == 0 @@ -2182,11 +1893,10 @@ if (strcmp (node->Tag, "gml:LinearRing") == 0 || strcmp (node->Tag, "LinearRing") == 0) ; else goto error; - ex_exterior: node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:exterior") == 0 || strcmp (node->Tag, "exterior") == 0) @@ -2205,32 +1915,21 @@ if (node == NULL) goto error; if (strcmp (node->Tag, "gml:LinearRing") == 0 || strcmp (node->Tag, "LinearRing") == 0) ; - else if (strcmp (node->Tag, "gml:Ring") == 0 - || strcmp (node->Tag, "Ring") == 0) - { - if (gml_parse_alt_ring (node, has_z, next, dyn)) - { - *interior = 1; - node = *next; - goto ex_interior; - } - else - goto error; - } else goto error; node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:posList") == 0 || strcmp (node->Tag, "posList") == 0) { /* parsing a GML v.3.x */ - if (!gml_parse_posList (node->Coordinates, dyn, has_z)) + *has_z = gml_get_srsDimension (node); + if (!gml_parse_posList (node->Coordinates, dyn, *has_z)) goto error; node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:posList") == 0 @@ -2258,11 +1957,10 @@ if (strcmp (node->Tag, "gml:LinearRing") == 0 || strcmp (node->Tag, "LinearRing") == 0) ; else goto error; - ex_interior: node = node->Next; if (node == NULL) goto error; if (strcmp (node->Tag, "gml:interior") == 0 || strcmp (node->Tag, "interior") == 0) @@ -2280,46 +1978,41 @@ return 0; } static int gml_parse_polygon (struct gml_data *p_data, gaiaGeomCollPtr geom, - gmlNodePtr node, gmlNodePtr * next_n) + gmlNodePtr node, int srid, gmlNodePtr * next_n) { /* parsing a */ - int srid = geom->Srid; - int has_z = 0; int interior; + int has_z; int inners; int outers; - int points = 0; + int points; int iv; int ib = 0; gaiaGeomCollPtr pg; gaiaGeomCollPtr last_g; gaiaPolygonPtr new_pg; gaiaRingPtr ring; gaiaDynamicLinePtr dyn; gaiaPointPtr pt; - gaiaDynamicLinePtr exterior_ring = NULL; + gaiaDynamicLinePtr exterior_ring; gmlNodePtr next; gmlDynamicRingPtr dyn_rng; gmlDynamicPolygonPtr dyn_pg = gml_alloc_dyn_polygon (p_data); gmlNodePtr n = node; - if (geom->DimensionModel == GAIA_XY_Z - || geom->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - while (n) { /* looping on rings */ if (strcmp (n->Tag, "gml:Polygon") == 0 || strcmp (n->Tag, "Polygon") == 0) { *next_n = n->Next; break; } - dyn = gml_parse_ring (p_data, n, &interior, has_z, &next); + dyn = gml_parse_ring (p_data, n, &interior, &has_z, &next); if (dyn == NULL) goto error; if (gml_count_dyn_points (dyn) < 4) { /* cannot be a valid ring */ @@ -2347,14 +2040,17 @@ n = next; } /* ok, GML nodes match as expected */ inners = 0; outers = 0; + has_z = 1; dyn_rng = dyn_pg->first; while (dyn_rng) { /* verifying the rings collection */ + if (dyn_rng->has_z == 0) + has_z = 0; if (dyn_rng->interior) inners++; else { outers++; @@ -2465,15 +2161,15 @@ static int gml_parse_multi_point (struct gml_data *p_data, gaiaGeomCollPtr geom, gmlNodePtr node) { /* parsing a */ + int srid; int pts; gmlNodePtr n2; gmlNodePtr next; gmlNodePtr n = node; - while (n) { /* looping on Point Members */ if (n->Next == NULL) { @@ -2502,14 +2198,15 @@ else { n = n2; break; } + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_point (p_data, geom, n2, &next)) + if (!gml_parse_point (p_data, geom, n2, srid, &next)) return 0; n2 = next; if (n2 == NULL) return 0; pts++; @@ -2531,15 +2228,15 @@ static int gml_parse_multi_linestring (struct gml_data *p_data, gaiaGeomCollPtr geom, gmlNodePtr node) { /* parsing a */ + int srid; int lns; gmlNodePtr n2; gmlNodePtr next; gmlNodePtr n = node; - while (n) { /* looping on LineString Members */ if (n->Next == NULL) { @@ -2568,14 +2265,15 @@ else { n = n2; break; } + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_linestring (p_data, geom, n2, &next)) + if (!gml_parse_linestring (p_data, geom, n2, srid, &next)) return 0; n2 = next; if (n2 == NULL) return 0; lns++; @@ -2597,15 +2295,15 @@ static int gml_parse_multi_curve (struct gml_data *p_data, gaiaGeomCollPtr geom, gmlNodePtr node) { /* parsing a */ + int srid; int lns; gmlNodePtr n2; gmlNodePtr next; gmlNodePtr n = node; - while (n) { /* looping on Curve Members */ if (n->Next == NULL) { @@ -2626,35 +2324,23 @@ n2 = n->Next; lns = 0; while (n2) { /* looping on Curve(s) */ - if (strcmp (n2->Tag, "gml:LineString") == 0 - || strcmp (n2->Tag, "LineString") == 0) - { - n2 = n2->Next; - if (n2 == NULL) - return 0; - if (!gml_parse_linestring (p_data, geom, n2, &next)) - return 0; - n2 = next; - if (n2 == NULL) - return 0; - lns++; - } if (strcmp (n2->Tag, "gml:Curve") == 0 || strcmp (n2->Tag, "Curve") == 0) ; else { n = n2; break; } + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_curve (p_data, geom, n2, &next)) + if (!gml_parse_curve (p_data, geom, n2, srid, &next)) return 0; n2 = next; if (n2 == NULL) return 0; lns++; @@ -2676,15 +2362,15 @@ static int gml_parse_multi_polygon (struct gml_data *p_data, gaiaGeomCollPtr geom, gmlNodePtr node) { /* parsing a */ + int srid; int pgs; gmlNodePtr n2; gmlNodePtr next; gmlNodePtr n = node; - while (n) { /* looping on Polygon Members */ if (n->Next == NULL) { @@ -2713,14 +2399,15 @@ else { n = n2; break; } + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_polygon (p_data, geom, n2, &next)) + if (!gml_parse_polygon (p_data, geom, n2, srid, &next)) return 0; n2 = next; if (n2 == NULL) return 0; pgs++; @@ -2742,15 +2429,15 @@ static int gml_parse_multi_surface (struct gml_data *p_data, gaiaGeomCollPtr geom, gmlNodePtr node) { /* parsing a */ + int srid; int pgs; gmlNodePtr n2; gmlNodePtr next; gmlNodePtr n = node; - while (n) { /* looping on Surface Members */ if (n->Next == NULL) { @@ -2779,14 +2466,15 @@ else { n = n2; break; } + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_polygon (p_data, geom, n2, &next)) + if (!gml_parse_polygon (p_data, geom, n2, srid, &next)) return 0; n2 = next; if (n2 == NULL) return 0; pgs++; @@ -2808,15 +2496,15 @@ static int gml_parse_multi_geometry (struct gml_data *p_data, gaiaGeomCollPtr geom, gmlNodePtr node) { /* parsing a */ + int srid; int elems; gmlNodePtr n2; gmlNodePtr next; gmlNodePtr n = node; - while (n) { /* looping on Geometry Members */ if (n->Next == NULL) { @@ -2840,44 +2528,48 @@ { /* looping on elements */ if (strcmp (n2->Tag, "gml:Point") == 0 || strcmp (n2->Tag, "Point") == 0) { + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_point (p_data, geom, n2, &next)) + if (!gml_parse_point (p_data, geom, n2, srid, &next)) return 0; n2 = next; } else if (strcmp (n2->Tag, "gml:LineString") == 0 || strcmp (n2->Tag, "LineString") == 0) { + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_linestring (p_data, geom, n2, &next)) + if (!gml_parse_linestring (p_data, geom, n2, srid, &next)) return 0; n2 = next; } else if (strcmp (n2->Tag, "gml:Curve") == 0 || strcmp (n2->Tag, "Curve") == 0) { + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_curve (p_data, geom, n2, &next)) + if (!gml_parse_curve (p_data, geom, n2, srid, &next)) return 0; n2 = next; } else if (strcmp (n2->Tag, "gml:Polygon") == 0 || strcmp (n2->Tag, "Polygon") == 0) { + srid = guessGmlSrid (n2); n2 = n2->Next; if (n2 == NULL) return 0; - if (!gml_parse_polygon (p_data, geom, n2, &next)) + if (!gml_parse_polygon (p_data, geom, n2, srid, &next)) return 0; n2 = next; } else { @@ -3677,11 +3369,10 @@ { /* attempting to build a geometry from GML nodes */ gaiaGeomCollPtr geom; gaiaGeomCollPtr result; int geom_type; - int dims = 2; gmlNodePtr next; if (tree == NULL) return NULL; geom_type = guessGmlGeometryType (tree); @@ -3688,40 +3379,36 @@ if (geom_type == GAIA_GML_UNKNOWN) { /* unsupported main geometry type */ return NULL; } - /* creating the main geometry */ - dims = guessGmlDimensions (tree); - if (dims == 2) - geom = gaiaAllocGeomColl (); - else - geom = gaiaAllocGeomCollXYZ (); + geom = gaiaAllocGeomColl (); geom->Srid = guessGmlSrid (tree); switch (geom_type) { /* parsing GML nodes accordingly with declared GML type */ case GAIA_GML_POINT: geom->DeclaredType = GAIA_POINT; - if (!gml_parse_point (p_data, geom, tree->Next, &next)) + if (!gml_parse_point (p_data, geom, tree->Next, geom->Srid, &next)) goto error; break; case GAIA_GML_LINESTRING: geom->DeclaredType = GAIA_LINESTRING; - if (!gml_parse_linestring (p_data, geom, tree->Next, &next)) + if (!gml_parse_linestring + (p_data, geom, tree->Next, geom->Srid, &next)) goto error; break; case GAIA_GML_CURVE: geom->DeclaredType = GAIA_LINESTRING; - if (!gml_parse_curve (p_data, geom, tree->Next, &next)) + if (!gml_parse_curve (p_data, geom, tree->Next, geom->Srid, &next)) goto error; break; case GAIA_GML_POLYGON: geom->DeclaredType = GAIA_POLYGON; - if (!gml_parse_polygon (p_data, geom, tree->Next, &next)) + if (!gml_parse_polygon (p_data, geom, tree->Next, geom->Srid, &next)) goto error; if (next != NULL) goto error; break; case GAIA_GML_MULTIPOINT: @@ -3835,11 +3522,11 @@ break; } tokens->Next = malloc (sizeof (gmlFlexToken)); tokens->Next->Next = NULL; gml_xferString (&(tokens->Next->value), str_data.GmlLval.pval); - /* Pass the token to the GML parser created from lemon */ + /* Pass the token to the wkt parser created from lemon */ Parse (pParser, yv, &(tokens->Next->value), &str_data); tokens = tokens->Next; } /* This denotes the end of a line as well as the end of the parser */ Parse (pParser, GML_NEWLINE, 0, &str_data); Index: src/gaiageo/gg_kml.c ================================================================== --- src/gaiageo/gg_kml.c +++ src/gaiageo/gg_kml.c @@ -1,10 +1,10 @@ /* gg_kml.c -- KML parser/lexer - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2011-2015 +Portions created by the Initial Developer are Copyright (C) 2011-2013 the Initial Developer. All Rights Reserved. Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), @@ -668,12 +668,10 @@ static int kml_check_coord (const char *value) { /* checking a KML coordinate */ int decimal = 0; - int exp = 0; - int expsign = 0; const char *p = value; if (*p == '+' || *p == '-') p++; while (*p != '\0') { @@ -684,24 +682,14 @@ else return 0; } else if (*p >= '0' && *p <= '9') ; - else if (*p == 'e' || *p == 'E') - exp++; - else if (*p == '+' || *p == '-') - { - if (!exp) - return 0; - expsign++; - } else return 0; p++; } - if (exp > 1 || expsign > 1) - return 0; return 1; } static int kml_extract_coords (const char *value, double *x, double *y, double *z, @@ -1227,20 +1215,20 @@ /* parsing a */ int interior; int has_z; int inners; int outers; - int points = 0; + int points; int iv; int ib = 0; gaiaGeomCollPtr pg; gaiaGeomCollPtr last_g; gaiaPolygonPtr new_pg; gaiaRingPtr ring; gaiaDynamicLinePtr dyn; gaiaPointPtr pt; - gaiaDynamicLinePtr exterior_ring = NULL; + gaiaDynamicLinePtr exterior_ring; kmlNodePtr next; kmlDynamicRingPtr dyn_rng; kmlDynamicPolygonPtr dyn_pg = kml_alloc_dyn_polygon (p_data); kmlNodePtr n = node; while (n) @@ -1459,11 +1447,11 @@ int pts = 0; int lns = 0; int pgs = 0; gaiaPointPtr pt; gaiaLinestringPtr ln; - gaiaPolygonPtr pg = NULL; + gaiaPolygonPtr pg; gaiaPointPtr save_pt = NULL; gaiaLinestringPtr save_ln = NULL; gaiaPolygonPtr save_pg = NULL; gaiaRingPtr i_ring; gaiaRingPtr o_ring; ADDED src/gaiageo/gg_lwgeom.c Index: src/gaiageo/gg_lwgeom.c ================================================================== --- src/gaiageo/gg_lwgeom.c +++ src/gaiageo/gg_lwgeom.c @@ -0,0 +1,2425 @@ +/* + + gg_lwgeom.c -- Gaia LWGEOM support + + version 4.2, 2014 July 25 + + Author: Sandro Furieri a.furieri@lqt.it + + ------------------------------------------------------------------------------ + + Version: MPL 1.1/GPL 2.0/LGPL 2.1 + + The contents of this file are subject to the Mozilla Public License Version + 1.1 (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + http://www.mozilla.org/MPL/ + +Software distributed under the License is distributed on an "AS IS" basis, +WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +for the specific language governing rights and limitations under the +License. + +The Original Code is the SpatiaLite library + +The Initial Developer of the Original Code is Alessandro Furieri + +Portions created by the Initial Developer are Copyright (C) 2012-2013 +the Initial Developer. All Rights Reserved. + +Contributor(s): + +Alternatively, the contents of this file may be used under the terms of +either the GNU General Public License Version 2 or later (the "GPL"), or +the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +in which case the provisions of the GPL or the LGPL are applicable instead +of those above. If you wish to allow use of your version of this file only +under the terms of either the GPL or the LGPL, and not to allow others to +use your version of this file under the terms of the MPL, indicate your +decision by deleting the provisions above and replace them with the notice +and other provisions required by the GPL or the LGPL. If you do not delete +the provisions above, a recipient may use your version of this file under +the terms of any one of the MPL, the GPL or the LGPL. + +*/ + +/* + +CREDITS: + +this module (wrapping liblwgeom APIs) has been entierely funded by: +Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale + +*/ + +#include +#include +#include +#include +#include + +#if defined(_WIN32) && !defined(__MINGW32__) +#include "config-msvc.h" +#else +#include "config.h" +#endif + +#include +#include +#include +#include + +#include + +#ifdef ENABLE_LWGEOM /* enabling LWGEOM support */ + +#include + +/* GLOBAL variables */ +char *gaia_lwgeom_error_msg = NULL; +char *gaia_lwgeom_warning_msg = NULL; + +const char splitelwgeomversion[] = LIBLWGEOM_VERSION; + +SPATIALITE_PRIVATE const char * +splite_lwgeom_version (void) +{ + return splitelwgeomversion; +} + +static void +lwgaia_noticereporter (const char *fmt, va_list ap) +{ + char *msg; + if (!lw_vasprintf (&msg, fmt, ap)) + { + va_end (ap); + return; + } + spatialite_e ("LWGEOM notice: %s\n", msg); + gaiaSetLwGeomWarningMsg (msg); + free (msg); +} + +static void +lwgaia_errorreporter (const char *fmt, va_list ap) +{ + char *msg; + if (!lw_vasprintf (&msg, fmt, ap)) + { + va_end (ap); + return; + } + spatialite_e ("LWGEOM error: %s\n", msg); + gaiaSetLwGeomErrorMsg (msg); + free (msg); +} + +#ifndef POSTGIS_2_1 +/* liblwgeom initializion function: required by PostGIS 2.0.x */ +void +lwgeom_init_allocators (void) +{ +/* Set up liblwgeom to run in stand-alone mode using the +* usual system memory handling functions. */ + lwalloc_var = default_allocator; + lwrealloc_var = default_reallocator; + lwfree_var = default_freeor; + lwnotice_var = lwgaia_noticereporter; + lwerror_var = lwgaia_errorreporter; +} +#else +/* liblwgeom initialization function: required by PostGIS 2.1.x */ +SPATIALITE_PRIVATE void +splite_lwgeom_init (void) +{ + lwgeom_set_handlers (NULL, NULL, NULL, lwgaia_errorreporter, + lwgaia_noticereporter); +} +#endif + +GAIAGEO_DECLARE void +gaiaResetLwGeomMsg () +{ +/* resets the LWGEOM error and warning messages */ + if (gaia_lwgeom_error_msg != NULL) + free (gaia_lwgeom_error_msg); + if (gaia_lwgeom_warning_msg != NULL) + free (gaia_lwgeom_warning_msg); + gaia_lwgeom_error_msg = NULL; + gaia_lwgeom_warning_msg = NULL; +} + +GAIAGEO_DECLARE const char * +gaiaGetLwGeomErrorMsg () +{ +/* setting the latest LWGEOM error message */ + return gaia_lwgeom_error_msg; +} + +GAIAGEO_DECLARE const char * +gaiaGetLwGeomWarningMsg () +{ +/* return the latest LWGEOM error message */ + return gaia_lwgeom_warning_msg; +} + +GAIAGEO_DECLARE void +gaiaSetLwGeomErrorMsg (const char *msg) +{ +/* setting the latest LWGEOM error message */ + int len; + if (gaia_lwgeom_error_msg != NULL) + free (gaia_lwgeom_error_msg); + gaia_lwgeom_error_msg = NULL; + if (msg == NULL) + return; + len = strlen (msg); + gaia_lwgeom_error_msg = malloc (len + 1); + strcpy (gaia_lwgeom_error_msg, msg); +} + +GAIAGEO_DECLARE void +gaiaSetLwGeomWarningMsg (const char *msg) +{ +/* return the latest LWGEOM error message */ + int len; + if (gaia_lwgeom_warning_msg != NULL) + free (gaia_lwgeom_warning_msg); + gaia_lwgeom_warning_msg = NULL; + if (msg == NULL) + return; + len = strlen (msg); + gaia_lwgeom_warning_msg = malloc (len + 1); + strcpy (gaia_lwgeom_warning_msg, msg); +} + +static int +check_unclosed_ring (gaiaRingPtr rng) +{ +/* checks if a Ring is closed or not */ + double x0; + double y0; + double z0 = 0.0; + double m0 = 0.0; + double x1; + double y1; + double z1 = 0.0; + double m1 = 0.0; + int last = rng->Points - 1; + if (rng->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, 0, &x0, &y0, &z0); + } + else if (rng->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, 0, &x0, &y0, &m0); + } + else if (rng->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, 0, &x0, &y0, &z0, &m0); + } + else + { + gaiaGetPoint (rng->Coords, 0, &x0, &y0); + } + if (rng->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, last, &x1, &y1, &z1); + } + else if (rng->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, last, &x1, &y1, &m1); + } + else if (rng->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, last, &x1, &y1, &z1, &m1); + } + else + { + gaiaGetPoint (rng->Coords, last, &x1, &y1); + } + if (x0 == x1 && y0 == y1 && z0 == z1 && m0 == m1) + return 0; + return 1; +} + +static LWGEOM * +toLWGeom (const gaiaGeomCollPtr gaia) +{ +/* converting a GAIA Geometry into a LWGEOM Geometry */ + int pts = 0; + int lns = 0; + int pgs = 0; + int has_z; + int has_m; + int ngeoms; + int numg; + int ib; + int iv; + int type; + double x = 0.0; + double y = 0.0; + double z = 0.0; + double m = 0.0; + int close_ring; + gaiaPointPtr pt; + gaiaLinestringPtr ln; + gaiaPolygonPtr pg; + gaiaRingPtr rng; + POINTARRAY *pa; + POINTARRAY **ppaa; + POINT4D point; + LWGEOM **geoms; + + if (!gaia) + return NULL; + pt = gaia->FirstPoint; + while (pt) + { + /* counting how many POINTs are there */ + pts++; + pt = pt->Next; + } + ln = gaia->FirstLinestring; + while (ln) + { + /* counting how many LINESTRINGs are there */ + lns++; + ln = ln->Next; + } + pg = gaia->FirstPolygon; + while (pg) + { + /* counting how many POLYGONs are there */ + pgs++; + pg = pg->Next; + } + if (pts == 0 && lns == 0 && pgs == 0) + return NULL; + + if (pts == 1 && lns == 0 && pgs == 0) + { + /* single Point */ + pt = gaia->FirstPoint; + has_z = 0; + has_m = 0; + if (gaia->DimensionModel == GAIA_XY_Z + || gaia->DimensionModel == GAIA_XY_Z_M) + has_z = 1; + if (gaia->DimensionModel == GAIA_XY_M + || gaia->DimensionModel == GAIA_XY_Z_M) + has_m = 1; + pa = ptarray_construct (has_z, has_m, 1); + point.x = pt->X; + point.y = pt->Y; + if (has_z) + point.z = pt->Z; + if (has_m) + point.m = pt->M; + ptarray_set_point4d (pa, 0, &point); + return (LWGEOM *) lwpoint_construct (gaia->Srid, NULL, pa); + } + else if (pts == 0 && lns == 1 && pgs == 0) + { + /* single Linestring */ + ln = gaia->FirstLinestring; + has_z = 0; + has_m = 0; + if (gaia->DimensionModel == GAIA_XY_Z + || gaia->DimensionModel == GAIA_XY_Z_M) + has_z = 1; + if (gaia->DimensionModel == GAIA_XY_M + || gaia->DimensionModel == GAIA_XY_Z_M) + has_m = 1; + pa = ptarray_construct (has_z, has_m, ln->Points); + for (iv = 0; iv < ln->Points; iv++) + { + /* copying vertices */ + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (ln->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (pa, iv, &point); + } + return (LWGEOM *) lwline_construct (gaia->Srid, NULL, pa); + } + else if (pts == 0 && lns == 0 && pgs == 1) + { + /* single Polygon */ + pg = gaia->FirstPolygon; + has_z = 0; + has_m = 0; + if (gaia->DimensionModel == GAIA_XY_Z + || gaia->DimensionModel == GAIA_XY_Z_M) + has_z = 1; + if (gaia->DimensionModel == GAIA_XY_M + || gaia->DimensionModel == GAIA_XY_Z_M) + has_m = 1; + ngeoms = pg->NumInteriors; + ppaa = lwalloc (sizeof (POINTARRAY *) * (ngeoms + 1)); + rng = pg->Exterior; + close_ring = check_unclosed_ring (rng); + if (close_ring) + ppaa[0] = ptarray_construct (has_z, has_m, rng->Points + 1); + else + ppaa[0] = ptarray_construct (has_z, has_m, rng->Points); + for (iv = 0; iv < rng->Points; iv++) + { + /* copying vertices - Exterior Ring */ + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[0], iv, &point); + } + if (close_ring) + { + /* making an unclosed ring to be closed */ + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, 0, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[0], rng->Points, &point); + } + for (ib = 0; ib < pg->NumInteriors; ib++) + { + /* copying vertices - Interior Rings */ + rng = pg->Interiors + ib; + close_ring = check_unclosed_ring (rng); + if (close_ring) + ppaa[1 + ib] = + ptarray_construct (has_z, has_m, rng->Points + 1); + else + ppaa[1 + ib] = + ptarray_construct (has_z, has_m, rng->Points); + for (iv = 0; iv < rng->Points; iv++) + { + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[1 + ib], iv, &point); + } + if (close_ring) + { + /* making an unclosed ring to be closed */ + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, 0, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[1 + ib], rng->Points, &point); + } + } + return (LWGEOM *) lwpoly_construct (gaia->Srid, NULL, ngeoms + 1, + ppaa); + } + else + { + /* some Collection */ + switch (gaia->DeclaredType) + { + case GAIA_POINT: + type = POINTTYPE; + break; + case GAIA_LINESTRING: + type = LINETYPE; + break; + case GAIA_POLYGON: + type = POLYGONTYPE; + break; + case GAIA_MULTIPOINT: + type = MULTIPOINTTYPE; + break; + case GAIA_MULTILINESTRING: + type = MULTILINETYPE; + break; + case GAIA_MULTIPOLYGON: + type = MULTIPOLYGONTYPE; + break; + case GAIA_GEOMETRYCOLLECTION: + type = COLLECTIONTYPE; + break; + default: + if (lns == 0 && pgs == 0) + type = MULTIPOINTTYPE; + else if (pts == 0 && pgs == 0) + type = MULTILINETYPE; + else if (pts == 0 && lns == 0) + type = MULTIPOLYGONTYPE; + else + type = COLLECTIONTYPE; + break; + }; + numg = pts + lns + pgs; + geoms = lwalloc (sizeof (LWGEOM *) * numg); + + numg = 0; + pt = gaia->FirstPoint; + while (pt) + { + /* copying POINTs */ + has_z = 0; + has_m = 0; + if (gaia->DimensionModel == GAIA_XY_Z + || gaia->DimensionModel == GAIA_XY_Z_M) + has_z = 1; + if (gaia->DimensionModel == GAIA_XY_M + || gaia->DimensionModel == GAIA_XY_Z_M) + has_m = 1; + pa = ptarray_construct (has_z, has_m, 1); + point.x = pt->X; + point.y = pt->Y; + if (has_z) + point.z = pt->Z; + if (has_m) + point.m = pt->M; + ptarray_set_point4d (pa, 0, &point); + geoms[numg++] = + (LWGEOM *) lwpoint_construct (gaia->Srid, NULL, pa); + pt = pt->Next; + } + ln = gaia->FirstLinestring; + while (ln) + { + /* copying LINESTRINGs */ + has_z = 0; + has_m = 0; + if (gaia->DimensionModel == GAIA_XY_Z + || gaia->DimensionModel == GAIA_XY_Z_M) + has_z = 1; + if (gaia->DimensionModel == GAIA_XY_M + || gaia->DimensionModel == GAIA_XY_Z_M) + has_m = 1; + pa = ptarray_construct (has_z, has_m, ln->Points); + for (iv = 0; iv < ln->Points; iv++) + { + /* copying vertices */ + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (ln->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (pa, iv, &point); + } + geoms[numg++] = + (LWGEOM *) lwline_construct (gaia->Srid, NULL, pa); + ln = ln->Next; + } + pg = gaia->FirstPolygon; + while (pg) + { + /* copying POLYGONs */ + has_z = 0; + has_m = 0; + if (gaia->DimensionModel == GAIA_XY_Z + || gaia->DimensionModel == GAIA_XY_Z_M) + has_z = 1; + if (gaia->DimensionModel == GAIA_XY_M + || gaia->DimensionModel == GAIA_XY_Z_M) + has_m = 1; + ngeoms = pg->NumInteriors; + ppaa = lwalloc (sizeof (POINTARRAY *) * (ngeoms + 1)); + rng = pg->Exterior; + close_ring = check_unclosed_ring (rng); + if (close_ring) + ppaa[0] = ptarray_construct (has_z, has_m, rng->Points + 1); + else + ppaa[0] = ptarray_construct (has_z, has_m, rng->Points); + for (iv = 0; iv < rng->Points; iv++) + { + /* copying vertices - Exterior Ring */ + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[0], iv, &point); + } + if (close_ring) + { + /* making an unclosed ring to be closed */ + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, 0, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[0], rng->Points, &point); + } + for (ib = 0; ib < pg->NumInteriors; ib++) + { + /* copying vertices - Interior Rings */ + rng = pg->Interiors + ib; + close_ring = check_unclosed_ring (rng); + if (close_ring) + ppaa[1 + ib] = + ptarray_construct (has_z, has_m, rng->Points + 1); + else + ppaa[1 + ib] = + ptarray_construct (has_z, has_m, rng->Points); + for (iv = 0; iv < rng->Points; iv++) + { + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, iv, &x, &y, + &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[1 + ib], iv, &point); + } + if (close_ring) + { + /* making an unclosed ring to be closed */ + if (gaia->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); + } + else if (gaia->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); + } + else if (gaia->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, + &m); + } + else + { + gaiaGetPoint (rng->Coords, 0, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[1 + ib], rng->Points, + &point); + } + } + geoms[numg++] = + (LWGEOM *) lwpoly_construct (gaia->Srid, NULL, ngeoms + 1, + ppaa); + pg = pg->Next; + } + return (LWGEOM *) lwcollection_construct (type, gaia->Srid, NULL, + numg, geoms); + } + return NULL; +} + +static gaiaGeomCollPtr +fromLWGeomIncremental (gaiaGeomCollPtr gaia, const LWGEOM * lwgeom) +{ +/* converting a LWGEOM Geometry into a GAIA Geometry */ + gaiaLinestringPtr ln; + gaiaPolygonPtr pg; + gaiaRingPtr rng; + int dimension_model = gaia->DimensionModel; + int declared_type = gaia->DeclaredType; + LWGEOM *lwg2 = NULL; + LWPOINT *lwp = NULL; + LWLINE *lwl = NULL; + LWPOLY *lwpoly = NULL; + LWCOLLECTION *lwc = NULL; + POINTARRAY *pa; + POINT4D pt4d; + int has_z; + int has_m; + int iv; + int ib; + int ngeoms; + int ng; + double x; + double y; + double z; + double m; + + if (lwgeom == NULL) + return NULL; + if (lwgeom_is_empty (lwgeom)) + return NULL; + + switch (lwgeom->type) + { + case POINTTYPE: + lwp = (LWPOINT *) lwgeom; + has_z = 0; + has_m = 0; + pa = lwp->point; + if (FLAGS_GET_Z (pa->flags)) + has_z = 1; + if (FLAGS_GET_M (pa->flags)) + has_m = 1; + getPoint4d_p (pa, 0, &pt4d); + x = pt4d.x; + y = pt4d.y; + if (has_z) + z = pt4d.z; + else + z = 0.0; + if (has_m) + m = pt4d.m; + else + m = 0.0; + if (dimension_model == GAIA_XY_Z) + gaiaAddPointToGeomCollXYZ (gaia, x, y, z); + else if (dimension_model == GAIA_XY_M) + gaiaAddPointToGeomCollXYM (gaia, x, y, m); + else if (dimension_model == GAIA_XY_Z_M) + gaiaAddPointToGeomCollXYZM (gaia, x, y, z, m); + else + gaiaAddPointToGeomColl (gaia, x, y); + if (declared_type == GAIA_MULTIPOINT) + gaia->DeclaredType = GAIA_MULTIPOINT; + else if (declared_type == GAIA_GEOMETRYCOLLECTION) + gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; + else + gaia->DeclaredType = GAIA_POINT; + break; + case LINETYPE: + lwl = (LWLINE *) lwgeom; + has_z = 0; + has_m = 0; + pa = lwl->points; + if (FLAGS_GET_Z (pa->flags)) + has_z = 1; + if (FLAGS_GET_M (pa->flags)) + has_m = 1; + ln = gaiaAddLinestringToGeomColl (gaia, pa->npoints); + for (iv = 0; iv < pa->npoints; iv++) + { + /* copying LINESTRING vertices */ + getPoint4d_p (pa, iv, &pt4d); + x = pt4d.x; + y = pt4d.y; + if (has_z) + z = pt4d.z; + else + z = 0.0; + if (has_m) + m = pt4d.m; + else + m = 0.0; + if (dimension_model == GAIA_XY_Z) + { + gaiaSetPointXYZ (ln->Coords, iv, x, y, z); + } + else if (dimension_model == GAIA_XY_M) + { + gaiaSetPointXYM (ln->Coords, iv, x, y, m); + } + else if (dimension_model == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (ln->Coords, iv, x, y, z, m); + } + else + { + gaiaSetPoint (ln->Coords, iv, x, y); + } + } + if (declared_type == GAIA_MULTILINESTRING) + gaia->DeclaredType = GAIA_MULTILINESTRING; + else if (declared_type == GAIA_GEOMETRYCOLLECTION) + gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; + else + gaia->DeclaredType = GAIA_LINESTRING; + break; + case POLYGONTYPE: + lwpoly = (LWPOLY *) lwgeom; + has_z = 0; + has_m = 0; + pa = lwpoly->rings[0]; + if (FLAGS_GET_Z (pa->flags)) + has_z = 1; + if (FLAGS_GET_M (pa->flags)) + has_m = 1; + pg = gaiaAddPolygonToGeomColl (gaia, pa->npoints, lwpoly->nrings - 1); + rng = pg->Exterior; + for (iv = 0; iv < pa->npoints; iv++) + { + /* copying Exterion Ring vertices */ + getPoint4d_p (pa, iv, &pt4d); + x = pt4d.x; + y = pt4d.y; + if (has_z) + z = pt4d.z; + else + z = 0.0; + if (has_m) + m = pt4d.m; + else + m = 0.0; + if (dimension_model == GAIA_XY_Z) + { + gaiaSetPointXYZ (rng->Coords, iv, x, y, z); + } + else if (dimension_model == GAIA_XY_M) + { + gaiaSetPointXYM (rng->Coords, iv, x, y, m); + } + else if (dimension_model == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (rng->Coords, iv, x, y, z, m); + } + else + { + gaiaSetPoint (rng->Coords, iv, x, y); + } + } + for (ib = 1; ib < lwpoly->nrings; ib++) + { + has_z = 0; + has_m = 0; + pa = lwpoly->rings[ib]; + if (FLAGS_GET_Z (pa->flags)) + has_z = 1; + if (FLAGS_GET_M (pa->flags)) + has_m = 1; + rng = gaiaAddInteriorRing (pg, ib - 1, pa->npoints); + for (iv = 0; iv < pa->npoints; iv++) + { + /* copying Exterion Ring vertices */ + getPoint4d_p (pa, iv, &pt4d); + x = pt4d.x; + y = pt4d.y; + if (has_z) + z = pt4d.z; + else + z = 0.0; + if (has_m) + m = pt4d.m; + else + m = 0.0; + if (dimension_model == GAIA_XY_Z) + { + gaiaSetPointXYZ (rng->Coords, iv, x, y, z); + } + else if (dimension_model == GAIA_XY_M) + { + gaiaSetPointXYM (rng->Coords, iv, x, y, m); + } + else if (dimension_model == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (rng->Coords, iv, x, y, z, m); + } + else + { + gaiaSetPoint (rng->Coords, iv, x, y); + } + } + } + if (declared_type == GAIA_MULTIPOLYGON) + gaia->DeclaredType = GAIA_MULTIPOLYGON; + else if (declared_type == GAIA_GEOMETRYCOLLECTION) + gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; + else + gaia->DeclaredType = GAIA_POLYGON; + break; + case MULTIPOINTTYPE: + case MULTILINETYPE: + case MULTIPOLYGONTYPE: + case COLLECTIONTYPE: + if (lwgeom->type == MULTIPOINTTYPE) + { + if (declared_type == GAIA_GEOMETRYCOLLECTION) + gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; + else + gaia->DeclaredType = GAIA_MULTIPOINT; + } + else if (lwgeom->type == MULTILINETYPE) + { + if (declared_type == GAIA_GEOMETRYCOLLECTION) + gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; + else + gaia->DeclaredType = GAIA_MULTILINESTRING; + } + else if (lwgeom->type == MULTIPOLYGONTYPE) + { + if (declared_type == GAIA_GEOMETRYCOLLECTION) + gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; + else + gaia->DeclaredType = GAIA_MULTIPOLYGON; + } + else + gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; + + lwc = (LWCOLLECTION *) lwgeom; + ngeoms = lwc->ngeoms; + if (ngeoms == 0) + { + gaiaFreeGeomColl (gaia); + gaia = NULL; + break; + } + for (ng = 0; ng < ngeoms; ++ng) + { + /* looping on elementary geometries */ + lwg2 = lwc->geoms[ng]; + switch (lwg2->type) + { + case POINTTYPE: + lwp = (LWPOINT *) lwg2; + has_z = 0; + has_m = 0; + pa = lwp->point; + if (FLAGS_GET_Z (pa->flags)) + has_z = 1; + if (FLAGS_GET_M (pa->flags)) + has_m = 1; + getPoint4d_p (pa, 0, &pt4d); + x = pt4d.x; + y = pt4d.y; + if (has_z) + z = pt4d.z; + else + z = 0.0; + if (has_m) + m = pt4d.m; + else + m = 0.0; + if (dimension_model == GAIA_XY_Z) + gaiaAddPointToGeomCollXYZ (gaia, x, y, z); + else if (dimension_model == GAIA_XY_M) + gaiaAddPointToGeomCollXYM (gaia, x, y, m); + else if (dimension_model == GAIA_XY_Z_M) + gaiaAddPointToGeomCollXYZM (gaia, x, y, z, m); + else + gaiaAddPointToGeomColl (gaia, x, y); + break; + case LINETYPE: + lwl = (LWLINE *) lwg2; + has_z = 0; + has_m = 0; + pa = lwl->points; + if (FLAGS_GET_Z (pa->flags)) + has_z = 1; + if (FLAGS_GET_M (pa->flags)) + has_m = 1; + ln = gaiaAddLinestringToGeomColl (gaia, pa->npoints); + for (iv = 0; iv < pa->npoints; iv++) + { + /* copying LINESTRING vertices */ + getPoint4d_p (pa, iv, &pt4d); + x = pt4d.x; + y = pt4d.y; + if (has_z) + z = pt4d.z; + else + z = 0.0; + if (has_m) + m = pt4d.m; + else + m = 0.0; + if (dimension_model == GAIA_XY_Z) + { + gaiaSetPointXYZ (ln->Coords, iv, x, y, z); + } + else if (dimension_model == GAIA_XY_M) + { + gaiaSetPointXYM (ln->Coords, iv, x, y, m); + } + else if (dimension_model == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (ln->Coords, iv, x, y, z, m); + } + else + { + gaiaSetPoint (ln->Coords, iv, x, y); + } + } + break; + case POLYGONTYPE: + lwpoly = (LWPOLY *) lwg2; + has_z = 0; + has_m = 0; + pa = lwpoly->rings[0]; + if (FLAGS_GET_Z (pa->flags)) + has_z = 1; + if (FLAGS_GET_M (pa->flags)) + has_m = 1; + pg = gaiaAddPolygonToGeomColl (gaia, pa->npoints, + lwpoly->nrings - 1); + rng = pg->Exterior; + for (iv = 0; iv < pa->npoints; iv++) + { + /* copying Exterion Ring vertices */ + getPoint4d_p (pa, iv, &pt4d); + x = pt4d.x; + y = pt4d.y; + if (has_z) + z = pt4d.z; + else + z = 0.0; + if (has_m) + m = pt4d.m; + else + m = 0.0; + if (dimension_model == GAIA_XY_Z) + { + gaiaSetPointXYZ (rng->Coords, iv, x, y, z); + } + else if (dimension_model == GAIA_XY_M) + { + gaiaSetPointXYM (rng->Coords, iv, x, y, m); + } + else if (dimension_model == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (rng->Coords, iv, x, y, z, + m); + } + else + { + gaiaSetPoint (rng->Coords, iv, x, y); + } + } + for (ib = 1; ib < lwpoly->nrings; ib++) + { + has_z = 0; + has_m = 0; + pa = lwpoly->rings[ib]; + if (FLAGS_GET_Z (pa->flags)) + has_z = 1; + if (FLAGS_GET_M (pa->flags)) + has_m = 1; + rng = gaiaAddInteriorRing (pg, ib - 1, pa->npoints); + for (iv = 0; iv < pa->npoints; iv++) + { + /* copying Exterion Ring vertices */ + getPoint4d_p (pa, iv, &pt4d); + x = pt4d.x; + y = pt4d.y; + if (has_z) + z = pt4d.z; + else + z = 0.0; + if (has_m) + m = pt4d.m; + else + m = 0.0; + if (dimension_model == GAIA_XY_Z) + { + gaiaSetPointXYZ (rng->Coords, iv, x, + y, z); + } + else if (dimension_model == GAIA_XY_M) + { + gaiaSetPointXYM (rng->Coords, iv, x, + y, m); + } + else if (dimension_model == GAIA_XY_Z_M) + { + gaiaSetPointXYZM (rng->Coords, iv, x, + y, z, m); + } + else + { + gaiaSetPoint (rng->Coords, iv, x, y); + } + } + } + break; + }; + } + break; + default: + gaiaFreeGeomColl (gaia); + gaia = NULL; + break; + }; + + return gaia; +} + +static gaiaGeomCollPtr +fromLWGeom (const LWGEOM * lwgeom, const int dimension_model, + const int declared_type) +{ +/* converting a LWGEOM Geometry into a GAIA Geometry */ + gaiaGeomCollPtr gaia = NULL; + + if (lwgeom == NULL) + return NULL; + if (lwgeom_is_empty (lwgeom)) + return NULL; + + if (dimension_model == GAIA_XY_Z) + gaia = gaiaAllocGeomCollXYZ (); + else if (dimension_model == GAIA_XY_M) + gaia = gaiaAllocGeomCollXYM (); + else if (dimension_model == GAIA_XY_Z_M) + gaia = gaiaAllocGeomCollXYZM (); + else + gaia = gaiaAllocGeomColl (); + gaia->DeclaredType = declared_type; + fromLWGeomIncremental (gaia, lwgeom); + + return gaia; +} + +static int +check_valid_type (const LWGEOM * lwgeom, int declared_type) +{ +/* checking if the geometry type is a valid one */ + int ret = 0; + switch (lwgeom->type) + { + case POINTTYPE: + case MULTIPOINTTYPE: + if (declared_type == GAIA_POINT || declared_type == GAIA_POINTZ + || declared_type == GAIA_POINTM || declared_type == GAIA_POINTZM) + ret = 1; + if (declared_type == GAIA_MULTIPOINT + || declared_type == GAIA_MULTIPOINTZ + || declared_type == GAIA_MULTIPOINTM + || declared_type == GAIA_MULTIPOINTZM) + ret = 1; + break; + case LINETYPE: + case MULTILINETYPE: + if (declared_type == GAIA_LINESTRING + || declared_type == GAIA_LINESTRINGZ + || declared_type == GAIA_LINESTRINGM + || declared_type == GAIA_LINESTRINGZM) + ret = 1; + if (declared_type == GAIA_MULTILINESTRING + || declared_type == GAIA_MULTILINESTRINGZ + || declared_type == GAIA_MULTILINESTRINGM + || declared_type == GAIA_MULTILINESTRINGZM) + ret = 1; + break; + case POLYGONTYPE: + case MULTIPOLYGONTYPE: + if (declared_type == GAIA_POLYGON || declared_type == GAIA_POLYGONZ + || declared_type == GAIA_POLYGONM + || declared_type == GAIA_POLYGONZM) + ret = 1; + if (declared_type == GAIA_MULTIPOLYGON + || declared_type == GAIA_MULTIPOLYGONZ + || declared_type == GAIA_MULTIPOLYGONM + || declared_type == GAIA_MULTIPOLYGONZM) + ret = 1; + break; + case COLLECTIONTYPE: + if (declared_type == GAIA_GEOMETRYCOLLECTION + || declared_type == GAIA_GEOMETRYCOLLECTIONZ + || declared_type == GAIA_GEOMETRYCOLLECTIONM + || declared_type == GAIA_GEOMETRYCOLLECTIONZM) + ret = 1; + break; + }; + return ret; +} + +static gaiaGeomCollPtr +fromLWGeomValidated (const LWGEOM * lwgeom, const int dimension_model, + const int declared_type) +{ +/* +/ converting a LWGEOM Geometry into a GAIA Geometry +/ first collection - validated items +*/ + gaiaGeomCollPtr gaia = NULL; + LWGEOM *lwg2 = NULL; + LWCOLLECTION *lwc = NULL; + int ngeoms; + + if (lwgeom == NULL) + return NULL; + if (lwgeom_is_empty (lwgeom)) + return NULL; + + switch (lwgeom->type) + { + case COLLECTIONTYPE: + lwc = (LWCOLLECTION *) lwgeom; + ngeoms = lwc->ngeoms; + if (ngeoms <= 2) + { + lwg2 = lwc->geoms[0]; + if (check_valid_type (lwg2, declared_type)) + gaia = fromLWGeom (lwg2, dimension_model, declared_type); + } + break; + default: + if (check_valid_type (lwgeom, declared_type)) + gaia = fromLWGeom (lwgeom, dimension_model, declared_type); + if (gaia == NULL) + { + /* Andrea Peri: 2013-05-02 returning anyway the LWGEOM geometry, + / even if it has a mismatching type */ + int type = -1; + switch (lwgeom->type) + { + case POINTTYPE: + type = GAIA_POINT; + break; + case LINETYPE: + type = GAIA_LINESTRING; + break; + case POLYGONTYPE: + type = GAIA_POLYGON; + break; + case MULTIPOINTTYPE: + type = GAIA_MULTIPOINT; + break; + case MULTILINETYPE: + type = GAIA_MULTILINESTRING; + break; + case MULTIPOLYGONTYPE: + type = GAIA_MULTIPOLYGON; + break; + }; + if (type >= 0) + gaia = fromLWGeom (lwgeom, dimension_model, type); + } + break; + } + return gaia; +} + +static gaiaGeomCollPtr +fromLWGeomDiscarded (const LWGEOM * lwgeom, const int dimension_model, + const int declared_type) +{ +/* +/ converting a LWGEOM Geometry into a GAIA Geometry +/ second collection - discarded items +*/ + gaiaGeomCollPtr gaia = NULL; + LWGEOM *lwg2 = NULL; + LWCOLLECTION *lwc = NULL; + int ngeoms; + int ig; + + if (lwgeom == NULL) + return NULL; + if (lwgeom_is_empty (lwgeom)) + return NULL; + + if (lwgeom->type == COLLECTIONTYPE) + { + if (dimension_model == GAIA_XY_Z) + gaia = gaiaAllocGeomCollXYZ (); + else if (dimension_model == GAIA_XY_M) + gaia = gaiaAllocGeomCollXYM (); + else if (dimension_model == GAIA_XY_Z_M) + gaia = gaiaAllocGeomCollXYZM (); + else + gaia = gaiaAllocGeomColl (); + lwc = (LWCOLLECTION *) lwgeom; + ngeoms = lwc->ngeoms; + for (ig = 0; ig < ngeoms; ig++) + { + lwg2 = lwc->geoms[ig]; + if (!check_valid_type (lwg2, declared_type)) + fromLWGeomIncremental (gaia, lwg2); + } + } +/* +Andrea Peri: 2013-05-02 +when a single geometry is returned by LWGEOM it's always "valid" +and there are no discarded items at all + + else if (!check_valid_type (lwgeom, declared_type)) + gaia = fromLWGeom (lwgeom, dimension_model, declared_type); +*/ + return gaia; +} + +GAIAGEO_DECLARE gaiaGeomCollPtr +gaiaMakeValid (gaiaGeomCollPtr geom) +{ +/* wrapping LWGEOM MakeValid [collecting valid items] */ + LWGEOM *g1; + LWGEOM *g2; + gaiaGeomCollPtr result = NULL; + + if (!geom) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g1 = toLWGeom (geom); + g2 = lwgeom_make_valid (g1); + if (!g2) + { + lwgeom_free (g1); + goto done; + } + result = fromLWGeomValidated (g2, geom->DimensionModel, geom->DeclaredType); + spatialite_init_geos (); + lwgeom_free (g1); + lwgeom_free (g2); + if (result == NULL) + goto done; + result->Srid = geom->Srid; + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return result; +} + +GAIAGEO_DECLARE gaiaGeomCollPtr +gaiaMakeValidDiscarded (gaiaGeomCollPtr geom) +{ +/* wrapping LWGEOM MakeValid [collecting discarder items] */ + LWGEOM *g1; + LWGEOM *g2; + gaiaGeomCollPtr result = NULL; + + if (!geom) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g1 = toLWGeom (geom); + g2 = lwgeom_make_valid (g1); + if (!g2) + { + lwgeom_free (g1); + goto done; + } + result = fromLWGeomDiscarded (g2, geom->DimensionModel, geom->DeclaredType); + spatialite_init_geos (); + lwgeom_free (g1); + lwgeom_free (g2); + if (result == NULL) + goto done; + result->Srid = geom->Srid; + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return result; +} + +GAIAGEO_DECLARE gaiaGeomCollPtr +gaiaSegmentize (gaiaGeomCollPtr geom, double dist) +{ +/* wrapping LWGEOM Segmentize */ + LWGEOM *g1; + LWGEOM *g2; + gaiaGeomCollPtr result = NULL; + + if (!geom) + return NULL; + if (dist <= 0.0) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g1 = toLWGeom (geom); + g2 = lwgeom_segmentize2d (g1, dist); + if (!g2) + { + lwgeom_free (g1); + goto done; + } + result = fromLWGeom (g2, geom->DimensionModel, geom->DeclaredType); + spatialite_init_geos (); + lwgeom_free (g1); + lwgeom_free (g2); + if (result == NULL) + goto done; + result->Srid = geom->Srid; + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return result; +} + +static int +check_split_args (gaiaGeomCollPtr input, gaiaGeomCollPtr blade) +{ +/* testing Split arguments */ + gaiaPointPtr pt; + gaiaLinestringPtr ln; + gaiaPolygonPtr pg; + int i_lns = 0; + int i_pgs = 0; + int b_pts = 0; + int b_lns = 0; + + if (!input) + return 0; + if (!blade) + return 0; + +/* testing the Input type */ + if (input->FirstPoint != NULL) + { + /* Point(s) on Input is forbidden !!!! */ + return 0; + } + ln = input->FirstLinestring; + while (ln) + { + /* counting how many Linestrings are there */ + i_lns++; + ln = ln->Next; + } + pg = input->FirstPolygon; + while (pg) + { + /* counting how many Polygons are there */ + i_pgs++; + pg = pg->Next; + } + if (i_lns + i_pgs == 0) + { + /* empty Input */ + return 0; + } + +/* testing the Blade type */ + pt = blade->FirstPoint; + while (pt) + { + /* counting how many Points are there */ + b_pts++; + pt = pt->Next; + } + if (b_pts > 1) + { + /* MultiPoint on Blade is forbidden !!!! */ + return 0; + } + ln = blade->FirstLinestring; + while (ln) + { + /* counting how many Linestrings are there */ + b_lns++; + ln = ln->Next; + } + if (b_lns > 1) + { + /* MultiLinestring on Blade is forbidden !!!! */ + return 0; + } + if (blade->FirstPolygon != NULL) + { + /* Polygon(s) on Blade is forbidden !!!! */ + return 0; + } + if (b_pts + b_lns == 0) + { + /* empty Blade */ + return 0; + } + if (b_pts + b_lns > 1) + { + /* invalid Blade [point + linestring] */ + return 0; + } + +/* compatibility check */ + if (b_lns == 1) + { + /* Linestring blade is always valid */ + return 1; + } + if (i_lns >= 1 && b_pts == 1) + { + /* Linestring or MultiLinestring input and Point blade is allowed */ + return 1; + } + + return 0; +} + +static void +set_split_gtype (gaiaGeomCollPtr geom) +{ +/* assignign the actual geometry type */ + gaiaPointPtr pt; + gaiaLinestringPtr ln; + gaiaPolygonPtr pg; + int pts = 0; + int lns = 0; + int pgs = 0; + + pt = geom->FirstPoint; + while (pt) + { + /* counting how many Points are there */ + pts++; + pt = pt->Next; + } + ln = geom->FirstLinestring; + while (ln) + { + /* counting how many Linestrings are there */ + lns++; + ln = ln->Next; + } + pg = geom->FirstPolygon; + while (pg) + { + /* counting how many Polygons are there */ + pgs++; + pg = pg->Next; + } + + if (pts == 1 && lns == 0 && pgs == 0) + { + geom->DeclaredType = GAIA_POINT; + return; + } + if (pts > 1 && lns == 0 && pgs == 0) + { + geom->DeclaredType = GAIA_MULTIPOINT; + return; + } + if (pts == 0 && lns == 1 && pgs == 0) + { + geom->DeclaredType = GAIA_LINESTRING; + return; + } + if (pts == 0 && lns > 1 && pgs == 0) + { + geom->DeclaredType = GAIA_MULTILINESTRING; + return; + } + if (pts == 0 && lns == 0 && pgs == 1) + { + geom->DeclaredType = GAIA_POLYGON; + return; + } + if (pts == 0 && lns == 0 && pgs > 1) + { + geom->DeclaredType = GAIA_MULTIPOLYGON; + return; + } + geom->DeclaredType = GAIA_GEOMETRYCOLLECTION; +} + +static LWGEOM * +toLWGeomLinestring (gaiaLinestringPtr ln, int srid) +{ +/* converting a GAIA Linestring into a LWGEOM Geometry */ + int iv; + double x = 0.0; + double y = 0.0; + double z = 0.0; + double m = 0.0; + int has_z = 0; + int has_m = 0; + POINTARRAY *pa; + POINT4D point; + + if (ln->DimensionModel == GAIA_XY_Z || ln->DimensionModel == GAIA_XY_Z_M) + has_z = 1; + if (ln->DimensionModel == GAIA_XY_M || ln->DimensionModel == GAIA_XY_Z_M) + has_m = 1; + pa = ptarray_construct (has_z, has_m, ln->Points); + for (iv = 0; iv < ln->Points; iv++) + { + /* copying vertices */ + if (ln->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); + } + else if (ln->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); + } + else if (ln->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (ln->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (pa, iv, &point); + } + return (LWGEOM *) lwline_construct (srid, NULL, pa); +} + +static LWGEOM * +toLWGeomPolygon (gaiaPolygonPtr pg, int srid) +{ +/* converting a GAIA Linestring into a LWGEOM Geometry */ + int iv; + int ib; + double x = 0.0; + double y = 0.0; + double z = 0.0; + double m = 0.0; + int ngeoms; + int has_z = 0; + int has_m = 0; + int close_ring; + gaiaRingPtr rng; + POINTARRAY **ppaa; + POINT4D point; + + if (pg->DimensionModel == GAIA_XY_Z || pg->DimensionModel == GAIA_XY_Z_M) + has_z = 1; + if (pg->DimensionModel == GAIA_XY_M || pg->DimensionModel == GAIA_XY_Z_M) + has_m = 1; + ngeoms = pg->NumInteriors; + ppaa = lwalloc (sizeof (POINTARRAY *) * (ngeoms + 1)); + rng = pg->Exterior; + close_ring = check_unclosed_ring (rng); + if (close_ring) + ppaa[0] = ptarray_construct (has_z, has_m, rng->Points + 1); + else + ppaa[0] = ptarray_construct (has_z, has_m, rng->Points); + for (iv = 0; iv < rng->Points; iv++) + { + /* copying vertices - Exterior Ring */ + if (pg->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); + } + else if (pg->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); + } + else if (pg->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[0], iv, &point); + } + if (close_ring) + { + /* making an unclosed ring to be closed */ + if (pg->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); + } + else if (pg->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); + } + else if (pg->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, 0, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[0], rng->Points, &point); + } + for (ib = 0; ib < pg->NumInteriors; ib++) + { + /* copying vertices - Interior Rings */ + rng = pg->Interiors + ib; + close_ring = check_unclosed_ring (rng); + if (close_ring) + ppaa[1 + ib] = ptarray_construct (has_z, has_m, rng->Points + 1); + else + ppaa[1 + ib] = ptarray_construct (has_z, has_m, rng->Points); + for (iv = 0; iv < rng->Points; iv++) + { + if (pg->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); + } + else if (pg->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); + } + else if (pg->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, iv, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[1 + ib], iv, &point); + } + if (close_ring) + { + /* making an unclosed ring to be closed */ + if (pg->DimensionModel == GAIA_XY_Z) + { + gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); + } + else if (pg->DimensionModel == GAIA_XY_M) + { + gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); + } + else if (pg->DimensionModel == GAIA_XY_Z_M) + { + gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); + } + else + { + gaiaGetPoint (rng->Coords, 0, &x, &y); + } + point.x = x; + point.y = y; + if (has_z) + point.z = z; + if (has_m) + point.m = m; + ptarray_set_point4d (ppaa[0], rng->Points, &point); + } + } + return (LWGEOM *) lwpoly_construct (srid, NULL, ngeoms + 1, ppaa); +} + +static gaiaGeomCollPtr +fromLWGeomLeft (gaiaGeomCollPtr gaia, const LWGEOM * lwgeom) +{ +/* +/ converting a LWGEOM Geometry into a GAIA Geometry +/ collecting "left side" items +*/ + LWGEOM *lwg2 = NULL; + LWCOLLECTION *lwc = NULL; + int ngeoms; + int ig; + + if (lwgeom == NULL) + return NULL; + if (lwgeom_is_empty (lwgeom)) + return NULL; + + if (lwgeom->type == COLLECTIONTYPE) + { + lwc = (LWCOLLECTION *) lwgeom; + ngeoms = lwc->ngeoms; + for (ig = 0; ig < ngeoms; ig += 2) + { + lwg2 = lwc->geoms[ig]; + fromLWGeomIncremental (gaia, lwg2); + } + } + else + gaia = fromLWGeom (lwgeom, gaia->DimensionModel, gaia->DeclaredType); + + return gaia; +} + +static gaiaGeomCollPtr +fromLWGeomRight (gaiaGeomCollPtr gaia, const LWGEOM * lwgeom) +{ +/* +/ converting a LWGEOM Geometry into a GAIA Geometry +/ collecting "right side" items +*/ + LWGEOM *lwg2 = NULL; + LWCOLLECTION *lwc = NULL; + int ngeoms; + int ig; + + if (lwgeom == NULL) + return NULL; + if (lwgeom_is_empty (lwgeom)) + return NULL; + + if (lwgeom->type == COLLECTIONTYPE) + { + lwc = (LWCOLLECTION *) lwgeom; + ngeoms = lwc->ngeoms; + for (ig = 1; ig < ngeoms; ig += 2) + { + lwg2 = lwc->geoms[ig]; + fromLWGeomIncremental (gaia, lwg2); + } + } + + return gaia; +} + +GAIAGEO_DECLARE gaiaGeomCollPtr +gaiaSplit (gaiaGeomCollPtr input, gaiaGeomCollPtr blade) +{ +/* wrapping LWGEOM Split */ + LWGEOM *g1; + LWGEOM *g2; + LWGEOM *g3; + gaiaGeomCollPtr result = NULL; + + if (!check_split_args (input, blade)) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g1 = toLWGeom (input); + g2 = toLWGeom (blade); + g3 = lwgeom_split (g1, g2); + if (!g3) + { + lwgeom_free (g1); + lwgeom_free (g2); + goto done; + } + result = fromLWGeom (g3, input->DimensionModel, input->DeclaredType); + spatialite_init_geos (); + lwgeom_free (g1); + lwgeom_free (g2); + lwgeom_free (g3); + if (result == NULL) + goto done; + result->Srid = input->Srid; + set_split_gtype (result); + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return result; +} + +GAIAGEO_DECLARE gaiaGeomCollPtr +gaiaSplitLeft (gaiaGeomCollPtr input, gaiaGeomCollPtr blade) +{ +/* wrapping LWGEOM Split [left half] */ + LWGEOM *g1; + LWGEOM *g2; + LWGEOM *g3; + gaiaGeomCollPtr result = NULL; + gaiaLinestringPtr ln; + gaiaPolygonPtr pg; + + if (!check_split_args (input, blade)) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + if (input->DimensionModel == GAIA_XY_Z) + result = gaiaAllocGeomCollXYZ (); + else if (input->DimensionModel == GAIA_XY_M) + result = gaiaAllocGeomCollXYM (); + else if (input->DimensionModel == GAIA_XY_Z_M) + result = gaiaAllocGeomCollXYZM (); + else + result = gaiaAllocGeomColl (); + + g2 = toLWGeom (blade); + + ln = input->FirstLinestring; + while (ln) + { + /* splitting some Linestring */ + g1 = toLWGeomLinestring (ln, input->Srid); + g3 = lwgeom_split (g1, g2); + if (g3) + { + result = fromLWGeomLeft (result, g3); + lwgeom_free (g3); + } + spatialite_init_geos (); + lwgeom_free (g1); + ln = ln->Next; + } + pg = input->FirstPolygon; + while (pg) + { + /* splitting some Polygon */ + g1 = toLWGeomPolygon (pg, input->Srid); + g3 = lwgeom_split (g1, g2); + if (g3) + { + result = fromLWGeomLeft (result, g3); + lwgeom_free (g3); + } + spatialite_init_geos (); + lwgeom_free (g1); + pg = pg->Next; + } + + lwgeom_free (g2); + if (result == NULL) + goto done; + if (result->FirstPoint == NULL && result->FirstLinestring == NULL + && result->FirstPolygon == NULL) + { + gaiaFreeGeomColl (result); + result = NULL; + goto done; + } + result->Srid = input->Srid; + set_split_gtype (result); + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return result; +} + +GAIAGEO_DECLARE gaiaGeomCollPtr +gaiaSplitRight (gaiaGeomCollPtr input, gaiaGeomCollPtr blade) +{ +/* wrapping LWGEOM Split [right half] */ + LWGEOM *g1; + LWGEOM *g2; + LWGEOM *g3; + gaiaGeomCollPtr result = NULL; + gaiaLinestringPtr ln; + gaiaPolygonPtr pg; + + if (!check_split_args (input, blade)) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + if (input->DimensionModel == GAIA_XY_Z) + result = gaiaAllocGeomCollXYZ (); + else if (input->DimensionModel == GAIA_XY_M) + result = gaiaAllocGeomCollXYM (); + else if (input->DimensionModel == GAIA_XY_Z_M) + result = gaiaAllocGeomCollXYZM (); + else + result = gaiaAllocGeomColl (); + + g2 = toLWGeom (blade); + + ln = input->FirstLinestring; + while (ln) + { + /* splitting some Linestring */ + g1 = toLWGeomLinestring (ln, input->Srid); + g3 = lwgeom_split (g1, g2); + if (g3) + { + result = fromLWGeomRight (result, g3); + lwgeom_free (g3); + } + spatialite_init_geos (); + lwgeom_free (g1); + ln = ln->Next; + } + pg = input->FirstPolygon; + while (pg) + { + /* splitting some Polygon */ + g1 = toLWGeomPolygon (pg, input->Srid); + g3 = lwgeom_split (g1, g2); + if (g3) + { + result = fromLWGeomRight (result, g3); + lwgeom_free (g3); + } + spatialite_init_geos (); + lwgeom_free (g1); + pg = pg->Next; + } + + lwgeom_free (g2); + if (result == NULL) + goto done; + if (result->FirstPoint == NULL && result->FirstLinestring == NULL + && result->FirstPolygon == NULL) + { + gaiaFreeGeomColl (result); + result = NULL; + goto done; + } + result->Srid = input->Srid; + set_split_gtype (result); + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return result; +} + +GAIAGEO_DECLARE int +gaiaAzimuth (double xa, double ya, double xb, double yb, double *azimuth) +{ +/* wrapping LWGEOM Azimuth */ + POINT2D pt1; + POINT2D pt2; + double az; + int ret = 1; + pt1.x = xa; + pt1.y = ya; + pt2.x = xb; + pt2.y = yb; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + if (!azimuth_pt_pt (&pt1, &pt2, &az)) + ret = 0; + *azimuth = az; + +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return ret; +} + +GAIAGEO_DECLARE int +gaiaEllipsoidAzimuth (double xa, double ya, double xb, double yb, double a, + double b, double *azimuth) +{ +/* wrapping LWGEOM AzimuthSpheroid */ + LWPOINT *pt1 = lwpoint_make2d (0, xa, ya); + LWPOINT *pt2 = lwpoint_make2d (0, xb, yb); + SPHEROID ellips; + int ret = 1; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + spheroid_init (&ellips, a, b); + *azimuth = lwgeom_azumith_spheroid (pt1, pt2, &ellips); + lwpoint_free (pt1); + lwpoint_free (pt2); + +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return ret; +} + +GAIAGEO_DECLARE int +gaiaProjectedPoint (double x1, double y1, double a, double b, double distance, + double azimuth, double *x2, double *y2) +{ +/* wrapping LWGEOM Project */ + LWPOINT *pt1 = lwpoint_make2d (0, x1, y1); + LWPOINT *pt2; + SPHEROID ellips; + int ret = 0; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + spheroid_init (&ellips, a, b); + pt2 = lwgeom_project_spheroid (pt1, &ellips, distance, azimuth); + lwpoint_free (pt1); + if (pt2 != NULL) + { + *x2 = lwpoint_get_x (pt2); + *y2 = lwpoint_get_y (pt2); + lwpoint_free (pt2); + ret = 1; + } + +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return ret; +} + +GAIAGEO_DECLARE int +gaiaGeodesicArea (gaiaGeomCollPtr geom, double a, double b, int use_ellipsoid, + double *area) +{ +/* wrapping LWGEOM AreaSphere and AreaSpheroid */ + LWGEOM *g = toLWGeom (geom); + SPHEROID ellips; + GBOX gbox; + double tolerance = 1e-12; + int ret = 1; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + spheroid_init (&ellips, a, b); + if (g == NULL) + { + ret = 0; + goto done; + } + lwgeom_calculate_gbox_geodetic (g, &gbox); + if (use_ellipsoid) + { + /* testing for "forbidden" calculations on the ellipsoid */ + if ((gbox.zmax + tolerance) >= 1.0 || (gbox.zmin - tolerance) <= -1.0) + use_ellipsoid = 0; /* can't circle the poles */ + if (gbox.zmax > 0.0 && gbox.zmin < 0.0) + use_ellipsoid = 0; /* can't cross the equator */ + } + if (use_ellipsoid) + *area = lwgeom_area_spheroid (g, &ellips); + else + *area = lwgeom_area_sphere (g, &ellips); + lwgeom_free (g); + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return ret; +} + +GAIAGEO_DECLARE char * +gaiaGeoHash (gaiaGeomCollPtr geom, int precision) +{ +/* wrapping LWGEOM GeoHash */ + LWGEOM *g; + char *result; + char *geo_hash = NULL; + int len; + + if (!geom) + return NULL; + gaiaMbrGeometry (geom); + if (geom->MinX < -180.0 || geom->MaxX > 180.0 || geom->MinY < -90.0 + || geom->MaxY > 90.0) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g = toLWGeom (geom); + result = lwgeom_geohash (g, precision); + lwgeom_free (g); + if (result == NULL) + goto done; + len = strlen (result); + if (len == 0) + { + lwfree (result); + goto done; + } + geo_hash = malloc (len + 1); + strcpy (geo_hash, result); + lwfree (result); + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return geo_hash; +} + +GAIAGEO_DECLARE char * +gaiaAsX3D (gaiaGeomCollPtr geom, const char *srs, int precision, int options, + const char *defid) +{ +/* wrapping LWGEOM AsX3D */ + LWGEOM *g; + char *result; + char *x3d = NULL; + int len; + + if (!geom) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + gaiaMbrGeometry (geom); + g = toLWGeom (geom); + result = lwgeom_to_x3d3 (g, (char *) srs, precision, options, defid); + lwgeom_free (g); + if (result == NULL) + goto done; + len = strlen (result); + if (len == 0) + { + lwfree (result); + goto done; + } + x3d = malloc (len + 1); + strcpy (x3d, result); + lwfree (result); + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return x3d; +} + +GAIAGEO_DECLARE int +gaia3DDistance (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist) +{ +/* wrapping LWGEOM mindistance3d */ + LWGEOM *g1; + LWGEOM *g2; + double d; + int ret = 1; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g1 = toLWGeom (geom1); + g2 = toLWGeom (geom2); + + d = lwgeom_mindistance3d (g1, g2); + lwgeom_free (g1); + lwgeom_free (g2); + *dist = d; + +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return ret; +} + +GAIAGEO_DECLARE int +gaiaMaxDistance (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist) +{ +/* wrapping LWGEOM maxdistance2d */ + LWGEOM *g1; + LWGEOM *g2; + double d; + int ret = 1; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g1 = toLWGeom (geom1); + g2 = toLWGeom (geom2); + + d = lwgeom_maxdistance2d (g1, g2); + lwgeom_free (g1); + lwgeom_free (g2); + *dist = d; + +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return ret; +} + +GAIAGEO_DECLARE int +gaia3DMaxDistance (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist) +{ +/* wrapping LWGEOM maxdistance2d */ + LWGEOM *g1; + LWGEOM *g2; + double d; + int ret = 1; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g1 = toLWGeom (geom1); + g2 = toLWGeom (geom2); + + d = lwgeom_maxdistance3d (g1, g2); + lwgeom_free (g1); + lwgeom_free (g2); + *dist = d; + +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return ret; +} + +GAIAGEO_DECLARE gaiaGeomCollPtr +gaiaNodeLines (gaiaGeomCollPtr geom) +{ +/* wrapping LWGEOM lwgeom_node */ + LWGEOM *g1; + LWGEOM *g2; + gaiaGeomCollPtr result = NULL; + + if (!geom) + return NULL; + +/* locking the semaphore */ + splite_lwgeom_semaphore_lock (); + + g1 = toLWGeom (geom); + g2 = lwgeom_node (g1); + if (!g2) + { + lwgeom_free (g1); + goto done; + } + result = fromLWGeom (g2, geom->DimensionModel, geom->DeclaredType); + spatialite_init_geos (); + lwgeom_free (g1); + lwgeom_free (g2); + if (result == NULL) + goto done; + result->Srid = geom->Srid; + + done: +/* unlocking the semaphore */ + splite_lwgeom_semaphore_unlock (); + return result; +} + +#endif /* end enabling LWGEOM support */ Index: src/gaiageo/gg_matrix.c ================================================================== --- src/gaiageo/gg_matrix.c +++ src/gaiageo/gg_matrix.c @@ -1,10 +1,10 @@ /* gg_matrix.c -- Gaia Affine Transform Matrix support - version 4.3, 2015 June 29 + version 4.3, 2015 April 28 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -56,11 +56,10 @@ #include #include #include -#include #define MATRIX_MAGIC_START 0x00 #define MATRIX_MAGIC_DELIMITER 0x3a #define MATRIX_MAGIC_END 0xb3 @@ -665,167 +664,5 @@ } polyg = polyg->Next; } return new_geom; } - -static double -matrix_determinant (struct at_matrix *matrix) -{ -/* computing the Determinant for a 4x4 Matrix */ - double m00 = matrix->xx; - double m01 = matrix->xy; - double m02 = matrix->xz; - double m03 = matrix->xoff; - double m10 = matrix->yx; - double m11 = matrix->yy; - double m12 = matrix->yz; - double m13 = matrix->yoff; - double m20 = matrix->zx; - double m21 = matrix->zy; - double m22 = matrix->zz; - double m23 = matrix->zoff; - double m30 = matrix->w1; - double m31 = matrix->w2; - double m32 = matrix->w3; - double m33 = matrix->w4; - double value = - m03 * m12 * m21 * m30 - m02 * m13 * m21 * m30 - m03 * m11 * m22 * m30 + - m01 * m13 * m22 * m30 + m02 * m11 * m23 * m30 - m01 * m12 * m23 * m30 - - m03 * m12 * m20 * m31 + m02 * m13 * m20 * m31 + m03 * m10 * m22 * m31 - - m00 * m13 * m22 * m31 - m02 * m10 * m23 * m31 + m00 * m12 * m23 * m31 + - m03 * m11 * m20 * m32 - m01 * m13 * m20 * m32 - m03 * m10 * m21 * m32 + - m00 * m13 * m21 * m32 + m01 * m10 * m23 * m32 - m00 * m11 * m23 * m32 - - m02 * m11 * m20 * m33 + m01 * m12 * m20 * m33 + m02 * m10 * m21 * m33 - - m00 * m12 * m21 * m33 - m01 * m10 * m22 * m33 + m00 * m11 * m22 * m33; - return value; -} - -GAIAMATRIX_DECLARE double -gaia_matrix_determinant (const unsigned char *blob, int blob_sz) -{ -/* computing the Determinant from a BLOB-AMT object */ - double det; - struct at_matrix matrix; - if (!gaia_matrix_is_valid (blob, blob_sz)) - return 0.0; - if (!blob_matrix_decode (&matrix, blob, blob_sz)) - return 0.0; - -/* computing the Determinant */ - det = matrix_determinant (&matrix); - return det; -} - - -static void -matrix_invert (struct at_matrix *matrix, double determinant) -{ -/* inverting a Matrix */ - double m00 = matrix->xx; - double m01 = matrix->xy; - double m02 = matrix->xz; - double m03 = matrix->xoff; - double m10 = matrix->yx; - double m11 = matrix->yy; - double m12 = matrix->yz; - double m13 = matrix->yoff; - double m20 = matrix->zx; - double m21 = matrix->zy; - double m22 = matrix->zz; - double m23 = matrix->zoff; - double m30 = matrix->w1; - double m31 = matrix->w2; - double m32 = matrix->w3; - double m33 = matrix->w4; - double scale = 1.0 / determinant; - double r00 = - m12 * m23 * m31 - m13 * m22 * m31 + m13 * m21 * m32 - m11 * m23 * m32 - - m12 * m21 * m33 + m11 * m22 * m33; - double r01 = - m03 * m22 * m31 - m02 * m23 * m31 - m03 * m21 * m32 + m01 * m23 * m32 + - m02 * m21 * m33 - m01 * m22 * m33; - double r02 = - m02 * m13 * m31 - m03 * m12 * m31 + m03 * m11 * m32 - m01 * m13 * m32 - - m02 * m11 * m33 + m01 * m12 * m33; - double r03 = - m03 * m12 * m21 - m02 * m13 * m21 - m03 * m11 * m22 + m01 * m13 * m22 + - m02 * m11 * m23 - m01 * m12 * m23; - double r10 = - m13 * m22 * m30 - m12 * m23 * m30 - m13 * m20 * m32 + m10 * m23 * m32 + - m12 * m20 * m33 - m10 * m22 * m33; - double r11 = - m02 * m23 * m30 - m03 * m22 * m30 + m03 * m20 * m32 - m00 * m23 * m32 - - m02 * m20 * m33 + m00 * m22 * m33; - double r12 = - m03 * m12 * m30 - m02 * m13 * m30 - m03 * m10 * m32 + m00 * m13 * m32 + - m02 * m10 * m33 - m00 * m12 * m33; - double r13 = - m02 * m13 * m20 - m03 * m12 * m20 + m03 * m10 * m22 - m00 * m13 * m22 - - m02 * m10 * m23 + m00 * m12 * m23; - double r20 = - m11 * m23 * m30 - m13 * m21 * m30 + m13 * m20 * m31 - m10 * m23 * m31 - - m11 * m20 * m33 + m10 * m21 * m33; - double r21 = - m03 * m21 * m30 - m01 * m23 * m30 - m03 * m20 * m31 + m00 * m23 * m31 + - m01 * m20 * m33 - m00 * m21 * m33; - double r22 = - m01 * m13 * m30 - m03 * m11 * m30 + m03 * m10 * m31 - m00 * m13 * m31 - - m01 * m10 * m33 + m00 * m11 * m33; - double r23 = - m03 * m11 * m20 - m01 * m13 * m20 - m03 * m10 * m21 + m00 * m13 * m21 + - m01 * m10 * m23 - m00 * m11 * m23; - double r30 = - m12 * m21 * m30 - m11 * m22 * m30 - m12 * m20 * m31 + m10 * m22 * m31 + - m11 * m20 * m32 - m10 * m21 * m32; - double r31 = - m01 * m22 * m30 - m02 * m21 * m30 + m02 * m20 * m31 - m00 * m22 * m31 - - m01 * m20 * m32 + m00 * m21 * m32; - double r32 = - m02 * m11 * m30 - m01 * m12 * m30 - m02 * m10 * m31 + m00 * m12 * m31 + - m01 * m10 * m32 - m00 * m11 * m32; - double r33 = - m01 * m12 * m20 - m02 * m11 * m20 + m02 * m10 * m21 - m00 * m12 * m21 - - m01 * m10 * m22 + m00 * m11 * m22; - matrix->xx = r00 * scale; - matrix->xy = r01 * scale; - matrix->xz = r02 * scale; - matrix->xoff = r03 * scale; - matrix->yx = r10 * scale; - matrix->yy = r11 * scale; - matrix->yz = r12 * scale; - matrix->yoff = r13 * scale; - matrix->zx = r20 * scale; - matrix->zy = r21 * scale; - matrix->zz = r22 * scale; - matrix->zoff = r23 * scale; - matrix->w1 = r30 * scale; - matrix->w2 = r31 * scale; - matrix->w3 = r32 * scale; - matrix->w4 = r33 * scale; -} - -GAIAMATRIX_DECLARE int -gaia_matrix_invert (const unsigned char *iblob, int iblob_sz, - unsigned char **oblob, int *oblob_sz) -{ -/* -* creating a BLOB-serialized Affine Transform Matrix -* by Inverting another Matrix -*/ - double det; - struct at_matrix matrix; - - *oblob = NULL; - *oblob_sz = 0; - if (!gaia_matrix_is_valid (iblob, iblob_sz)) - return 0; - if (!blob_matrix_decode (&matrix, iblob, iblob_sz)) - return 0; - det = matrix_determinant (&matrix); - if (det == 0.0) - return 0; - -/* creating the Inverse Matrix */ - matrix_invert (&matrix, det); - return blob_matrix_encode (&matrix, oblob, oblob_sz); -} Index: src/gaiageo/gg_relations.c ================================================================== --- src/gaiageo/gg_relations.c +++ src/gaiageo/gg_relations.c @@ -1,10 +1,10 @@ /* gg_relations.c -- Gaia spatial relations - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -54,15 +54,10 @@ #else #include "config.h" #endif #ifndef OMIT_GEOS /* including GEOS */ -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif #include #endif #include #include @@ -76,16 +71,14 @@ SPATIALITE_PRIVATE void splite_free_geos_cache_item (struct splite_geos_cache_item *p) { #ifndef OMIT_GEOS /* including GEOS */ -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ if (p->preparedGeosGeom) GEOSPreparedGeom_destroy (p->preparedGeosGeom); if (p->geosGeom) GEOSGeom_destroy (p->geosGeom); -#endif #endif p->geosGeom = NULL; p->preparedGeosGeom = NULL; } @@ -487,12 +480,11 @@ GAIAGEO_DECLARE int gaiaGeomCollEquals (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if two Geometries are "spatially equal" */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -506,14 +498,10 @@ g1 = gaiaToGeos (geom1); g2 = gaiaToGeos (geom2); ret = GEOSEquals (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollEquals_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -554,12 +542,11 @@ GAIAGEO_DECLARE int gaiaGeomCollIntersects (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if two Geometries do "spatially intersects" */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -573,14 +560,10 @@ g1 = gaiaToGeos (geom1); g2 = gaiaToGeos (geom2); ret = GEOSIntersects (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollIntersects_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -671,12 +654,11 @@ GAIAGEO_DECLARE int gaiaGeomCollDisjoint (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if two Geometries are "spatially disjoint" */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -690,14 +672,10 @@ g1 = gaiaToGeos (geom1); g2 = gaiaToGeos (geom2); ret = GEOSDisjoint (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollDisjoint_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -789,12 +767,11 @@ GAIAGEO_DECLARE int gaiaGeomCollOverlaps (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if two Geometries do "spatially overlaps" */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -808,14 +785,10 @@ g1 = gaiaToGeos (geom1); g2 = gaiaToGeos (geom2); ret = GEOSOverlaps (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollOverlaps_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -907,12 +880,11 @@ GAIAGEO_DECLARE int gaiaGeomCollCrosses (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if two Geometries do "spatially crosses" */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -926,14 +898,10 @@ g1 = gaiaToGeos (geom1); g2 = gaiaToGeos (geom2); ret = GEOSCrosses (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollCrosses_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1025,12 +993,11 @@ GAIAGEO_DECLARE int gaiaGeomCollTouches (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if two Geometries do "spatially touches" */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -1044,14 +1011,10 @@ g1 = gaiaToGeos (geom1); g2 = gaiaToGeos (geom2); ret = GEOSTouches (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollTouches_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1143,12 +1106,11 @@ GAIAGEO_DECLARE int gaiaGeomCollWithin (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if GEOM-1 is completely contained within GEOM-2 */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -1162,14 +1124,10 @@ g1 = gaiaToGeos (geom1); g2 = gaiaToGeos (geom2); ret = GEOSWithin (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollWithin_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1264,12 +1222,11 @@ GAIAGEO_DECLARE int gaiaGeomCollContains (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if GEOM-1 completely contains GEOM-2 */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -1283,14 +1240,10 @@ g1 = gaiaToGeos (geom1); g2 = gaiaToGeos (geom2); ret = GEOSContains (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollContains_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1386,12 +1339,11 @@ GAIAGEO_DECLARE int gaiaGeomCollRelate (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, const char *pattern) { /* checks if if GEOM-1 and GEOM-2 have a spatial relationship as specified by the pattern Matrix */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -1402,14 +1354,10 @@ ret = GEOSRelatePattern (g1, g2, pattern); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); if (ret == 2) return -1; -#else - if (geom1 == NULL || geom2 == NULL || pattern == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollRelate_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1443,170 +1391,16 @@ if (ret == 2) return -1; return ret; } -GAIAGEO_DECLARE char * -gaiaGeomCollRelateBoundaryNodeRule (gaiaGeomCollPtr geom1, - gaiaGeomCollPtr geom2, int mode) -{ -/* return the intesection matrix [DE-9IM] of GEOM-1 and GEOM-2 */ -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - GEOSGeometry *g1; - GEOSGeometry *g2; - int bnr; - char *retMatrix; - char *matrix; - int len; - gaiaResetGeosMsg (); - if (!geom1 || !geom2) - return NULL; - if (gaiaIsToxic (geom1) || gaiaIsToxic (geom2)) - return NULL; - g1 = gaiaToGeos (geom1); - g2 = gaiaToGeos (geom2); - switch (mode) - { - case 2: - bnr = GEOSRELATE_BNR_ENDPOINT; - break; - case 3: - bnr = GEOSRELATE_BNR_MULTIVALENT_ENDPOINT; - break; - case 4: - bnr = GEOSRELATE_BNR_MONOVALENT_ENDPOINT; - break; - default: - bnr = GEOSRELATE_BNR_MOD2; - break; - }; - retMatrix = GEOSRelateBoundaryNodeRule (g1, g2, bnr); - GEOSGeom_destroy (g1); - GEOSGeom_destroy (g2); - if (retMatrix == NULL) - return NULL; - len = strlen (retMatrix); - matrix = malloc (len + 1); - strcpy (matrix, retMatrix); - GEOSFree (retMatrix); - return matrix; -#else - if (geom1 == NULL || geom2 == NULL || pattern == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif - return NULL; -} - -GAIAGEO_DECLARE char * -gaiaGeomCollRelateBoundaryNodeRule_r (const void *p_cache, - gaiaGeomCollPtr geom1, - gaiaGeomCollPtr geom2, int mode) -{ -/* return the intesection matrix [DE-9IM] of GEOM-1 and GEOM-2 */ - GEOSGeometry *g1; - GEOSGeometry *g2; - int bnr; - char *retMatrix; - char *matrix; - int len; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - GEOSContextHandle_t handle = NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - handle = cache->GEOS_handle; - if (handle == NULL) - return NULL; - gaiaResetGeosMsg_r (cache); - if (!geom1 || !geom2) - return NULL; - if (gaiaIsToxic_r (cache, geom1) || gaiaIsToxic_r (cache, geom2)) - return NULL; - g1 = gaiaToGeos_r (cache, geom1); - g2 = gaiaToGeos_r (cache, geom2); - switch (mode) - { - case 2: - bnr = GEOSRELATE_BNR_ENDPOINT; - break; - case 3: - bnr = GEOSRELATE_BNR_MULTIVALENT_ENDPOINT; - break; - case 4: - bnr = GEOSRELATE_BNR_MONOVALENT_ENDPOINT; - break; - default: - bnr = GEOSRELATE_BNR_MOD2; - break; - }; - retMatrix = GEOSRelateBoundaryNodeRule_r (handle, g1, g2, bnr); - GEOSGeom_destroy_r (handle, g1); - GEOSGeom_destroy_r (handle, g2); - if (retMatrix == NULL) - return NULL; - len = strlen (retMatrix); - matrix = malloc (len + 1); - strcpy (matrix, retMatrix); - GEOSFree_r (handle, retMatrix); - return matrix; -} - -GAIAGEO_DECLARE int -gaiaIntersectionMatrixPatternMatch (const char *matrix, const char *pattern) -{ -/* evalutes is an intersection matrix [DE-9IM] matches a matrix pattern */ - int ret; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - gaiaResetGeosMsg (); - if (matrix == NULL || pattern == NULL) - return -1; - ret = GEOSRelatePatternMatch (matrix, pattern); - if (ret == 0 || ret == 1) - return ret; -#else - if (matrix == NULL || pattern == NULL) - matrix = NULL; /* silencing stupid compiler warnings */ -#endif - return -1; -} - -GAIAGEO_DECLARE int -gaiaIntersectionMatrixPatternMatch_r (const void *p_cache, const char *matrix, - const char *pattern) -{ -/* evalutes is an intersection matrix [DE-9IM] matches a matrix pattern */ - int ret; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - GEOSContextHandle_t handle = NULL; - if (cache == NULL) - return -1; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return -1; - handle = cache->GEOS_handle; - if (handle == NULL) - return -1; - gaiaResetGeosMsg_r (cache); - if (matrix == NULL || pattern == NULL) - return -1; - ret = GEOSRelatePatternMatch_r (handle, matrix, pattern); - if (ret == 0 || ret == 1) - return ret; - return -1; -} - GAIAGEO_DECLARE int gaiaGeomCollLength (gaiaGeomCollPtr geom, double *xlength) { /* computes the total length for this Geometry */ - int ret = 0; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ double length; + int ret; GEOSGeometry *g; gaiaResetGeosMsg (); if (!geom) return 0; if (gaiaIsToxic (geom)) @@ -1614,14 +1408,10 @@ g = gaiaToGeos (geom); ret = GEOSLength (g, &length); GEOSGeom_destroy (g); if (ret) *xlength = length; -#else - if (geom == NULL || xlength == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollLength_r (const void *p_cache, gaiaGeomCollPtr geom, @@ -1658,13 +1448,12 @@ GAIAGEO_DECLARE int gaiaGeomCollLengthOrPerimeter (gaiaGeomCollPtr geom, int perimeter, double *xlength) { /* computes the total length or perimeter for this Geometry */ - int ret = 0; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ double length; + int ret; GEOSGeometry *g; int mode = GAIA2GEOS_ONLY_LINESTRINGS; if (perimeter) mode = GAIA2GEOS_ONLY_POLYGONS; gaiaResetGeosMsg (); @@ -1680,14 +1469,10 @@ } ret = GEOSLength (g, &length); GEOSGeom_destroy (g); if (ret) *xlength = length; -#else - if (geom == NULL || perimeter == 0 || xlength == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollLengthOrPerimeter_r (const void *p_cache, gaiaGeomCollPtr geom, @@ -1731,13 +1516,12 @@ GAIAGEO_DECLARE int gaiaGeomCollArea (gaiaGeomCollPtr geom, double *xarea) { /* computes the total area for this Geometry */ - int ret = 0; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ double area; + int ret; GEOSGeometry *g; gaiaResetGeosMsg (); if (!geom) return 0; if (gaiaIsToxic (geom)) @@ -1745,14 +1529,10 @@ g = gaiaToGeos (geom); ret = GEOSArea (g, &area); GEOSGeom_destroy (g); if (ret) *xarea = area; -#else - if (geom == NULL || xarea == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollArea_r (const void *p_cache, gaiaGeomCollPtr geom, double *xarea) @@ -1788,13 +1568,12 @@ GAIAGEO_DECLARE int gaiaGeomCollDistance (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *xdist) { /* computes the minimum distance intercurring between GEOM-1 and GEOM-2 */ - int ret = 0; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ double dist; + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return 0; @@ -1805,14 +1584,10 @@ ret = GEOSDistance (g1, g2, &dist); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); if (ret) *xdist = dist; -#else - if (geom1 == NULL || geom2 == NULL || xdist == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollDistance_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1851,12 +1626,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryIntersection (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* builds a new geometry representing the "spatial intersection" of GEOM-1 and GEOM-2 */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; GEOSGeometry *g3; gaiaResetGeosMsg (); if (!geom1 || !geom2) @@ -1885,14 +1659,10 @@ geo = gaiaFromGeos_XY (g3); GEOSGeom_destroy (g3); if (geo == NULL) return NULL; geo->Srid = geom1->Srid; -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryIntersection_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1948,12 +1718,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryUnion (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* builds a new geometry representing the "spatial union" of GEOM-1 and GEOM-2 */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; GEOSGeometry *g3; gaiaResetGeosMsg (); if (!geom1 || !geom2) @@ -1984,14 +1753,10 @@ geom1->DeclaredType == GAIA_MULTILINESTRING) geo->DeclaredType = GAIA_MULTILINESTRING; if (geo->DeclaredType == GAIA_POLYGON && geom1->DeclaredType == GAIA_MULTIPOLYGON) geo->DeclaredType = GAIA_MULTIPOLYGON; -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryUnion_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -2049,14 +1814,13 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnionCascaded (gaiaGeomCollPtr geom) { /* UnionCascaded (single Collection of polygons) */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSGeometry *g1; GEOSGeometry *g2; + gaiaGeomCollPtr result; int pts = 0; int lns = 0; int pgs = 0; gaiaPointPtr pt; gaiaLinestringPtr ln; @@ -2106,14 +1870,10 @@ result = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (result == NULL) return NULL; result->Srid = geom->Srid; -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnionCascaded_r (const void *p_cache, gaiaGeomCollPtr geom) @@ -2191,12 +1951,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryDifference (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* builds a new geometry representing the "spatial difference" of GEOM-1 and GEOM-2 */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; GEOSGeometry *g3; gaiaResetGeosMsg (); if (!geom1 || !geom2) @@ -2220,14 +1979,10 @@ geo = gaiaFromGeos_XY (g3); GEOSGeom_destroy (g3); if (geo == NULL) return NULL; geo->Srid = geom1->Srid; -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryDifference_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -2278,12 +2033,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometrySymDifference (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* builds a new geometry representing the "spatial symmetric difference" of GEOM-1 and GEOM-2 */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; GEOSGeometry *g3; gaiaResetGeosMsg (); if (!geom1 || !geom2) @@ -2307,14 +2061,10 @@ geo = gaiaFromGeos_XY (g3); GEOSGeom_destroy (g3); if (geo == NULL) return NULL; geo->Srid = geom1->Srid; -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometrySymDifference_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -2365,12 +2115,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaBoundary (gaiaGeomCollPtr geom) { /* builds a new geometry representing the combinatorial boundary of GEOM */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom) return NULL; @@ -2391,14 +2140,10 @@ geo = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (geo == NULL) return NULL; geo->Srid = geom->Srid; -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaBoundary_r (const void *p_cache, gaiaGeomCollPtr geom) @@ -2445,11 +2190,10 @@ GAIAGEO_DECLARE int gaiaGeomCollCentroid (gaiaGeomCollPtr geom, double *x, double *y) { /* returns a Point representing the centroid for this Geometry */ -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom) @@ -2480,14 +2224,10 @@ *y = geo->FirstPoint->Y; gaiaFreeGeomColl (geo); return 1; } gaiaFreeGeomColl (geo); -#else - if (geom == NULL || x == NULL || y == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return 0; } GAIAGEO_DECLARE int gaiaGeomCollCentroid_r (const void *p_cache, gaiaGeomCollPtr geom, double *x, @@ -2544,11 +2284,10 @@ GAIAGEO_DECLARE int gaiaGetPointOnSurface (gaiaGeomCollPtr geom, double *x, double *y) { /* returns a Point guaranteed to lie on the Surface */ -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom) @@ -2579,14 +2318,10 @@ *y = geo->FirstPoint->Y; gaiaFreeGeomColl (geo); return 1; } gaiaFreeGeomColl (geo); -#else - if (geom == NULL || x == NULL || y == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return 0; } GAIAGEO_DECLARE int gaiaGetPointOnSurface_r (const void *p_cache, gaiaGeomCollPtr geom, double *x, @@ -2624,11 +2359,11 @@ else if (geom->DimensionModel == GAIA_XY_M) geo = gaiaFromGeos_XYM_r (cache, g2); else if (geom->DimensionModel == GAIA_XY_Z_M) geo = gaiaFromGeos_XYZM_r (cache, g2); else - geo = gaiaFromGeos_XYZ_r (cache, g2); + geo = gaiaFromGeos_XY_r (cache, g2); GEOSGeom_destroy_r (handle, g2); if (geo == NULL) return 0; if (geo->FirstPoint) { @@ -2643,12 +2378,11 @@ GAIAGEO_DECLARE int gaiaIsSimple (gaiaGeomCollPtr geom) { /* checks if this GEOMETRYCOLLECTION is a simple one */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g; gaiaResetGeosMsg (); if (!geom) return -1; if (gaiaIsToxic (geom)) @@ -2656,14 +2390,10 @@ g = gaiaToGeos (geom); ret = GEOSisSimple (g); GEOSGeom_destroy (g); if (ret == 2) return -1; -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaIsSimple_r (const void *p_cache, gaiaGeomCollPtr geom) @@ -2697,14 +2427,13 @@ GAIAGEO_DECLARE int gaiaIsRing (gaiaLinestringPtr line) { /* checks if this LINESTRING can be a valid RING */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ gaiaGeomCollPtr geo; gaiaLinestringPtr line2; + int ret; int iv; double x; double y; double z; double m; @@ -2767,14 +2496,10 @@ gaiaFreeGeomColl (geo); ret = GEOSisRing (g); GEOSGeom_destroy (g); if (ret == 2) return -1; -#else - if (line == NULL) - line = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaIsRing_r (const void *p_cache, gaiaLinestringPtr line) @@ -2865,12 +2590,11 @@ GAIAGEO_DECLARE int gaiaIsValid (gaiaGeomCollPtr geom) { /* checks if this GEOMETRYCOLLECTION is a valid one */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g; gaiaResetGeosMsg (); if (!geom) return -1; if (gaiaIsToxic (geom)) @@ -2880,14 +2604,10 @@ g = gaiaToGeos (geom); ret = GEOSisValid (g); GEOSGeom_destroy (g); if (ret == 2) return -1; -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaIsValid_r (const void *p_cache, gaiaGeomCollPtr geom) @@ -2924,12 +2644,11 @@ GAIAGEO_DECLARE char * gaiaIsValidReason (gaiaGeomCollPtr geom) { /* return a TEXT string stating if a Geometry is valid / and if not valid, a reason why */ - char *text = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + char *text; int len; const char *str; char *gstr; GEOSGeometry *g; gaiaResetGeosMsg (); @@ -2964,14 +2683,10 @@ return NULL; len = strlen (gstr); text = malloc (len + 1); strcpy (text, gstr); GEOSFree (gstr); -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return text; } GAIAGEO_DECLARE char * gaiaIsValidReason_r (const void *p_cache, gaiaGeomCollPtr geom) @@ -3001,19 +2716,19 @@ len = strlen (str); text = malloc (len + 1); strcpy (text, str); return text; } - if (gaiaIsToxic_r (cache, geom)) + if (gaiaIsToxic (geom)) { str = "Invalid: Toxic Geometry ... too few points"; len = strlen (str); text = malloc (len + 1); strcpy (text, str); return text; } - if (gaiaIsNotClosedGeomColl_r (cache, geom)) + if (gaiaIsNotClosedGeomColl (geom)) { str = "Invalid: Unclosed Rings were detected"; len = strlen (str); text = malloc (len + 1); strcpy (text, str); @@ -3030,52 +2745,38 @@ GEOSFree_r (handle, gstr); return text; } GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaIsValidDetailEx (gaiaGeomCollPtr geom, int esri_flag) +gaiaIsValidDetail (gaiaGeomCollPtr geom) { /* return a Geometry detail causing a Geometry to be invalid */ - gaiaGeomCollPtr detail = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ char *reason = NULL; GEOSGeometry *g; GEOSGeometry *d = NULL; + gaiaGeomCollPtr detail; gaiaResetGeosMsg (); if (!geom) return NULL; if (gaiaIsToxic (geom)) return NULL; if (gaiaIsNotClosedGeomColl (geom)) return NULL; g = gaiaToGeos (geom); - if (esri_flag) - esri_flag = GEOSVALID_ALLOW_SELFTOUCHING_RING_FORMING_HOLE; - GEOSisValidDetail (g, esri_flag, &reason, &d); + GEOSisValidDetail (g, 0, &reason, &d); GEOSGeom_destroy (g); if (reason != NULL) GEOSFree (reason); if (d == NULL) return NULL; detail = gaiaFromGeos_XY (d); GEOSGeom_destroy (d); -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return detail; } GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaIsValidDetail (gaiaGeomCollPtr geom) -{ -/* return a Geometry detail causing a Geometry to be invalid */ - return gaiaIsValidDetailEx (geom, 0); -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaIsValidDetailEx_r (const void *p_cache, gaiaGeomCollPtr geom, int esri_flag) +gaiaIsValidDetail_r (const void *p_cache, gaiaGeomCollPtr geom) { /* return a Geometry detail causing a Geometry to be invalid */ char *reason = NULL; GEOSGeometry *g; GEOSGeometry *d = NULL; @@ -3094,16 +2795,14 @@ gaiaResetGeosMsg_r (cache); if (!geom) return NULL; if (gaiaIsToxic (geom)) return NULL; - if (gaiaIsNotClosedGeomColl_r (cache, geom)) + if (gaiaIsNotClosedGeomColl (geom)) return NULL; g = gaiaToGeos_r (cache, geom); - if (esri_flag) - esri_flag = GEOSVALID_ALLOW_SELFTOUCHING_RING_FORMING_HOLE; - GEOSisValidDetail_r (handle, g, esri_flag, &reason, &d); + GEOSisValidDetail_r (handle, g, 0, &reason, &d); GEOSGeom_destroy_r (handle, g); if (reason != NULL) GEOSFree_r (handle, reason); if (d == NULL) return NULL; @@ -3110,17 +2809,10 @@ detail = gaiaFromGeos_XY_r (cache, d); GEOSGeom_destroy_r (handle, d); return detail; } -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaIsValidDetail_r (const void *p_cache, gaiaGeomCollPtr geom) -{ -/* return a Geometry detail causing a Geometry to be invalid */ - return gaiaIsValidDetailEx_r (p_cache, geom, 0); -} - GAIAGEO_DECLARE int gaiaIsClosedGeom_r (const void *cache, gaiaGeomCollPtr geom) { /* checks if this geometry is a closed linestring (or multilinestring) */ int ret = 0; @@ -3186,12 +2878,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify (gaiaGeomCollPtr geom, double tolerance) { /* builds a simplified geometry using the Douglas-Peuker algorihtm */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom) return NULL; @@ -3212,14 +2903,10 @@ geo = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (geo == NULL) return NULL; geo->Srid = geom->Srid; -#else - if (geom == NULL || tolerance == 0.0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify_r (const void *p_cache, gaiaGeomCollPtr geom, @@ -3267,12 +2954,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplifyPreserveTopology (gaiaGeomCollPtr geom, double tolerance) { /* builds a simplified geometry using the Douglas-Peuker algorihtm [preserving topology] */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom) return NULL; @@ -3293,14 +2979,10 @@ geo = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (geo == NULL) return NULL; geo->Srid = geom->Srid; -#else - if (geom == NULL || tolerance == 0.0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplifyPreserveTopology_r (const void *p_cache, @@ -3348,12 +3030,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConvexHull (gaiaGeomCollPtr geom) { /* builds a geometry that is the convex hull of GEOM */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom) return NULL; @@ -3374,14 +3055,10 @@ geo = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (geo == NULL) return NULL; geo->Srid = geom->Srid; -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConvexHull_r (const void *p_cache, gaiaGeomCollPtr geom) @@ -3428,12 +3105,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollBuffer (gaiaGeomCollPtr geom, double radius, int points) { /* builds a geometry that is the GIS buffer of GEOM */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom) return NULL; @@ -3454,14 +3130,10 @@ geo = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (geo == NULL) return NULL; geo->Srid = geom->Srid; -#else - if (geom == NULL || radius == 0.0 || points == 0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollBuffer_r (const void *p_cache, gaiaGeomCollPtr geom, double radius, @@ -3523,15 +3195,10 @@ double y; double z; gaiaPolygonPtr pg; gaiaRingPtr rng; -#ifdef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - if (handle == NULL) - return; -#endif - if (handle != NULL) { geos_ring = GEOSGetExteriorRing_r (handle, geos); interiors = GEOSGetNumInteriorRings_r (handle, geos); coords = GEOSGeom_getCoordSeq_r (handle, geos_ring); @@ -3538,17 +3205,15 @@ GEOSCoordSeq_getDimensions_r (handle, coords, &geos_dims); GEOSCoordSeq_getSize_r (handle, coords, &pts); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_ring = GEOSGetExteriorRing (geos); interiors = GEOSGetNumInteriorRings (geos); coords = GEOSGeom_getCoordSeq (geos_ring); GEOSCoordSeq_getDimensions (coords, &geos_dims); GEOSCoordSeq_getSize (coords, &pts); -#endif } pg = gaiaAddPolygonToGeomColl (result, pts, interiors); /* setting up the Exterior ring */ rng = pg->Exterior; @@ -3562,15 +3227,13 @@ GEOSCoordSeq_getY_r (handle, coords, iv, &y); GEOSCoordSeq_getZ_r (handle, coords, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (coords, iv, &x); GEOSCoordSeq_getY (coords, iv, &y); GEOSCoordSeq_getZ (coords, iv, &z); -#endif } } else { if (handle != NULL) @@ -3578,14 +3241,12 @@ GEOSCoordSeq_getX_r (handle, coords, iv, &x); GEOSCoordSeq_getY_r (handle, coords, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (coords, iv, &x); GEOSCoordSeq_getY (coords, iv, &y); -#endif } z = 0.0; } if (rng->DimensionModel == GAIA_XY_Z) { @@ -3615,16 +3276,14 @@ GEOSCoordSeq_getDimensions_r (handle, coords, &geos_dims); GEOSCoordSeq_getSize_r (handle, coords, &pts); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_ring = GEOSGetInteriorRingN (geos, ib); coords = GEOSGeom_getCoordSeq (geos_ring); GEOSCoordSeq_getDimensions (coords, &geos_dims); GEOSCoordSeq_getSize (coords, &pts); -#endif } rng = gaiaAddInteriorRing (pg, ib, pts); for (iv = 0; iv < (int) pts; iv++) { if (geos_dims == 3) @@ -3635,15 +3294,13 @@ GEOSCoordSeq_getY_r (handle, coords, iv, &y); GEOSCoordSeq_getZ_r (handle, coords, iv, &z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (coords, iv, &x); GEOSCoordSeq_getY (coords, iv, &y); GEOSCoordSeq_getZ (coords, iv, &z); -#endif } } else { if (handle != NULL) @@ -3651,14 +3308,12 @@ GEOSCoordSeq_getX_r (handle, coords, iv, &x); GEOSCoordSeq_getY_r (handle, coords, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (coords, iv, &x); GEOSCoordSeq_getY (coords, iv, &y); -#endif } z = 0.0; } if (rng->DimensionModel == GAIA_XY_Z) { @@ -3700,14 +3355,12 @@ GEOSCoordSeq_getX_r (handle, cs, iv, &x); GEOSCoordSeq_getY_r (handle, cs, iv, &y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_getX (cs, iv, &x); GEOSCoordSeq_getY (cs, iv, &y); -#endif } if (x < *min_x) *min_x = x; if (x > *max_x) *max_x = x; @@ -3730,11 +3383,11 @@ int geos_dims = 2; int pts = 0; int lns = 0; int pgs = 0; int items; - int error = 0; + int error; double x; double y; double z; double m; gaiaGeomCollPtr result = NULL; @@ -3760,26 +3413,18 @@ double max_x2; double min_y2; double max_y2; int ret; -#ifdef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - if (handle == NULL) - return NULL; -#endif if (!geom) return NULL; - if (cache != NULL) ret = gaiaIsToxic_r (cache, geom); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else ret = gaiaIsToxic (geom); -#endif if (ret) return NULL; - pt = geom->FirstPoint; while (pt) { pts++; pt = pt->Next; @@ -3818,14 +3463,12 @@ ln = geom->FirstLinestring; while (ln) { if (handle != NULL) cs = GEOSCoordSeq_create_r (handle, ln->Points, geos_dims); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else cs = GEOSCoordSeq_create (ln->Points, geos_dims); -#endif for (iv = 0; iv < ln->Points; iv++) { /* exterior ring segments */ z = 0.0; if (ln->DimensionModel == GAIA_XY_Z) @@ -3852,15 +3495,13 @@ GEOSCoordSeq_setY_r (handle, cs, iv, y); GEOSCoordSeq_setZ_r (handle, cs, iv, z); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); GEOSCoordSeq_setZ (cs, iv, z); -#endif } } else { if (handle != NULL) @@ -3868,33 +3509,27 @@ GEOSCoordSeq_setX_r (handle, cs, iv, x); GEOSCoordSeq_setY_r (handle, cs, iv, y); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSCoordSeq_setX (cs, iv, x); GEOSCoordSeq_setY (cs, iv, y); -#endif } } } if (handle != NULL) *p_item++ = GEOSGeom_createLineString_r (handle, cs); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else *p_item++ = GEOSGeom_createLineString (cs); -#endif ln = ln->Next; } /* calling GEOSPolygonize */ if (handle != NULL) geos = GEOSPolygonize_r (handle, geos_list, lns); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos = GEOSPolygonize (geos_list, lns); -#endif if (geos == NULL) goto cleanup; /* / @@ -3907,14 +3542,12 @@ / */ error = 0; if (handle != NULL) items = GEOSGetNumGeometries_r (handle, geos); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else items = GEOSGetNumGeometries (geos); -#endif for (ig = 0; ig < items; ig++) { /* looping on elementaty GEOS geometries */ if (handle != NULL) { @@ -3926,19 +3559,17 @@ goto cleanup; } } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_item = GEOSGetGeometryN (geos, ig); if (GEOSGeomTypeId (geos_item) != GEOS_POLYGON) { /* not a Polygon ... ouch ... */ error = 1; goto cleanup; } -#endif } } /* identifying valid Polygons [excluding holes] */ valid_polygons = malloc (items); @@ -3952,14 +3583,12 @@ geos_item = GEOSGetGeometryN_r (handle, geos, ig); interiors = GEOSGetNumInteriorRings_r (handle, geos_item); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_item = GEOSGetGeometryN (geos, ig); interiors = GEOSGetNumInteriorRings (geos_item); -#endif } for (ib = 0; ib < interiors; ib++) { /* looping on any interior ring */ if (handle != NULL) @@ -3969,15 +3598,13 @@ coords = GEOSGeom_getCoordSeq_r (handle, geos_ring); GEOSCoordSeq_getSize_r (handle, coords, &pts1); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_ring = GEOSGetInteriorRingN (geos_item, ib); coords = GEOSGeom_getCoordSeq (geos_ring); GEOSCoordSeq_getSize (coords, &pts1); -#endif } auxGeosMbr (handle, coords, pts1, &min_x1, &min_y1, &max_x1, &max_y1); for (iv = 0; iv < items; iv++) { @@ -4005,21 +3632,19 @@ coords = GEOSGeom_getCoordSeq_r (handle, geos_ring); GEOSCoordSeq_getSize_r (handle, coords, &pts2); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ geos_item2 = GEOSGetGeometryN (geos, iv); if (GEOSGetNumInteriorRings (geos_item2) > 0) { /* this Polygon contains holes [surely valid] */ continue; } geos_ring = GEOSGetExteriorRing (geos_item2); coords = GEOSGeom_getCoordSeq (geos_ring); GEOSCoordSeq_getSize (coords, &pts2); -#endif } if (pts1 == pts2) { auxGeosMbr (handle, coords, pts2, &min_x2, &min_y2, &max_x2, &max_y2); @@ -4052,14 +3677,12 @@ for (ig = 0; ig < items; ig++) { /* looping on GEOS Polygons */ if (handle != NULL) geos_item = GEOSGetGeometryN_r (handle, geos, ig); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else geos_item = GEOSGetGeometryN (geos, ig); -#endif if (valid_polygons[ig] == 'Y') auxFromGeosPolygon (handle, geos_item, result); } cleanup: @@ -4073,14 +3696,12 @@ { if (*p_item != NULL) { if (handle != NULL) GEOSGeom_destroy_r (handle, *p_item); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else GEOSGeom_destroy (*p_item); -#endif } p_item++; } p_item = (GEOSGeometry **) geos_list; free (p_item); @@ -4087,14 +3708,12 @@ } if (geos != NULL) { if (handle != NULL) GEOSGeom_destroy_r (handle, geos); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else GEOSGeom_destroy (geos); -#endif } if (error || result->FirstPolygon == NULL) { gaiaFreeGeomColl (result); return NULL; @@ -4131,12 +3750,11 @@ GAIAGEO_DECLARE int gaiaGeomCollCovers (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if geom1 "spatially covers" geom2 */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -4150,14 +3768,10 @@ ret = GEOSCovers (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); if (ret == 2) return -1; -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollCovers_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -4254,12 +3868,11 @@ GAIAGEO_DECLARE int gaiaGeomCollCoveredBy (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { /* checks if geom1 is "spatially covered by" geom2 */ - int ret = -1; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return -1; @@ -4273,14 +3886,10 @@ ret = GEOSCoveredBy (g1, g2); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); if (ret == 2) return -1; -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaGeomCollCoveredBy_r (const void *p_cache, gaiaGeomCollPtr geom1, Index: src/gaiageo/gg_relations_ext.c ================================================================== --- src/gaiageo/gg_relations_ext.c +++ src/gaiageo/gg_relations_ext.c @@ -1,10 +1,10 @@ /* gg_relations_ext.c -- Gaia spatial relations [advanced] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -54,15 +54,10 @@ #else #include "config.h" #endif #ifndef OMIT_GEOS /* including GEOS */ -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif #include #endif #include #include @@ -78,12 +73,11 @@ /* // builds a geometry that is the OffsetCurve of GEOM // (which is expected to be of the LINESTRING type) // */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; gaiaPointPtr pt; gaiaLinestringPtr ln; gaiaPolygonPtr pg; @@ -143,14 +137,10 @@ geo = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (geo == NULL) return NULL; geo->Srid = geom->Srid; -#else - if (geom == NULL || radius == 0.0 || points == 0 || left_right == 0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaOffsetCurve_r (const void *p_cache, gaiaGeomCollPtr geom, double radius, @@ -247,12 +237,11 @@ /* // builds a geometry that is the SingleSided BUFFER of GEOM // (which is expected to be of the LINESTRING type) // */ - gaiaGeomCollPtr geo = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ + gaiaGeomCollPtr geo; GEOSGeometry *g1; GEOSGeometry *g2; GEOSBufferParams *params = NULL; gaiaPointPtr pt; gaiaLinestringPtr ln; @@ -324,14 +313,10 @@ geo = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (geo == NULL) return NULL; geo->Srid = geom->Srid; -#else - if (geom == NULL || radius == 0.0 || points == 0 || left_right == 0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return geo; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSingleSidedBuffer_r (const void *p_cache, gaiaGeomCollPtr geom, @@ -438,13 +423,12 @@ { /* / computes the (discrete) Hausdorff distance intercurring / between GEOM-1 and GEOM-2 */ - int ret = 0; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ double dist; + int ret; GEOSGeometry *g1; GEOSGeometry *g2; gaiaResetGeosMsg (); if (!geom1 || !geom2) return 0; @@ -453,14 +437,10 @@ ret = GEOSHausdorffDistance (g1, g2, &dist); GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); if (ret) *xdist = dist; -#else - if (geom1 == NULL || geom2 == NULL || xdist == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return ret; } GAIAGEO_DECLARE int gaiaHausdorffDistance_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1075,13 +1055,12 @@ /* // builds a geometry containing Shared Paths commons to GEOM1 & GEOM2 // (which are expected to be of the LINESTRING/MULTILINESTRING type) // */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ gaiaGeomCollPtr geo; + gaiaGeomCollPtr result; gaiaGeomCollPtr line1; gaiaGeomCollPtr line2; GEOSGeometry *g1; GEOSGeometry *g2; GEOSGeometry *g3; @@ -1123,14 +1102,10 @@ if (geo == NULL) return NULL; geo->Srid = geom1->Srid; result = arrange_shared_paths (geo); gaiaFreeGeomColl (geo); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSharedPaths_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1208,15 +1183,14 @@ /* * attempts to intepolate a point on line at dist "fraction" * * the fraction is expressed into the range from 0.0 to 1.0 */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ int pts = 0; int lns = 0; int pgs = 0; + gaiaGeomCollPtr result; gaiaPointPtr pt; gaiaLinestringPtr ln; gaiaPolygonPtr pg; GEOSGeometry *g; GEOSGeometry *g_pt; @@ -1279,14 +1253,10 @@ result = gaiaFromGeos_XY (g_pt); GEOSGeom_destroy (g_pt); if (result == NULL) return NULL; result->Srid = geom->Srid; -#else - if (geom == NULL || fraction == 0.0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineInterpolatePoint_r (const void *p_cache, gaiaGeomCollPtr geom, @@ -1400,24 +1370,19 @@ GEOSGeometry *g; GEOSGeometry *g_pt; double length; double current_length = 0.0; GEOSContextHandle_t handle = NULL; - if (cache != NULL) { if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 || cache->magic2 != SPATIALITE_CACHE_MAGIC2) return NULL; handle = cache->GEOS_handle; if (handle == NULL) return NULL; } -#ifdef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - if (handle == NULL) - return NULL; -#endif if (!geom) return NULL; if (distance <= 0.0) return NULL; @@ -1463,11 +1428,10 @@ return NULL; } } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ g = gaiaToGeos (geom); if (GEOSLength (g, &length)) { if (length <= distance) { @@ -1479,11 +1443,10 @@ else { GEOSGeom_destroy (g); return NULL; } -#endif } /* creating the MultiPoint [always supporting M] */ if (geom->DimensionModel == GAIA_XY_Z || geom->DimensionModel == GAIA_XY_Z_M) @@ -1490,22 +1453,12 @@ result = gaiaAllocGeomCollXYZM (); else result = gaiaAllocGeomCollXYM (); if (result == NULL) { - if (cache != NULL) - { - GEOSGeom_destroy_r (handle, g); - return NULL; - } - else - { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - GEOSGeom_destroy (g); - return NULL; -#endif - } + GEOSGeom_destroy (g); + return NULL; } while (1) { /* increasing the current distance */ @@ -1513,14 +1466,12 @@ if (current_length >= length) break; /* interpolating a point */ if (handle != NULL) g_pt = GEOSInterpolate_r (handle, g, current_length); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else g_pt = GEOSInterpolate (g, current_length); -#endif if (!g_pt) goto error; if (geom->DimensionModel == GAIA_XY_Z) { if (cache != NULL) @@ -1577,22 +1528,18 @@ gaiaAddPointToGeomCollXYM (result, pt->X, pt->Y, current_length); } if (handle != NULL) GEOSGeom_destroy_r (handle, g_pt); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else GEOSGeom_destroy (g_pt); -#endif gaiaFreeGeomColl (xpt); } if (handle != NULL) GEOSGeom_destroy_r (handle, g); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else GEOSGeom_destroy (g); -#endif result->Srid = geom->Srid; result->DeclaredType = GAIA_MULTIPOINT; return result; error: @@ -1602,15 +1549,13 @@ GEOSGeom_destroy_r (handle, g_pt); GEOSGeom_destroy_r (handle, g); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ if (g_pt) GEOSGeom_destroy (g_pt); GEOSGeom_destroy (g); -#endif } gaiaFreeGeomColl (result); return NULL; } @@ -1647,20 +1592,19 @@ * attempts to compute the location of the closest point on LineString * to the given Point, as a fraction of total 2d line length * * the fraction is expressed into the range from 0.0 to 1.0 */ - double result = -1.0; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ int pts1 = 0; int lns1 = 0; int pgs1 = 0; int pts2 = 0; int lns2 = 0; int pgs2 = 0; double length; double projection; + double result; gaiaPointPtr pt; gaiaLinestringPtr ln; gaiaPolygonPtr pg; GEOSGeometry *g1; GEOSGeometry *g2; @@ -1726,14 +1670,10 @@ } else result = -1.0; GEOSGeom_destroy (g1); GEOSGeom_destroy (g2); -#else - if (geom1 == NULL || geom2 == NULL) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE double gaiaLineLocatePoint_r (const void *p_cache, gaiaGeomCollPtr geom1, @@ -1870,28 +1810,21 @@ int points; double x; double y; double z; double m; - double x0; - double y0; unsigned int dims; GEOSContextHandle_t handle = NULL; - if (cache != NULL) { if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 || cache->magic2 != SPATIALITE_CACHE_MAGIC2) return NULL; handle = cache->GEOS_handle; if (handle == NULL) return NULL; } -#ifdef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - if (handle == NULL) - return NULL; -#endif if (!geom) return NULL; /* checking if a single Linestring has been passed */ pt = geom->FirstPoint; @@ -1944,11 +1877,10 @@ g_end = GEOSInterpolate_r (handle, g, end); GEOSGeom_destroy_r (handle, g); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ g = gaiaToGeos (geom); if (GEOSLength (g, &length)) { start = length * start_fraction; end = length * end_fraction; @@ -1959,21 +1891,21 @@ return NULL; } g_start = GEOSInterpolate (g, start); g_end = GEOSInterpolate (g, end); GEOSGeom_destroy (g); -#endif } if (!g_start || !g_end) return NULL; /* identifying first and last valid vertex */ - x0 = 0.0; - y0 = 0.0; ln = geom->FirstLinestring; for (iv = 0; iv < ln->Points; iv++) { + + double x0; + double y0; switch (ln->DimensionModel) { case GAIA_XY_Z: gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); break; @@ -2002,21 +1934,19 @@ total += length; GEOSGeom_destroy_r (handle, segm); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (2, 2); GEOSCoordSeq_setX (cs, 0, x0); GEOSCoordSeq_setY (cs, 0, y0); GEOSCoordSeq_setX (cs, 1, x); GEOSCoordSeq_setY (cs, 1, y); segm = GEOSGeom_createLineString (cs); GEOSLength (segm, &length); total += length; GEOSGeom_destroy (segm); -#endif } if (total > start && i_start < 0) i_start = iv; if (total < end) i_end = iv; @@ -2074,11 +2004,10 @@ } GEOSGeom_destroy_r (handle, g_start); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ in_cs = GEOSGeom_getCoordSeq (g_start); GEOSCoordSeq_getDimensions (in_cs, &dims); if (dims == 3) { GEOSCoordSeq_getX (in_cs, 0, &x); @@ -2092,11 +2021,10 @@ GEOSCoordSeq_getY (in_cs, 0, &y); z = 0.0; m = 0.0; } GEOSGeom_destroy (g_start); -#endif } switch (out->DimensionModel) { case GAIA_XY_Z: gaiaSetPointXYZ (out->Coords, points, x, y, z); @@ -2176,11 +2104,10 @@ } GEOSGeom_destroy_r (handle, g_end); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ in_cs = GEOSGeom_getCoordSeq (g_end); GEOSCoordSeq_getDimensions (in_cs, &dims); if (dims == 3) { GEOSCoordSeq_getX (in_cs, 0, &x); @@ -2194,11 +2121,10 @@ GEOSCoordSeq_getY (in_cs, 0, &y); z = 0.0; m = 0.0; } GEOSGeom_destroy (g_end); -#endif } switch (out->DimensionModel) { case GAIA_XY_Z: gaiaSetPointXYZ (out->Coords, points, x, y, z); @@ -2258,22 +2184,16 @@ double m; gaiaPointPtr pt; gaiaLinestringPtr ln; gaiaPolygonPtr pg; gaiaRingPtr rng; - GEOSGeometry *geos = NULL; + GEOSGeometry *geos; GEOSGeometry *geos_item; GEOSGeometry **geos_coll; GEOSCoordSequence *cs; - -#ifdef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - if (handle == NULL) - return NULL; -#endif if (!gaia) return NULL; - pt = gaia->FirstPoint; while (pt) { /* counting how many POINTs are there */ pts++; @@ -2335,11 +2255,10 @@ }; geos_item = GEOSGeom_createPoint_r (handle, cs); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (1, dims); switch (pt->DimensionModel) { case GAIA_XY_Z: case GAIA_XY_Z_M: @@ -2351,11 +2270,10 @@ GEOSCoordSeq_setX (cs, 0, pt->X); GEOSCoordSeq_setY (cs, 0, pt->Y); break; }; geos_item = GEOSGeom_createPoint (cs); -#endif } *(geos_coll + nItem++) = geos_item; pt = pt->Next; } ln = gaia->FirstLinestring; @@ -2396,11 +2314,10 @@ } geos_item = GEOSGeom_createPoint_r (handle, cs); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (1, dims); if (dims == 3) { GEOSCoordSeq_setX (cs, 0, x); GEOSCoordSeq_setY (cs, 0, y); @@ -2410,11 +2327,10 @@ { GEOSCoordSeq_setX (cs, 0, x); GEOSCoordSeq_setY (cs, 0, y); } geos_item = GEOSGeom_createPoint (cs); -#endif } *(geos_coll + nItem++) = geos_item; } ln = ln->Next; } @@ -2458,11 +2374,10 @@ } geos_item = GEOSGeom_createPoint_r (handle, cs); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (1, dims); if (dims == 3) { GEOSCoordSeq_setX (cs, 0, x); GEOSCoordSeq_setY (cs, 0, y); @@ -2472,11 +2387,10 @@ { GEOSCoordSeq_setX (cs, 0, x); GEOSCoordSeq_setY (cs, 0, y); } geos_item = GEOSGeom_createPoint (cs); -#endif } *(geos_coll + nItem++) = geos_item; } for (ib = 0; ib < pg->NumInteriors; ib++) { @@ -2518,11 +2432,10 @@ } geos_item = GEOSGeom_createPoint_r (handle, cs); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (1, dims); if (dims == 3) { GEOSCoordSeq_setX (cs, 0, x); GEOSCoordSeq_setY (cs, 0, y); @@ -2532,11 +2445,10 @@ { GEOSCoordSeq_setX (cs, 0, x); GEOSCoordSeq_setY (cs, 0, y); } geos_item = GEOSGeom_createPoint (cs); -#endif } *(geos_coll + nItem++) = geos_item; } } pg = pg->Next; @@ -2547,18 +2459,16 @@ GEOSGeom_createCollection_r (handle, GEOS_MULTIPOINT, geos_coll, pts); free (geos_coll); GEOSSetSRID_r (handle, geos, gaia->Srid); } -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else { geos = GEOSGeom_createCollection (GEOS_MULTIPOINT, geos_coll, pts); free (geos_coll); GEOSSetSRID (geos, gaia->Srid); } -#endif return geos; } static GEOSGeometry * buildGeosSegments (GEOSContextHandle_t handle, const gaiaGeomCollPtr gaia) @@ -2571,28 +2481,22 @@ int nItem; double x; double y; double z; double m; - double x0 = 0.0; - double y0 = 0.0; - double z0 = 0.0; + double x0; + double y0; + double z0; gaiaLinestringPtr ln; gaiaPolygonPtr pg; gaiaRingPtr rng; - GEOSGeometry *geos = NULL; + GEOSGeometry *geos; GEOSGeometry *geos_item; GEOSGeometry **geos_coll; GEOSCoordSequence *cs; - -#ifdef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - if (handle == NULL) - return NULL; -#endif if (!gaia) return NULL; - ln = gaia->FirstLinestring; while (ln) { /* counting how many SEGMENTs are there */ segms += ln->Points - 1; @@ -2672,11 +2576,10 @@ geos_item = GEOSGeom_createLineString_r (handle, cs); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (2, dims); if (dims == 3) { GEOSCoordSeq_setX (cs, 0, x0); GEOSCoordSeq_setY (cs, 0, y0); @@ -2691,11 +2594,10 @@ GEOSCoordSeq_setY (cs, 0, y0); GEOSCoordSeq_setX (cs, 1, x); GEOSCoordSeq_setY (cs, 1, y); } geos_item = GEOSGeom_createLineString (cs); -#endif } *(geos_coll + nItem++) = geos_item; } x0 = x; y0 = y; @@ -2751,11 +2653,10 @@ geos_item = GEOSGeom_createLineString_r (handle, cs); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (2, dims); if (dims == 3) { GEOSCoordSeq_setX (cs, 0, x0); GEOSCoordSeq_setY (cs, 0, y0); @@ -2770,11 +2671,10 @@ GEOSCoordSeq_setY (cs, 0, y0); GEOSCoordSeq_setX (cs, 1, x); GEOSCoordSeq_setY (cs, 1, y); } geos_item = GEOSGeom_createLineString (cs); -#endif } *(geos_coll + nItem++) = geos_item; } x0 = x; y0 = y; @@ -2828,11 +2728,10 @@ geos_item = GEOSGeom_createLineString_r (handle, cs); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSCoordSeq_create (2, dims); if (dims == 3) { GEOSCoordSeq_setX (cs, 0, x0); GEOSCoordSeq_setY (cs, 0, y0); @@ -2847,11 +2746,10 @@ GEOSCoordSeq_setY (cs, 0, y0); GEOSCoordSeq_setX (cs, 1, x); GEOSCoordSeq_setY (cs, 1, y); } geos_item = GEOSGeom_createLineString (cs); -#endif } *(geos_coll + nItem++) = geos_item; } x0 = x; y0 = y; @@ -2866,67 +2764,60 @@ GEOSGeom_createCollection_r (handle, GEOS_MULTILINESTRING, geos_coll, segms); free (geos_coll); GEOSSetSRID_r (handle, geos, gaia->Srid); } -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else { geos = GEOSGeom_createCollection (GEOS_MULTILINESTRING, geos_coll, segms); free (geos_coll); GEOSSetSRID (geos, gaia->Srid); } -#endif return geos; } static gaiaGeomCollPtr gaiaShortestLineCommon (struct splite_internal_cache *cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2) { -/* attempts to compute the shortest line between two geometries */ +/* attempts to compute the the shortest line between two geometries */ GEOSGeometry *g1_points; GEOSGeometry *g1_segments; const GEOSGeometry *g1_item; GEOSGeometry *g2_points; GEOSGeometry *g2_segments; const GEOSGeometry *g2_item; const GEOSCoordSequence *cs; GEOSGeometry *g_pt; - gaiaGeomCollPtr result = NULL; + gaiaGeomCollPtr result; gaiaLinestringPtr ln; int nItems1; int nItems2; int it1; int it2; unsigned int dims; - double x_ini = 0.0; - double y_ini = 0.0; - double z_ini = 0.0; - double x_fin = 0.0; - double y_fin = 0.0; - double z_fin = 0.0; + double x_ini; + double y_ini; + double z_ini; + double x_fin; + double y_fin; + double z_fin; double dist; double min_dist = DBL_MAX; double projection; GEOSContextHandle_t handle = NULL; - if (cache != NULL) { if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 || cache->magic2 != SPATIALITE_CACHE_MAGIC2) return NULL; handle = cache->GEOS_handle; if (handle == NULL) return NULL; } -#ifdef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ - if (handle == NULL) - return NULL; -#endif if (!geom1 || !geom2) return NULL; g1_points = buildGeosPoints (handle, geom1); g1_segments = buildGeosSegments (handle, geom1); @@ -2941,23 +2832,19 @@ nItems1 = GEOSGetNumGeometries_r (handle, g1_points); nItems2 = GEOSGetNumGeometries_r (handle, g2_points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ nItems1 = GEOSGetNumGeometries (g1_points); nItems2 = GEOSGetNumGeometries (g2_points); -#endif } for (it1 = 0; it1 < nItems1; it1++) { if (handle != NULL) g1_item = GEOSGetGeometryN_r (handle, g1_points, it1); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else g1_item = GEOSGetGeometryN (g1_points, it1); -#endif for (it2 = 0; it2 < nItems2; it2++) { int distret; if (handle != NULL) { @@ -2967,14 +2854,12 @@ GEOSDistance_r (handle, g1_item, g2_item, &dist); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ g2_item = GEOSGetGeometryN (g2_points, it2); distret = GEOSDistance (g1_item, g2_item, &dist); -#endif } if (distret) { if (dist < min_dist) { @@ -3027,11 +2912,10 @@ z_fin = 0.0; } } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ cs = GEOSGeom_getCoordSeq (g1_item); GEOSCoordSeq_getDimensions (cs, &dims); if (dims == 3) { GEOSCoordSeq_getX (cs, 0, &x_ini); @@ -3056,11 +2940,10 @@ { GEOSCoordSeq_getX (cs, 0, &x_fin); GEOSCoordSeq_getY (cs, 0, &y_fin); z_fin = 0.0; } -#endif } } } } } @@ -3074,23 +2957,19 @@ nItems1 = GEOSGetNumGeometries_r (handle, g1_points); nItems2 = GEOSGetNumGeometries_r (handle, g2_segments); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ nItems1 = GEOSGetNumGeometries (g1_points); nItems2 = GEOSGetNumGeometries (g2_segments); -#endif } for (it1 = 0; it1 < nItems1; it1++) { if (handle != NULL) g1_item = GEOSGetGeometryN_r (handle, g1_points, it1); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else g1_item = GEOSGetGeometryN (g1_points, it1); -#endif for (it2 = 0; it2 < nItems2; it2++) { int distret; if (handle != NULL) { @@ -3100,14 +2979,12 @@ GEOSDistance_r (handle, g1_item, g2_item, &dist); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ g2_item = GEOSGetGeometryN (g2_segments, it2); distret = GEOSDistance (g1_item, g2_item, &dist); -#endif } if (distret) { if (dist < min_dist) { @@ -3178,11 +3055,10 @@ GEOSGeom_destroy_r (handle, g_pt); } } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ projection = GEOSProject (g2_item, g1_item); g_pt = GEOSInterpolate (g2_item, projection); @@ -3230,11 +3106,10 @@ &y_fin); z_fin = 0.0; } GEOSGeom_destroy (g_pt); } -#endif } } } } } @@ -3248,23 +3123,19 @@ nItems1 = GEOSGetNumGeometries_r (handle, g1_segments); nItems2 = GEOSGetNumGeometries_r (handle, g2_points); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ nItems1 = GEOSGetNumGeometries (g1_segments); nItems2 = GEOSGetNumGeometries (g2_points); -#endif } for (it1 = 0; it1 < nItems1; it1++) { if (handle != NULL) g1_item = GEOSGetGeometryN_r (handle, g1_segments, it1); -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ else g1_item = GEOSGetGeometryN (g1_segments, it1); -#endif for (it2 = 0; it2 < nItems2; it2++) { int distret; if (handle != NULL) { @@ -3274,14 +3145,12 @@ GEOSDistance_r (handle, g1_item, g2_item, &dist); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ g2_item = GEOSGetGeometryN (g2_points, it2); distret = GEOSDistance (g1_item, g2_item, &dist); -#endif } if (distret) { if (dist < min_dist) { @@ -3352,11 +3221,10 @@ GEOSGeom_destroy_r (handle, g_pt); } } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ projection = GEOSProject (g1_item, g2_item); g_pt = GEOSInterpolate (g1_item, projection); @@ -3404,11 +3272,10 @@ &y_fin); z_fin = 0.0; } GEOSGeom_destroy (g_pt); } -#endif } } } } } @@ -3424,20 +3291,18 @@ if (g2_segments) GEOSGeom_destroy_r (handle, g2_segments); } else { -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ if (g1_points) GEOSGeom_destroy (g1_points); if (g1_segments) GEOSGeom_destroy (g1_segments); if (g2_points) GEOSGeom_destroy (g2_points); if (g2_segments) GEOSGeom_destroy (g2_segments); -#endif } if (min_dist == DBL_MAX || min_dist <= 0.0) return NULL; /* building the shortest line */ @@ -3508,15 +3373,14 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSnap (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double tolerance) { /* attempts to "snap" geom1 on geom2 using the given tolerance */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSGeometry *g1; GEOSGeometry *g2; GEOSGeometry *g3; + gaiaGeomCollPtr result; gaiaResetGeosMsg (); if (!geom1 || !geom2) return NULL; g1 = gaiaToGeos (geom1); @@ -3536,14 +3400,10 @@ result = gaiaFromGeos_XY (g3); GEOSGeom_destroy (g3); if (result == NULL) return NULL; result->Srid = geom1->Srid; -#else - if (geom1 == NULL || geom2 == NULL || tolerance == 0.0) - geom1 = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSnap_r (const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, @@ -3593,14 +3453,13 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineMerge (gaiaGeomCollPtr geom) { /* attempts to reassemble lines from a collection of sparse fragments */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSGeometry *g1; GEOSGeometry *g2; + gaiaGeomCollPtr result; gaiaResetGeosMsg (); if (!geom) return NULL; if (gaiaIsToxic (geom)) return NULL; @@ -3620,14 +3479,10 @@ result = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (result == NULL) return NULL; result->Srid = geom->Srid; -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineMerge_r (const void *p_cache, gaiaGeomCollPtr geom) @@ -3675,14 +3530,13 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnaryUnion (gaiaGeomCollPtr geom) { /* Unary Union (single Collection) */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSGeometry *g1; GEOSGeometry *g2; + gaiaGeomCollPtr result; gaiaResetGeosMsg (); if (!geom) return NULL; if (gaiaIsToxic (geom)) return NULL; @@ -3701,14 +3555,10 @@ result = gaiaFromGeos_XY (g2); GEOSGeom_destroy (g2); if (result == NULL) return NULL; result->Srid = geom->Srid; -#else - if (geom == NULL) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaUnaryUnion_r (const void *p_cache, gaiaGeomCollPtr geom) @@ -3933,12 +3783,10 @@ new_ln = gaiaAddLinestringToGeomColl (result, pts); for (iv = i_start; iv <= i_end; iv++) { - m = 0.0; - z = 0.0; if (ln->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); } else if (ln->DimensionModel == GAIA_XY_M) @@ -4194,14 +4042,13 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDelaunayTriangulation (gaiaGeomCollPtr geom, double tolerance, int only_edges) { /* Delaunay Triangulation */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSGeometry *g1; GEOSGeometry *g2; + gaiaGeomCollPtr result; gaiaResetGeosMsg (); if (!geom) return NULL; g1 = gaiaToGeos (geom); g2 = GEOSDelaunayTriangulation (g1, tolerance, only_edges); @@ -4222,14 +4069,10 @@ result->Srid = geom->Srid; if (only_edges) result->DeclaredType = GAIA_MULTILINESTRING; else result->DeclaredType = GAIA_MULTIPOLYGON; -#else - if (geom == NULL || tolerance == 0.0 || only_edges == 0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDelaunayTriangulation_r (const void *p_cache, gaiaGeomCollPtr geom, @@ -4253,11 +4096,11 @@ gaiaResetGeosMsg_r (cache); if (!geom) return NULL; g1 = gaiaToGeos_r (cache, geom); g2 = GEOSDelaunayTriangulation_r (handle, g1, tolerance, only_edges); - GEOSGeom_destroy_r (handle, g1); + GEOSGeom_destroy (g1); if (!g2) return NULL; if (geom->DimensionModel == GAIA_XY_Z) result = gaiaFromGeos_XYZ_r (cache, g2); else if (geom->DimensionModel == GAIA_XY_M) @@ -4275,271 +4118,26 @@ else result->DeclaredType = GAIA_MULTIPOLYGON; return result; } -#ifdef GEOS_REENTRANT /* only if GEOS >= 3.5.0 directly supporting Voronoj */ -static gaiaGeomCollPtr -voronoj_envelope (gaiaGeomCollPtr geom, double extra_frame_size) -{ -/* building the extended envelope for Voronoj */ - gaiaGeomCollPtr bbox; - gaiaPolygonPtr pg; - gaiaRingPtr rect; - double minx; - double miny; - double maxx; - double maxy; - double ext_x; - double ext_y; - double delta; - double delta2; - - gaiaMbrGeometry (geom); -/* setting the frame extent */ - if (extra_frame_size < 0.0) - extra_frame_size = 5.0; - ext_x = geom->MaxX - geom->MinX; - ext_y = geom->MaxY - geom->MinY; - delta = (ext_x * extra_frame_size) / 100.0; - delta2 = (ext_y * extra_frame_size) / 100.0; - if (delta2 > delta) - delta = delta2; - minx = geom->MinX - delta; - miny = geom->MinY - delta; - maxx = geom->MaxX + delta; - maxy = geom->MaxY + delta; - -/* building the frame */ - if (geom->DimensionModel == GAIA_XY_Z) - bbox = gaiaAllocGeomCollXYZ (); - else if (geom->DimensionModel == GAIA_XY_M) - bbox = gaiaAllocGeomCollXYM (); - else if (geom->DimensionModel == GAIA_XY_Z_M) - bbox = gaiaAllocGeomCollXYZM (); - else - bbox = gaiaAllocGeomColl (); - bbox->Srid = geom->Srid; - bbox->DeclaredType = GAIA_POLYGON; - pg = gaiaAddPolygonToGeomColl (bbox, 5, 0); - rect = pg->Exterior; - if (geom->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (rect->Coords, 0, minx, miny, 0.0); - gaiaSetPointXYZ (rect->Coords, 1, maxx, miny, 0.0); - gaiaSetPointXYZ (rect->Coords, 2, maxx, maxy, 0.0); - gaiaSetPointXYZ (rect->Coords, 3, minx, maxy, 0.0); - gaiaSetPointXYZ (rect->Coords, 4, minx, miny, 0.0); - } - else if (geom->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (rect->Coords, 0, minx, miny, 0.0); - gaiaSetPointXYM (rect->Coords, 1, maxx, miny, 0.0); - gaiaSetPointXYM (rect->Coords, 2, maxx, maxy, 0.0); - gaiaSetPointXYM (rect->Coords, 3, minx, maxy, 0.0); - gaiaSetPointXYM (rect->Coords, 4, minx, miny, 0.0); - } - else if (geom->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (rect->Coords, 0, minx, miny, 0.0, 0.0); - gaiaSetPointXYZM (rect->Coords, 1, maxx, miny, 0.0, 0.0); - gaiaSetPointXYZM (rect->Coords, 2, maxx, maxy, 0.0, 0.0); - gaiaSetPointXYZM (rect->Coords, 3, minx, maxy, 0.0, 0.0); - gaiaSetPointXYZM (rect->Coords, 4, minx, miny, 0.0, 0.0); - } - else - { - gaiaSetPoint (rect->Coords, 0, minx, miny); /* vertex # 1 */ - gaiaSetPoint (rect->Coords, 1, maxx, miny); /* vertex # 2 */ - gaiaSetPoint (rect->Coords, 2, maxx, maxy); /* vertex # 3 */ - gaiaSetPoint (rect->Coords, 3, minx, maxy); /* vertex # 4 */ - gaiaSetPoint (rect->Coords, 4, minx, miny); /* vertex # 5 [same as vertex # 1 to close the polygon] */ - } - - return bbox; -} - -static int -voronoj_mbr_contains (gaiaGeomCollPtr g1, gaiaGeomCollPtr g2) -{ -/* checks if MBR#1 fully contains MBR#2 */ - if (g2->MinX < g1->MinX) - return 0; - if (g2->MaxX > g1->MaxX) - return 0; - if (g2->MinY < g1->MinY) - return 0; - if (g2->MaxY > g1->MaxY) - return 0; - return 1; -} - -static int -voronoj_mbr_overlaps (gaiaGeomCollPtr g1, gaiaGeomCollPtr g2) -{ -/* checks if two MBRs do overlap */ - if (g1->MaxX < g2->MinX) - return 0; - if (g1->MinX > g2->MaxX) - return 0; - if (g1->MaxY < g2->MinY) - return 0; - if (g1->MinY > g2->MaxY) - return 0; - return 1; -} - -static gaiaGeomCollPtr -voronoj_postprocess (struct splite_internal_cache *cache, gaiaGeomCollPtr raw, - gaiaGeomCollPtr envelope, int only_edges) -{ -/* postprocessing the result returned by GEOS Voronoj */ - gaiaGeomCollPtr candidate; - gaiaGeomCollPtr result; - gaiaGeomCollPtr framed; - gaiaPolygonPtr pg; - gaiaPolygonPtr new_pg; - - if (raw->DimensionModel == GAIA_XY_Z) - result = gaiaAllocGeomCollXYZ (); - else if (raw->DimensionModel == GAIA_XY_M) - result = gaiaAllocGeomCollXYM (); - else if (raw->DimensionModel == GAIA_XY_Z_M) - result = gaiaAllocGeomCollXYZM (); - else - result = gaiaAllocGeomColl (); - result->Srid = raw->Srid; - result->DeclaredType = GAIA_MULTIPOLYGON; - - if (raw->DimensionModel == GAIA_XY_Z) - candidate = gaiaAllocGeomCollXYZ (); - else if (raw->DimensionModel == GAIA_XY_M) - candidate = gaiaAllocGeomCollXYM (); - else if (raw->DimensionModel == GAIA_XY_Z_M) - candidate = gaiaAllocGeomCollXYZM (); - else - candidate = gaiaAllocGeomColl (); - candidate->Srid = raw->Srid; - candidate->DeclaredType = GAIA_POLYGON; - - gaiaMbrGeometry (raw); - gaiaMbrGeometry (envelope); - pg = raw->FirstPolygon; - while (pg != NULL) - { - candidate->FirstPolygon = pg; - candidate->LastPolygon = pg; - candidate->MinX = pg->MinX; - candidate->MinY = pg->MinY; - candidate->MaxX = pg->MaxX; - candidate->MaxY = pg->MaxY; - if (voronoj_mbr_contains (envelope, candidate)) - { - /* copying a Polygon fully contained within the frame */ - new_pg = gaiaClonePolygon (pg); - if (result->FirstPolygon == NULL) - result->FirstPolygon = new_pg; - if (result->LastPolygon != NULL) - result->LastPolygon->Next = new_pg; - result->LastPolygon = new_pg; - } - else if (voronoj_mbr_overlaps (envelope, candidate)) - { - /* found a polygon only partially contained within the frame */ - new_pg = gaiaClonePolygon (pg); - candidate->FirstPolygon = new_pg; - candidate->LastPolygon = new_pg; - if (cache == NULL) - framed = gaiaGeometryIntersection (envelope, candidate); - else - framed = - gaiaGeometryIntersection_r (cache, envelope, candidate); - candidate->FirstPolygon = NULL; - candidate->LastPolygon = NULL; - gaiaFreePolygon (new_pg); - if (framed) - { - /* copying all framed polygons into the result */ - gaiaPolygonPtr pg2 = framed->FirstPolygon; - while (pg2 != NULL) - { - if (result->FirstPolygon == NULL) - result->FirstPolygon = pg2; - if (result->LastPolygon != NULL) - result->LastPolygon->Next = pg2; - result->LastPolygon = pg2; - pg2 = pg2->Next; - } - framed->FirstPolygon = NULL; - framed->LastPolygon = NULL; - gaiaFreeGeomColl (framed); - } - } - pg = pg->Next; - } - - candidate->FirstPolygon = NULL; - candidate->LastPolygon = NULL; - gaiaFreeGeomColl (candidate); - gaiaFreeGeomColl (raw); - if (only_edges) - { - gaiaGeomCollPtr lines = gaiaLinearize (result, 1); - gaiaFreeGeomColl (result); - return lines; - } - return result; -} -#endif - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaVoronojDiagram (gaiaGeomCollPtr geom, double extra_frame_size, double tolerance, int only_edges) { /* Voronoj Diagram */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSGeometry *g1; GEOSGeometry *g2; -#ifdef GEOS_REENTRANT - GEOSGeometry *env; - gaiaGeomCollPtr envelope; -#else - void *voronoj; + gaiaGeomCollPtr result; gaiaPolygonPtr pg; int pgs = 0; int errs = 0; -#endif + void *voronoj; gaiaResetGeosMsg (); if (!geom) return NULL; g1 = gaiaToGeos (geom); -#ifdef GEOS_REENTRANT /* GEOS >= 3.5.0 directly supports Voronoj */ - envelope = voronoj_envelope (geom, extra_frame_size); - env = gaiaToGeos (envelope); - g2 = GEOSVoronoiDiagram (g1, env, tolerance, 0); - GEOSGeom_destroy (g1); - GEOSGeom_destroy (env); - if (!g2) - { - gaiaFreeGeomColl (envelope); - return NULL; - } - if (geom->DimensionModel == GAIA_XY_Z) - result = gaiaFromGeos_XYZ (g2); - else if (geom->DimensionModel == GAIA_XY_M) - result = gaiaFromGeos_XYM (g2); - else if (geom->DimensionModel == GAIA_XY_Z_M) - result = gaiaFromGeos_XYZM (g2); - else - result = gaiaFromGeos_XY (g2); - GEOSGeom_destroy (g2); - result = voronoj_postprocess (NULL, result, envelope, only_edges); - gaiaFreeGeomColl (envelope); - if (result == NULL) - return NULL; -#else g2 = GEOSDelaunayTriangulation (g1, tolerance, 0); GEOSGeom_destroy (g1); if (!g2) return NULL; if (geom->DimensionModel == GAIA_XY_Z) @@ -4588,16 +4186,10 @@ result->Srid = geom->Srid; if (only_edges) result->DeclaredType = GAIA_MULTILINESTRING; else result->DeclaredType = GAIA_MULTIPOLYGON; -#endif /* end GEOS_REENTRANT */ -#else - if (geom == NULL || extra_frame_size == 0.0 || tolerance == 0.0 - || only_edges == 0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif /* end GEOS_USE_ONLY_R_API */ return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaVoronojDiagram_r (const void *p_cache, gaiaGeomCollPtr geom, @@ -4605,19 +4197,14 @@ { /* Voronoj Diagram */ GEOSGeometry *g1; GEOSGeometry *g2; gaiaGeomCollPtr result; -#ifdef GEOS_REENTRANT - GEOSGeometry *env; - gaiaGeomCollPtr envelope; -#else gaiaPolygonPtr pg; int pgs = 0; int errs = 0; void *voronoj; -#endif struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; GEOSContextHandle_t handle = NULL; if (cache == NULL) return NULL; @@ -4629,35 +4216,10 @@ return NULL; gaiaResetGeosMsg_r (cache); if (!geom) return NULL; g1 = gaiaToGeos_r (cache, geom); -#ifdef GEOS_REENTRANT /* GEOS >= 3.5.0 directly supports Voronoj */ - envelope = voronoj_envelope (geom, extra_frame_size); - env = gaiaToGeos_r (cache, envelope); - g2 = GEOSVoronoiDiagram_r (handle, g1, env, tolerance, 0); - GEOSGeom_destroy_r (handle, g1); - GEOSGeom_destroy_r (handle, env); - if (!g2) - { - gaiaFreeGeomColl (envelope); - return NULL; - } - if (geom->DimensionModel == GAIA_XY_Z) - result = gaiaFromGeos_XYZ_r (cache, g2); - else if (geom->DimensionModel == GAIA_XY_M) - result = gaiaFromGeos_XYM_r (cache, g2); - else if (geom->DimensionModel == GAIA_XY_Z_M) - result = gaiaFromGeos_XYZM_r (cache, g2); - else - result = gaiaFromGeos_XY_r (cache, g2); - GEOSGeom_destroy_r (handle, g2); - result = voronoj_postprocess (cache, result, envelope, only_edges); - gaiaFreeGeomColl (envelope); - if (result == NULL) - return NULL; -#else g2 = GEOSDelaunayTriangulation_r (handle, g1, tolerance, 0); GEOSGeom_destroy_r (handle, g1); if (!g2) return NULL; if (geom->DimensionModel == GAIA_XY_Z) @@ -4707,23 +4269,21 @@ result->Srid = geom->Srid; if (only_edges) result->DeclaredType = GAIA_MULTILINESTRING; else result->DeclaredType = GAIA_MULTIPOLYGON; -#endif /* end GEOS_REENTRANT */ return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConcaveHull (gaiaGeomCollPtr geom, double factor, double tolerance, int allow_holes) { /* Concave Hull */ - gaiaGeomCollPtr result = NULL; -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ GEOSGeometry *g1; GEOSGeometry *g2; + gaiaGeomCollPtr result; gaiaGeomCollPtr concave_hull; gaiaPolygonPtr pg; int pgs = 0; int errs = 0; gaiaResetGeosMsg (); @@ -4769,14 +4329,10 @@ if (!concave_hull) return NULL; result = concave_hull; result->Srid = geom->Srid; -#else - if (geom == NULL || factor == 0.0 || tolerance == 0.0 || allow_holes == 0) - geom = NULL; /* silencing stupid compiler warnings */ -#endif return result; } GAIAGEO_DECLARE gaiaGeomCollPtr gaiaConcaveHull_r (const void *p_cache, gaiaGeomCollPtr geom, double factor, DELETED src/gaiageo/gg_rttopo.c Index: src/gaiageo/gg_rttopo.c ================================================================== --- src/gaiageo/gg_rttopo.c +++ src/gaiageo/gg_rttopo.c @@ -1,2617 +0,0 @@ -/* - - gg_rttopo.c -- Gaia RTTOPO support - - version 4.5, 2016 April 18 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2012-2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/* - -CREDITS: - -this module (wrapping liblwgeom APIs) has been entierely funded by: -Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale - -HISTORY: -this module was previously name gg_lwgeom.c and was based on liblwgeom; -the current version depends on the newer RTTOPO support - -*/ - -#include -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#include -#include -#include -#include - -#include - -#ifdef ENABLE_RTTOPO /* enabling RTTOPO support */ - -#include - -SPATIALITE_PRIVATE const char * -splite_rttopo_version (void) -{ - return rtgeom_version (); -} - -GAIAGEO_DECLARE void -gaiaResetRtTopoMsg (const void *p_cache) -{ -/* Resets the RTTOPO error and warning messages to an empty state */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return; - - if (cache->gaia_rttopo_error_msg) - free (cache->gaia_rttopo_error_msg); - if (cache->gaia_rttopo_warning_msg) - free (cache->gaia_rttopo_warning_msg); - cache->gaia_rttopo_error_msg = NULL; - cache->gaia_rttopo_warning_msg = NULL; -} - -GAIAGEO_DECLARE const char * -gaiaGetRtTopoErrorMsg (const void *p_cache) -{ -/* Return the latest RTTOPO error message (if any) */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - - return cache->gaia_rttopo_error_msg; -} - -GAIAGEO_DECLARE void -gaiaSetRtTopoErrorMsg (const void *p_cache, const char *msg) -{ -/* Sets the RTTOPO error message */ - int len; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return; - - if (cache->gaia_rttopo_error_msg) - free (cache->gaia_rttopo_error_msg); - cache->gaia_rttopo_error_msg = NULL; - if (msg == NULL) - return; - - len = strlen (msg); - cache->gaia_rttopo_error_msg = malloc (len + 1); - strcpy (cache->gaia_rttopo_error_msg, msg); -} - -GAIAGEO_DECLARE const char * -gaiaGetRtTopoWarningMsg (const void *p_cache) -{ -/* Return the latest RTTOPO warning message (if any) */ - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - - return cache->gaia_rttopo_warning_msg; -} - -GAIAGEO_DECLARE void -gaiaSetRtTopoWarningMsg (const void *p_cache, const char *msg) -{ -/* Sets the RTTOPO warning message */ - int len; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return; - - if (cache->gaia_rttopo_warning_msg) - free (cache->gaia_rttopo_warning_msg); - cache->gaia_rttopo_warning_msg = NULL; - if (msg == NULL) - return; - - len = strlen (msg); - cache->gaia_rttopo_warning_msg = malloc (len + 1); - strcpy (cache->gaia_rttopo_warning_msg, msg); -} - -static int -check_unclosed_ring (gaiaRingPtr rng) -{ -/* checks if a Ring is closed or not */ - double x0; - double y0; - double z0 = 0.0; - double m0 = 0.0; - double x1; - double y1; - double z1 = 0.0; - double m1 = 0.0; - int last = rng->Points - 1; - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x0, &y0, &z0); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x0, &y0, &m0); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x0, &y0, &z0, &m0); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x0, &y0); - } - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, last, &x1, &y1, &z1); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, last, &x1, &y1, &m1); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, last, &x1, &y1, &z1, &m1); - } - else - { - gaiaGetPoint (rng->Coords, last, &x1, &y1); - } - if (x0 == x1 && y0 == y1 && z0 == z1 && m0 == m1) - return 0; - return 1; -} - -SPATIALITE_PRIVATE void * -toRTGeom (const void *pctx, const void *pgaia) -{ -/* converting a GAIA Geometry into a RTGEOM Geometry */ - const RTCTX *ctx = (const RTCTX *) pctx; - const gaiaGeomCollPtr gaia = (const gaiaGeomCollPtr) pgaia; - int pts = 0; - int lns = 0; - int pgs = 0; - int has_z; - int has_m; - int ngeoms; - int numg; - int ib; - int iv; - int type; - double x = 0.0; - double y = 0.0; - double z = 0.0; - double m = 0.0; - int close_ring; - gaiaPointPtr pt; - gaiaLinestringPtr ln; - gaiaPolygonPtr pg; - gaiaRingPtr rng; - RTPOINTARRAY *pa; - RTPOINTARRAY **ppaa; - RTPOINT4D point; - RTGEOM **geoms; - - if (!gaia) - return NULL; - pt = gaia->FirstPoint; - while (pt) - { - /* counting how many POINTs are there */ - pts++; - pt = pt->Next; - } - ln = gaia->FirstLinestring; - while (ln) - { - /* counting how many LINESTRINGs are there */ - lns++; - ln = ln->Next; - } - pg = gaia->FirstPolygon; - while (pg) - { - /* counting how many POLYGONs are there */ - pgs++; - pg = pg->Next; - } - if (pts == 0 && lns == 0 && pgs == 0) - return NULL; - - if (pts == 1 && lns == 0 && pgs == 0) - { - /* single Point */ - pt = gaia->FirstPoint; - has_z = 0; - has_m = 0; - if (gaia->DimensionModel == GAIA_XY_Z - || gaia->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - if (gaia->DimensionModel == GAIA_XY_M - || gaia->DimensionModel == GAIA_XY_Z_M) - has_m = 1; - pa = ptarray_construct (ctx, has_z, has_m, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - if (has_m) - point.m = pt->M; - ptarray_set_point4d (ctx, pa, 0, &point); - return (RTGEOM *) rtpoint_construct (ctx, gaia->Srid, NULL, pa); - } - else if (pts == 0 && lns == 1 && pgs == 0) - { - /* single Linestring */ - ln = gaia->FirstLinestring; - has_z = 0; - has_m = 0; - if (gaia->DimensionModel == GAIA_XY_Z - || gaia->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - if (gaia->DimensionModel == GAIA_XY_M - || gaia->DimensionModel == GAIA_XY_Z_M) - has_m = 1; - pa = ptarray_construct (ctx, has_z, has_m, ln->Points); - for (iv = 0; iv < ln->Points; iv++) - { - /* copying vertices */ - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, pa, iv, &point); - } - return (RTGEOM *) rtline_construct (ctx, gaia->Srid, NULL, pa); - } - else if (pts == 0 && lns == 0 && pgs == 1) - { - /* single Polygon */ - pg = gaia->FirstPolygon; - has_z = 0; - has_m = 0; - if (gaia->DimensionModel == GAIA_XY_Z - || gaia->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - if (gaia->DimensionModel == GAIA_XY_M - || gaia->DimensionModel == GAIA_XY_Z_M) - has_m = 1; - ngeoms = pg->NumInteriors; - ppaa = rtalloc (ctx, sizeof (RTPOINTARRAY *) * (ngeoms + 1)); - rng = pg->Exterior; - close_ring = check_unclosed_ring (rng); - if (close_ring) - ppaa[0] = ptarray_construct (ctx, has_z, has_m, rng->Points + 1); - else - ppaa[0] = ptarray_construct (ctx, has_z, has_m, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - /* copying vertices - Exterior Ring */ - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[0], iv, &point); - } - if (close_ring) - { - /* making an unclosed ring to be closed */ - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[0], rng->Points, &point); - } - for (ib = 0; ib < pg->NumInteriors; ib++) - { - /* copying vertices - Interior Rings */ - rng = pg->Interiors + ib; - close_ring = check_unclosed_ring (rng); - if (close_ring) - ppaa[1 + ib] = - ptarray_construct (ctx, has_z, has_m, rng->Points + 1); - else - ppaa[1 + ib] = - ptarray_construct (ctx, has_z, has_m, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[1 + ib], iv, &point); - } - if (close_ring) - { - /* making an unclosed ring to be closed */ - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[1 + ib], rng->Points, - &point); - } - } - return (RTGEOM *) rtpoly_construct (ctx, gaia->Srid, NULL, ngeoms + 1, - ppaa); - } - else - { - /* some Collection */ - switch (gaia->DeclaredType) - { - case GAIA_POINT: - type = RTPOINTTYPE; - break; - case GAIA_LINESTRING: - type = RTLINETYPE; - break; - case GAIA_POLYGON: - type = RTPOLYGONTYPE; - break; - case GAIA_MULTIPOINT: - type = RTMULTIPOINTTYPE; - break; - case GAIA_MULTILINESTRING: - type = RTMULTILINETYPE; - break; - case GAIA_MULTIPOLYGON: - type = RTMULTIPOLYGONTYPE; - break; - case GAIA_GEOMETRYCOLLECTION: - type = RTCOLLECTIONTYPE; - break; - default: - if (lns == 0 && pgs == 0) - type = RTMULTIPOINTTYPE; - else if (pts == 0 && pgs == 0) - type = RTMULTILINETYPE; - else if (pts == 0 && lns == 0) - type = RTMULTIPOLYGONTYPE; - else - type = RTCOLLECTIONTYPE; - break; - }; - numg = pts + lns + pgs; - geoms = rtalloc (ctx, sizeof (RTGEOM *) * numg); - - numg = 0; - pt = gaia->FirstPoint; - while (pt) - { - /* copying POINTs */ - has_z = 0; - has_m = 0; - if (gaia->DimensionModel == GAIA_XY_Z - || gaia->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - if (gaia->DimensionModel == GAIA_XY_M - || gaia->DimensionModel == GAIA_XY_Z_M) - has_m = 1; - pa = ptarray_construct (ctx, has_z, has_m, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - if (has_m) - point.m = pt->M; - ptarray_set_point4d (ctx, pa, 0, &point); - geoms[numg++] = - (RTGEOM *) rtpoint_construct (ctx, gaia->Srid, NULL, pa); - pt = pt->Next; - } - ln = gaia->FirstLinestring; - while (ln) - { - /* copying LINESTRINGs */ - has_z = 0; - has_m = 0; - if (gaia->DimensionModel == GAIA_XY_Z - || gaia->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - if (gaia->DimensionModel == GAIA_XY_M - || gaia->DimensionModel == GAIA_XY_Z_M) - has_m = 1; - pa = ptarray_construct (ctx, has_z, has_m, ln->Points); - for (iv = 0; iv < ln->Points; iv++) - { - /* copying vertices */ - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, pa, iv, &point); - } - geoms[numg++] = - (RTGEOM *) rtline_construct (ctx, gaia->Srid, NULL, pa); - ln = ln->Next; - } - pg = gaia->FirstPolygon; - while (pg) - { - /* copying POLYGONs */ - has_z = 0; - has_m = 0; - if (gaia->DimensionModel == GAIA_XY_Z - || gaia->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - if (gaia->DimensionModel == GAIA_XY_M - || gaia->DimensionModel == GAIA_XY_Z_M) - has_m = 1; - ngeoms = pg->NumInteriors; - ppaa = rtalloc (ctx, sizeof (RTPOINTARRAY *) * (ngeoms + 1)); - rng = pg->Exterior; - close_ring = check_unclosed_ring (rng); - if (close_ring) - ppaa[0] = - ptarray_construct (ctx, has_z, has_m, rng->Points + 1); - else - ppaa[0] = - ptarray_construct (ctx, has_z, has_m, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - /* copying vertices - Exterior Ring */ - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[0], iv, &point); - } - if (close_ring) - { - /* making an unclosed ring to be closed */ - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[0], rng->Points, &point); - } - for (ib = 0; ib < pg->NumInteriors; ib++) - { - /* copying vertices - Interior Rings */ - rng = pg->Interiors + ib; - close_ring = check_unclosed_ring (rng); - if (close_ring) - ppaa[1 + ib] = - ptarray_construct (ctx, has_z, has_m, - rng->Points + 1); - else - ppaa[1 + ib] = - ptarray_construct (ctx, has_z, has_m, - rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, - &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[1 + ib], iv, &point); - } - if (close_ring) - { - /* making an unclosed ring to be closed */ - if (gaia->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); - } - else if (gaia->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); - } - else if (gaia->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x, &y, - &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[1 + ib], rng->Points, - &point); - } - } - geoms[numg++] = - (RTGEOM *) rtpoly_construct (ctx, gaia->Srid, NULL, - ngeoms + 1, ppaa); - pg = pg->Next; - } - return (RTGEOM *) rtcollection_construct (ctx, type, gaia->Srid, NULL, - numg, geoms); - } - return NULL; -} - -static gaiaGeomCollPtr -fromRTGeomIncremental (const RTCTX * ctx, gaiaGeomCollPtr gaia, - const RTGEOM * rtgeom) -{ -/* converting a RTGEOM Geometry into a GAIA Geometry */ - gaiaLinestringPtr ln; - gaiaPolygonPtr pg; - gaiaRingPtr rng; - int dimension_model = gaia->DimensionModel; - int declared_type = gaia->DeclaredType; - RTGEOM *rtg2 = NULL; - RTPOINT *rtp = NULL; - RTLINE *rtl = NULL; - RTPOLY *rtpoly = NULL; - RTCOLLECTION *rtc = NULL; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - int has_z; - int has_m; - int iv; - int ib; - int ngeoms; - int ng; - double x; - double y; - double z; - double m; - - if (rtgeom == NULL) - return NULL; - if (rtgeom_is_empty (ctx, rtgeom)) - return NULL; - - switch (rtgeom->type) - { - case RTPOINTTYPE: - rtp = (RTPOINT *) rtgeom; - has_z = 0; - has_m = 0; - pa = rtp->point; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (RTFLAGS_GET_M (pa->flags)) - has_m = 1; - rt_getPoint4d_p (ctx, pa, 0, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (has_m) - m = pt4d.m; - else - m = 0.0; - if (dimension_model == GAIA_XY_Z) - gaiaAddPointToGeomCollXYZ (gaia, x, y, z); - else if (dimension_model == GAIA_XY_M) - gaiaAddPointToGeomCollXYM (gaia, x, y, m); - else if (dimension_model == GAIA_XY_Z_M) - gaiaAddPointToGeomCollXYZM (gaia, x, y, z, m); - else - gaiaAddPointToGeomColl (gaia, x, y); - if (declared_type == GAIA_MULTIPOINT) - gaia->DeclaredType = GAIA_MULTIPOINT; - else if (declared_type == GAIA_GEOMETRYCOLLECTION) - gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; - else - gaia->DeclaredType = GAIA_POINT; - break; - case RTLINETYPE: - rtl = (RTLINE *) rtgeom; - has_z = 0; - has_m = 0; - pa = rtl->points; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (RTFLAGS_GET_M (pa->flags)) - has_m = 1; - ln = gaiaAddLinestringToGeomColl (gaia, pa->npoints); - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying LINESTRING vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (has_m) - m = pt4d.m; - else - m = 0.0; - if (dimension_model == GAIA_XY_Z) - { - gaiaSetPointXYZ (ln->Coords, iv, x, y, z); - } - else if (dimension_model == GAIA_XY_M) - { - gaiaSetPointXYM (ln->Coords, iv, x, y, m); - } - else if (dimension_model == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (ln->Coords, iv, x, y, z, m); - } - else - { - gaiaSetPoint (ln->Coords, iv, x, y); - } - } - if (declared_type == GAIA_MULTILINESTRING) - gaia->DeclaredType = GAIA_MULTILINESTRING; - else if (declared_type == GAIA_GEOMETRYCOLLECTION) - gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; - else - gaia->DeclaredType = GAIA_LINESTRING; - break; - case RTPOLYGONTYPE: - rtpoly = (RTPOLY *) rtgeom; - has_z = 0; - has_m = 0; - pa = rtpoly->rings[0]; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (RTFLAGS_GET_M (pa->flags)) - has_m = 1; - pg = gaiaAddPolygonToGeomColl (gaia, pa->npoints, rtpoly->nrings - 1); - rng = pg->Exterior; - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying Exterion Ring vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (has_m) - m = pt4d.m; - else - m = 0.0; - if (dimension_model == GAIA_XY_Z) - { - gaiaSetPointXYZ (rng->Coords, iv, x, y, z); - } - else if (dimension_model == GAIA_XY_M) - { - gaiaSetPointXYM (rng->Coords, iv, x, y, m); - } - else if (dimension_model == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (rng->Coords, iv, x, y, z, m); - } - else - { - gaiaSetPoint (rng->Coords, iv, x, y); - } - } - for (ib = 1; ib < rtpoly->nrings; ib++) - { - has_z = 0; - has_m = 0; - pa = rtpoly->rings[ib]; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (RTFLAGS_GET_M (pa->flags)) - has_m = 1; - rng = gaiaAddInteriorRing (pg, ib - 1, pa->npoints); - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying Exterion Ring vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (has_m) - m = pt4d.m; - else - m = 0.0; - if (dimension_model == GAIA_XY_Z) - { - gaiaSetPointXYZ (rng->Coords, iv, x, y, z); - } - else if (dimension_model == GAIA_XY_M) - { - gaiaSetPointXYM (rng->Coords, iv, x, y, m); - } - else if (dimension_model == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (rng->Coords, iv, x, y, z, m); - } - else - { - gaiaSetPoint (rng->Coords, iv, x, y); - } - } - } - if (declared_type == GAIA_MULTIPOLYGON) - gaia->DeclaredType = GAIA_MULTIPOLYGON; - else if (declared_type == GAIA_GEOMETRYCOLLECTION) - gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; - else - gaia->DeclaredType = GAIA_POLYGON; - break; - case RTMULTIPOINTTYPE: - case RTMULTILINETYPE: - case RTMULTIPOLYGONTYPE: - case RTCOLLECTIONTYPE: - if (rtgeom->type == RTMULTIPOINTTYPE) - { - if (declared_type == GAIA_GEOMETRYCOLLECTION) - gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; - else - gaia->DeclaredType = GAIA_MULTIPOINT; - } - else if (rtgeom->type == RTMULTILINETYPE) - { - if (declared_type == GAIA_GEOMETRYCOLLECTION) - gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; - else - gaia->DeclaredType = GAIA_MULTILINESTRING; - } - else if (rtgeom->type == RTMULTIPOLYGONTYPE) - { - if (declared_type == GAIA_GEOMETRYCOLLECTION) - gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; - else - gaia->DeclaredType = GAIA_MULTIPOLYGON; - } - else - gaia->DeclaredType = GAIA_GEOMETRYCOLLECTION; - - rtc = (RTCOLLECTION *) rtgeom; - ngeoms = rtc->ngeoms; - if (ngeoms == 0) - { - gaiaFreeGeomColl (gaia); - gaia = NULL; - break; - } - for (ng = 0; ng < ngeoms; ++ng) - { - /* looping on elementary geometries */ - rtg2 = rtc->geoms[ng]; - switch (rtg2->type) - { - case RTPOINTTYPE: - rtp = (RTPOINT *) rtg2; - has_z = 0; - has_m = 0; - pa = rtp->point; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (RTFLAGS_GET_M (pa->flags)) - has_m = 1; - rt_getPoint4d_p (ctx, pa, 0, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (has_m) - m = pt4d.m; - else - m = 0.0; - if (dimension_model == GAIA_XY_Z) - gaiaAddPointToGeomCollXYZ (gaia, x, y, z); - else if (dimension_model == GAIA_XY_M) - gaiaAddPointToGeomCollXYM (gaia, x, y, m); - else if (dimension_model == GAIA_XY_Z_M) - gaiaAddPointToGeomCollXYZM (gaia, x, y, z, m); - else - gaiaAddPointToGeomColl (gaia, x, y); - break; - case RTLINETYPE: - rtl = (RTLINE *) rtg2; - has_z = 0; - has_m = 0; - pa = rtl->points; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (RTFLAGS_GET_M (pa->flags)) - has_m = 1; - ln = gaiaAddLinestringToGeomColl (gaia, pa->npoints); - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying LINESTRING vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (has_m) - m = pt4d.m; - else - m = 0.0; - if (dimension_model == GAIA_XY_Z) - { - gaiaSetPointXYZ (ln->Coords, iv, x, y, z); - } - else if (dimension_model == GAIA_XY_M) - { - gaiaSetPointXYM (ln->Coords, iv, x, y, m); - } - else if (dimension_model == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (ln->Coords, iv, x, y, z, m); - } - else - { - gaiaSetPoint (ln->Coords, iv, x, y); - } - } - break; - case RTPOLYGONTYPE: - rtpoly = (RTPOLY *) rtg2; - has_z = 0; - has_m = 0; - pa = rtpoly->rings[0]; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (RTFLAGS_GET_M (pa->flags)) - has_m = 1; - pg = gaiaAddPolygonToGeomColl (gaia, pa->npoints, - rtpoly->nrings - 1); - rng = pg->Exterior; - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying Exterion Ring vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (has_m) - m = pt4d.m; - else - m = 0.0; - if (dimension_model == GAIA_XY_Z) - { - gaiaSetPointXYZ (rng->Coords, iv, x, y, z); - } - else if (dimension_model == GAIA_XY_M) - { - gaiaSetPointXYM (rng->Coords, iv, x, y, m); - } - else if (dimension_model == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (rng->Coords, iv, x, y, z, - m); - } - else - { - gaiaSetPoint (rng->Coords, iv, x, y); - } - } - for (ib = 1; ib < rtpoly->nrings; ib++) - { - has_z = 0; - has_m = 0; - pa = rtpoly->rings[ib]; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (RTFLAGS_GET_M (pa->flags)) - has_m = 1; - rng = gaiaAddInteriorRing (pg, ib - 1, pa->npoints); - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying Exterion Ring vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (has_m) - m = pt4d.m; - else - m = 0.0; - if (dimension_model == GAIA_XY_Z) - { - gaiaSetPointXYZ (rng->Coords, iv, x, - y, z); - } - else if (dimension_model == GAIA_XY_M) - { - gaiaSetPointXYM (rng->Coords, iv, x, - y, m); - } - else if (dimension_model == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (rng->Coords, iv, x, - y, z, m); - } - else - { - gaiaSetPoint (rng->Coords, iv, x, y); - } - } - } - break; - }; - } - break; - default: - gaiaFreeGeomColl (gaia); - gaia = NULL; - break; - }; - - return gaia; -} - -SPATIALITE_PRIVATE void * -fromRTGeom (const void *pctx, const void *prtgeom, const int dimension_model, - const int declared_type) -{ -/* converting a RTGEOM Geometry into a GAIA Geometry */ - gaiaGeomCollPtr gaia = NULL; - const RTCTX *ctx = (const RTCTX *) pctx; - const RTGEOM *rtgeom = (const RTGEOM *) prtgeom; - - if (rtgeom == NULL) - return NULL; - if (rtgeom_is_empty (ctx, rtgeom)) - return NULL; - - if (dimension_model == GAIA_XY_Z) - gaia = gaiaAllocGeomCollXYZ (); - else if (dimension_model == GAIA_XY_M) - gaia = gaiaAllocGeomCollXYM (); - else if (dimension_model == GAIA_XY_Z_M) - gaia = gaiaAllocGeomCollXYZM (); - else - gaia = gaiaAllocGeomColl (); - gaia->DeclaredType = declared_type; - fromRTGeomIncremental (ctx, gaia, rtgeom); - - return gaia; -} - -static int -check_valid_type (const RTGEOM * rtgeom, int declared_type) -{ -/* checking if the geometry type is a valid one */ - int ret = 0; - switch (rtgeom->type) - { - case RTPOINTTYPE: - case RTMULTIPOINTTYPE: - if (declared_type == GAIA_POINT || declared_type == GAIA_POINTZ - || declared_type == GAIA_POINTM || declared_type == GAIA_POINTZM) - ret = 1; - if (declared_type == GAIA_MULTIPOINT - || declared_type == GAIA_MULTIPOINTZ - || declared_type == GAIA_MULTIPOINTM - || declared_type == GAIA_MULTIPOINTZM) - ret = 1; - break; - case RTLINETYPE: - case RTMULTILINETYPE: - if (declared_type == GAIA_LINESTRING - || declared_type == GAIA_LINESTRINGZ - || declared_type == GAIA_LINESTRINGM - || declared_type == GAIA_LINESTRINGZM) - ret = 1; - if (declared_type == GAIA_MULTILINESTRING - || declared_type == GAIA_MULTILINESTRINGZ - || declared_type == GAIA_MULTILINESTRINGM - || declared_type == GAIA_MULTILINESTRINGZM) - ret = 1; - break; - case RTPOLYGONTYPE: - case RTMULTIPOLYGONTYPE: - if (declared_type == GAIA_POLYGON || declared_type == GAIA_POLYGONZ - || declared_type == GAIA_POLYGONM - || declared_type == GAIA_POLYGONZM) - ret = 1; - if (declared_type == GAIA_MULTIPOLYGON - || declared_type == GAIA_MULTIPOLYGONZ - || declared_type == GAIA_MULTIPOLYGONM - || declared_type == GAIA_MULTIPOLYGONZM) - ret = 1; - break; - case RTCOLLECTIONTYPE: - if (declared_type == GAIA_GEOMETRYCOLLECTION - || declared_type == GAIA_GEOMETRYCOLLECTIONZ - || declared_type == GAIA_GEOMETRYCOLLECTIONM - || declared_type == GAIA_GEOMETRYCOLLECTIONZM) - ret = 1; - break; - }; - return ret; -} - -static gaiaGeomCollPtr -fromRTGeomValidated (const RTCTX * ctx, const RTGEOM * rtgeom, - const int dimension_model, const int declared_type) -{ -/* -/ converting a RTGEOM Geometry into a GAIA Geometry -/ first collection - validated items -*/ - gaiaGeomCollPtr gaia = NULL; - RTGEOM *rtg2 = NULL; - RTCOLLECTION *rtc = NULL; - int ngeoms; - - if (rtgeom == NULL) - return NULL; - if (rtgeom_is_empty (ctx, rtgeom)) - return NULL; - - switch (rtgeom->type) - { - case RTCOLLECTIONTYPE: - rtc = (RTCOLLECTION *) rtgeom; - ngeoms = rtc->ngeoms; - if (ngeoms <= 2) - { - rtg2 = rtc->geoms[0]; - if (check_valid_type (rtg2, declared_type)) - gaia = - fromRTGeom (ctx, rtg2, dimension_model, declared_type); - } - break; - default: - if (check_valid_type (rtgeom, declared_type)) - gaia = fromRTGeom (ctx, rtgeom, dimension_model, declared_type); - if (gaia == NULL) - { - /* Andrea Peri: 2013-05-02 returning anyway the RTGEOM geometry, - / even if it has a mismatching type */ - int type = -1; - switch (rtgeom->type) - { - case RTPOINTTYPE: - type = GAIA_POINT; - break; - case RTLINETYPE: - type = GAIA_LINESTRING; - break; - case RTPOLYGONTYPE: - type = GAIA_POLYGON; - break; - case RTMULTIPOINTTYPE: - type = GAIA_MULTIPOINT; - break; - case RTMULTILINETYPE: - type = GAIA_MULTILINESTRING; - break; - case RTMULTIPOLYGONTYPE: - type = GAIA_MULTIPOLYGON; - break; - }; - if (type >= 0) - gaia = fromRTGeom (ctx, rtgeom, dimension_model, type); - } - break; - } - return gaia; -} - -static gaiaGeomCollPtr -fromRTGeomDiscarded (const RTCTX * ctx, const RTGEOM * rtgeom, - const int dimension_model, const int declared_type) -{ -/* -/ converting a RTGEOM Geometry into a GAIA Geometry -/ second collection - discarded items -*/ - gaiaGeomCollPtr gaia = NULL; - RTGEOM *rtg2 = NULL; - RTCOLLECTION *rtc = NULL; - int ngeoms; - int ig; - - if (rtgeom == NULL) - return NULL; - if (rtgeom_is_empty (ctx, rtgeom)) - return NULL; - - if (rtgeom->type == RTCOLLECTIONTYPE) - { - if (dimension_model == GAIA_XY_Z) - gaia = gaiaAllocGeomCollXYZ (); - else if (dimension_model == GAIA_XY_M) - gaia = gaiaAllocGeomCollXYM (); - else if (dimension_model == GAIA_XY_Z_M) - gaia = gaiaAllocGeomCollXYZM (); - else - gaia = gaiaAllocGeomColl (); - rtc = (RTCOLLECTION *) rtgeom; - ngeoms = rtc->ngeoms; - for (ig = 0; ig < ngeoms; ig++) - { - rtg2 = rtc->geoms[ig]; - if (!check_valid_type (rtg2, declared_type)) - fromRTGeomIncremental (ctx, gaia, rtg2); - } - } -/* -Andrea Peri: 2013-05-02 -when a single geometry is returned by RTGEOM it's always "valid" -and there are no discarded items at all - - else if (!check_valid_type (lwgeom, declared_type)) - gaia = fromRTGeom (lwgeom, dimension_model, declared_type); -*/ - return gaia; -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaMakeValid (const void *p_cache, gaiaGeomCollPtr geom) -{ -/* wrapping RTGEOM MakeValid [collecting valid items] */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - gaiaGeomCollPtr result = NULL; - - if (!geom) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - g1 = toRTGeom (ctx, geom); - g2 = rtgeom_make_valid (ctx, g1); - if (!g2) - { - rtgeom_free (ctx, g1); - goto done; - } - result = - fromRTGeomValidated (ctx, g2, geom->DimensionModel, geom->DeclaredType); - spatialite_init_geos (); - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - if (result == NULL) - goto done; - result->Srid = geom->Srid; - - done: - return result; -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaMakeValidDiscarded (const void *p_cache, gaiaGeomCollPtr geom) -{ -/* wrapping RTGEOM MakeValid [collecting discarder items] */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - gaiaGeomCollPtr result = NULL; - - if (!geom) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - g1 = toRTGeom (ctx, geom); - g2 = rtgeom_make_valid (ctx, g1); - if (!g2) - { - rtgeom_free (ctx, g1); - goto done; - } - result = - fromRTGeomDiscarded (ctx, g2, geom->DimensionModel, geom->DeclaredType); - spatialite_init_geos (); - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - if (result == NULL) - goto done; - result->Srid = geom->Srid; - - done: - return result; -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaSegmentize (const void *p_cache, gaiaGeomCollPtr geom, double dist) -{ -/* wrapping RTGEOM Segmentize */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - gaiaGeomCollPtr result = NULL; - - if (!geom) - return NULL; - if (dist <= 0.0) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - g1 = toRTGeom (ctx, geom); - g2 = rtgeom_segmentize2d (ctx, g1, dist); - if (!g2) - { - rtgeom_free (ctx, g1); - goto done; - } - result = fromRTGeom (ctx, g2, geom->DimensionModel, geom->DeclaredType); - spatialite_init_geos (); - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - if (result == NULL) - goto done; - result->Srid = geom->Srid; - - done: - return result; -} - -static int -check_split_args (gaiaGeomCollPtr input, gaiaGeomCollPtr blade) -{ -/* testing Split arguments */ - gaiaPointPtr pt; - gaiaLinestringPtr ln; - gaiaPolygonPtr pg; - int i_lns = 0; - int i_pgs = 0; - int b_pts = 0; - int b_lns = 0; - - if (!input) - return 0; - if (!blade) - return 0; - -/* testing the Input type */ - if (input->FirstPoint != NULL) - { - /* Point(s) on Input is forbidden !!!! */ - return 0; - } - ln = input->FirstLinestring; - while (ln) - { - /* counting how many Linestrings are there */ - i_lns++; - ln = ln->Next; - } - pg = input->FirstPolygon; - while (pg) - { - /* counting how many Polygons are there */ - i_pgs++; - pg = pg->Next; - } - if (i_lns + i_pgs == 0) - { - /* empty Input */ - return 0; - } - -/* testing the Blade type */ - pt = blade->FirstPoint; - while (pt) - { - /* counting how many Points are there */ - b_pts++; - pt = pt->Next; - } - ln = blade->FirstLinestring; - while (ln) - { - /* counting how many Linestrings are there */ - b_lns++; - ln = ln->Next; - } - if (blade->FirstPolygon != NULL) - { - /* Polygon(s) on Blade is forbidden !!!! */ - return 0; - } - if (b_pts + b_lns == 0) - { - /* empty Blade */ - return 0; - } - if (b_pts >= 1 && b_lns >= 1) - { - /* invalid Blade [point + linestring] */ - return 0; - } - -/* compatibility check */ - if (b_lns >= 1) - { - /* Linestring blade is always valid */ - return 1; - } - if (i_lns >= 1 && b_pts >= 1) - { - /* Linestring or MultiLinestring input and Point blade is allowed */ - return 1; - } - - return 0; -} - -static void -set_split_gtype (gaiaGeomCollPtr geom) -{ -/* assignign the actual geometry type */ - gaiaPointPtr pt; - gaiaLinestringPtr ln; - gaiaPolygonPtr pg; - int pts = 0; - int lns = 0; - int pgs = 0; - - pt = geom->FirstPoint; - while (pt) - { - /* counting how many Points are there */ - pts++; - pt = pt->Next; - } - ln = geom->FirstLinestring; - while (ln) - { - /* counting how many Linestrings are there */ - lns++; - ln = ln->Next; - } - pg = geom->FirstPolygon; - while (pg) - { - /* counting how many Polygons are there */ - pgs++; - pg = pg->Next; - } - - if (pts == 1 && lns == 0 && pgs == 0) - { - geom->DeclaredType = GAIA_POINT; - return; - } - if (pts > 1 && lns == 0 && pgs == 0) - { - geom->DeclaredType = GAIA_MULTIPOINT; - return; - } - if (pts == 0 && lns == 1 && pgs == 0) - { - geom->DeclaredType = GAIA_LINESTRING; - return; - } - if (pts == 0 && lns > 1 && pgs == 0) - { - geom->DeclaredType = GAIA_MULTILINESTRING; - return; - } - if (pts == 0 && lns == 0 && pgs == 1) - { - geom->DeclaredType = GAIA_POLYGON; - return; - } - if (pts == 0 && lns == 0 && pgs > 1) - { - geom->DeclaredType = GAIA_MULTIPOLYGON; - return; - } - geom->DeclaredType = GAIA_GEOMETRYCOLLECTION; -} - -static RTGEOM * -toRTGeomLinestring (const RTCTX * ctx, gaiaLinestringPtr ln, int srid) -{ -/* converting a GAIA Linestring into a RTGEOM Geometry */ - int iv; - double x = 0.0; - double y = 0.0; - double z = 0.0; - double m = 0.0; - int has_z = 0; - int has_m = 0; - RTPOINTARRAY *pa; - RTPOINT4D point; - - if (ln->DimensionModel == GAIA_XY_Z || ln->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - if (ln->DimensionModel == GAIA_XY_M || ln->DimensionModel == GAIA_XY_Z_M) - has_m = 1; - pa = ptarray_construct (ctx, has_z, has_m, ln->Points); - for (iv = 0; iv < ln->Points; iv++) - { - /* copying vertices */ - if (ln->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (ln->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (ln->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, pa, iv, &point); - } - return (RTGEOM *) rtline_construct (ctx, srid, NULL, pa); -} - -static RTGEOM * -toRTGeomPolygon (const RTCTX * ctx, gaiaPolygonPtr pg, int srid) -{ -/* converting a GAIA Linestring into a RTGEOM Geometry */ - int iv; - int ib; - double x = 0.0; - double y = 0.0; - double z = 0.0; - double m = 0.0; - int ngeoms; - int has_z = 0; - int has_m = 0; - int close_ring; - gaiaRingPtr rng; - RTPOINTARRAY **ppaa; - RTPOINT4D point; - - if (pg->DimensionModel == GAIA_XY_Z || pg->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - if (pg->DimensionModel == GAIA_XY_M || pg->DimensionModel == GAIA_XY_Z_M) - has_m = 1; - ngeoms = pg->NumInteriors; - ppaa = rtalloc (ctx, sizeof (RTPOINTARRAY *) * (ngeoms + 1)); - rng = pg->Exterior; - close_ring = check_unclosed_ring (rng); - if (close_ring) - ppaa[0] = ptarray_construct (ctx, has_z, has_m, rng->Points + 1); - else - ppaa[0] = ptarray_construct (ctx, has_z, has_m, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - /* copying vertices - Exterior Ring */ - if (pg->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (pg->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (pg->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[0], iv, &point); - } - if (close_ring) - { - /* making an unclosed ring to be closed */ - if (pg->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); - } - else if (pg->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); - } - else if (pg->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[0], rng->Points, &point); - } - for (ib = 0; ib < pg->NumInteriors; ib++) - { - /* copying vertices - Interior Rings */ - rng = pg->Interiors + ib; - close_ring = check_unclosed_ring (rng); - if (close_ring) - ppaa[1 + ib] = - ptarray_construct (ctx, has_z, has_m, rng->Points + 1); - else - ppaa[1 + ib] = ptarray_construct (ctx, has_z, has_m, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - if (pg->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (pg->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (pg->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[1 + ib], iv, &point); - } - if (close_ring) - { - /* making an unclosed ring to be closed */ - if (pg->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); - } - else if (pg->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); - } - else if (pg->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - if (has_m) - point.m = m; - ptarray_set_point4d (ctx, ppaa[0], rng->Points, &point); - } - } - return (RTGEOM *) rtpoly_construct (ctx, srid, NULL, ngeoms + 1, ppaa); -} - -static gaiaGeomCollPtr -fromRTGeomLeft (const RTCTX * ctx, gaiaGeomCollPtr gaia, const RTGEOM * rtgeom) -{ -/* -/ converting a RTGEOM Geometry into a GAIA Geometry -/ collecting "left side" items -*/ - RTGEOM *rtg2 = NULL; - RTCOLLECTION *rtc = NULL; - int ngeoms; - int ig; - - if (rtgeom == NULL) - return NULL; - if (rtgeom_is_empty (ctx, rtgeom)) - return NULL; - - if (rtgeom->type == RTCOLLECTIONTYPE) - { - rtc = (RTCOLLECTION *) rtgeom; - ngeoms = rtc->ngeoms; - for (ig = 0; ig < ngeoms; ig += 2) - { - rtg2 = rtc->geoms[ig]; - fromRTGeomIncremental (ctx, gaia, rtg2); - } - } - else - gaia = - fromRTGeom (ctx, rtgeom, gaia->DimensionModel, gaia->DeclaredType); - - return gaia; -} - -static gaiaGeomCollPtr -fromRTGeomRight (const RTCTX * ctx, gaiaGeomCollPtr gaia, const RTGEOM * rtgeom) -{ -/* -/ converting a RTGEOM Geometry into a GAIA Geometry -/ collecting "right side" items -*/ - RTGEOM *rtg2 = NULL; - RTCOLLECTION *rtc = NULL; - int ngeoms; - int ig; - - if (rtgeom == NULL) - return NULL; - if (rtgeom_is_empty (ctx, rtgeom)) - return NULL; - - if (rtgeom->type == RTCOLLECTIONTYPE) - { - rtc = (RTCOLLECTION *) rtgeom; - ngeoms = rtc->ngeoms; - for (ig = 1; ig < ngeoms; ig += 2) - { - rtg2 = rtc->geoms[ig]; - fromRTGeomIncremental (ctx, gaia, rtg2); - } - } - - return gaia; -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaSplit (const void *p_cache, gaiaGeomCollPtr input, gaiaGeomCollPtr blade) -{ -/* wrapping RTGEOM Split */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - RTGEOM *g3; - gaiaGeomCollPtr result = NULL; - - if (!check_split_args (input, blade)) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - g1 = toRTGeom (ctx, input); - g2 = toRTGeom (ctx, blade); - g3 = rtgeom_split (ctx, g1, g2); - if (!g3) - { - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - goto done; - } - result = fromRTGeom (ctx, g3, input->DimensionModel, input->DeclaredType); - spatialite_init_geos (); - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - rtgeom_free (ctx, g3); - if (result == NULL) - goto done; - result->Srid = input->Srid; - set_split_gtype (result); - - done: - return result; -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaSplitLeft (const void *p_cache, gaiaGeomCollPtr input, - gaiaGeomCollPtr blade) -{ -/* wrapping RTGEOM Split [left half] */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - RTGEOM *g3; - gaiaGeomCollPtr result = NULL; - gaiaLinestringPtr ln; - gaiaPolygonPtr pg; - - if (!check_split_args (input, blade)) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - if (input->DimensionModel == GAIA_XY_Z) - result = gaiaAllocGeomCollXYZ (); - else if (input->DimensionModel == GAIA_XY_M) - result = gaiaAllocGeomCollXYM (); - else if (input->DimensionModel == GAIA_XY_Z_M) - result = gaiaAllocGeomCollXYZM (); - else - result = gaiaAllocGeomColl (); - - g2 = toRTGeom (ctx, blade); - - ln = input->FirstLinestring; - while (ln) - { - /* splitting some Linestring */ - g1 = toRTGeomLinestring (ctx, ln, input->Srid); - g3 = rtgeom_split (ctx, g1, g2); - if (g3) - { - result = fromRTGeomLeft (ctx, result, g3); - rtgeom_free (ctx, g3); - } - spatialite_init_geos (); - rtgeom_free (ctx, g1); - ln = ln->Next; - } - pg = input->FirstPolygon; - while (pg) - { - /* splitting some Polygon */ - g1 = toRTGeomPolygon (ctx, pg, input->Srid); - g3 = rtgeom_split (ctx, g1, g2); - if (g3) - { - result = fromRTGeomLeft (ctx, result, g3); - rtgeom_free (ctx, g3); - } - spatialite_init_geos (); - rtgeom_free (ctx, g1); - pg = pg->Next; - } - - rtgeom_free (ctx, g2); - if (result == NULL) - goto done; - if (result->FirstPoint == NULL && result->FirstLinestring == NULL - && result->FirstPolygon == NULL) - { - gaiaFreeGeomColl (result); - result = NULL; - goto done; - } - result->Srid = input->Srid; - set_split_gtype (result); - - done: - return result; -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaSplitRight (const void *p_cache, gaiaGeomCollPtr input, - gaiaGeomCollPtr blade) -{ -/* wrapping RTGEOM Split [right half] */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - RTGEOM *g3; - gaiaGeomCollPtr result = NULL; - gaiaLinestringPtr ln; - gaiaPolygonPtr pg; - - if (!check_split_args (input, blade)) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - if (input->DimensionModel == GAIA_XY_Z) - result = gaiaAllocGeomCollXYZ (); - else if (input->DimensionModel == GAIA_XY_M) - result = gaiaAllocGeomCollXYM (); - else if (input->DimensionModel == GAIA_XY_Z_M) - result = gaiaAllocGeomCollXYZM (); - else - result = gaiaAllocGeomColl (); - - g2 = toRTGeom (ctx, blade); - - ln = input->FirstLinestring; - while (ln) - { - /* splitting some Linestring */ - g1 = toRTGeomLinestring (ctx, ln, input->Srid); - g3 = rtgeom_split (ctx, g1, g2); - if (g3) - { - result = fromRTGeomRight (ctx, result, g3); - rtgeom_free (ctx, g3); - } - spatialite_init_geos (); - rtgeom_free (ctx, g1); - ln = ln->Next; - } - pg = input->FirstPolygon; - while (pg) - { - /* splitting some Polygon */ - g1 = toRTGeomPolygon (ctx, pg, input->Srid); - g3 = rtgeom_split (ctx, g1, g2); - if (g3) - { - result = fromRTGeomRight (ctx, result, g3); - rtgeom_free (ctx, g3); - } - spatialite_init_geos (); - rtgeom_free (ctx, g1); - pg = pg->Next; - } - - rtgeom_free (ctx, g2); - if (result == NULL) - goto done; - if (result->FirstPoint == NULL && result->FirstLinestring == NULL - && result->FirstPolygon == NULL) - { - gaiaFreeGeomColl (result); - result = NULL; - goto done; - } - result->Srid = input->Srid; - set_split_gtype (result); - - done: - return result; -} - -GAIAGEO_DECLARE int -gaiaAzimuth (const void *p_cache, double xa, double ya, double xb, double yb, - double *azimuth) -{ -/* wrapping RTGEOM Azimuth */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTPOINT2D pt1; - RTPOINT2D pt2; - double az; - int ret = 1; - - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - pt1.x = xa; - pt1.y = ya; - pt2.x = xb; - pt2.y = yb; - - if (!azimuth_pt_pt (ctx, &pt1, &pt2, &az)) - ret = 0; - *azimuth = az; - - return ret; -} - -GAIAGEO_DECLARE int -gaiaEllipsoidAzimuth (const void *p_cache, double xa, double ya, double xb, - double yb, double a, double b, double *azimuth) -{ -/* wrapping RTGEOM AzimuthSpheroid */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTPOINT *pt1; - RTPOINT *pt2; - SPHEROID ellips; - int ret = 1; - - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - pt1 = rtpoint_make2d (ctx, 0, xa, ya); - pt2 = rtpoint_make2d (ctx, 0, xb, yb); - spheroid_init (ctx, &ellips, a, b); - *azimuth = rtgeom_azumith_spheroid (ctx, pt1, pt2, &ellips); - rtpoint_free (ctx, pt1); - rtpoint_free (ctx, pt2); - - return ret; -} - -GAIAGEO_DECLARE int -gaiaProjectedPoint (const void *p_cache, double x1, double y1, double a, - double b, double distance, double azimuth, double *x2, - double *y2) -{ -/* wrapping RTGEOM Project */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTPOINT *pt1; - RTPOINT *pt2; - SPHEROID ellips; - int ret = 0; - - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - pt1 = rtpoint_make2d (ctx, 0, x1, y1); - spheroid_init (ctx, &ellips, a, b); - pt2 = rtgeom_project_spheroid (ctx, pt1, &ellips, distance, azimuth); - rtpoint_free (ctx, pt1); - if (pt2 != NULL) - { - *x2 = rtpoint_get_x (ctx, pt2); - *y2 = rtpoint_get_y (ctx, pt2); - rtpoint_free (ctx, pt2); - ret = 1; - } - - return ret; -} - -GAIAGEO_DECLARE int -gaiaGeodesicArea (const void *p_cache, gaiaGeomCollPtr geom, double a, double b, - int use_ellipsoid, double *area) -{ -/* wrapping RTGEOM AreaSphere and AreaSpheroid */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g; - SPHEROID ellips; - RTGBOX gbox; - double tolerance = 1e-12; - int ret = 1; - - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - g = toRTGeom (ctx, geom); - spheroid_init (ctx, &ellips, a, b); - if (g == NULL) - { - ret = 0; - goto done; - } - rtgeom_calculate_gbox_geodetic (ctx, g, &gbox); - if (use_ellipsoid) - { - /* testing for "forbidden" calculations on the ellipsoid */ - if ((gbox.zmax + tolerance) >= 1.0 || (gbox.zmin - tolerance) <= -1.0) - use_ellipsoid = 0; /* can't circle the poles */ - if (gbox.zmax > 0.0 && gbox.zmin < 0.0) - use_ellipsoid = 0; /* can't cross the equator */ - } - if (use_ellipsoid) - *area = rtgeom_area_spheroid (ctx, g, &ellips); - else - *area = rtgeom_area_sphere (ctx, g, &ellips); - rtgeom_free (ctx, g); - - done: - return ret; -} - -GAIAGEO_DECLARE char * -gaiaGeoHash (const void *p_cache, gaiaGeomCollPtr geom, int precision) -{ -/* wrapping RTGEOM GeoHash */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g; - char *result; - char *geo_hash = NULL; - int len; - - if (!geom) - return NULL; - gaiaMbrGeometry (geom); - if (geom->MinX < -180.0 || geom->MaxX > 180.0 || geom->MinY < -90.0 - || geom->MaxY > 90.0) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - g = toRTGeom (ctx, geom); - result = rtgeom_geohash (ctx, g, precision); - rtgeom_free (ctx, g); - if (result == NULL) - goto done; - len = strlen (result); - if (len == 0) - { - rtfree (ctx, result); - goto done; - } - geo_hash = malloc (len + 1); - strcpy (geo_hash, result); - rtfree (ctx, result); - - done: - return geo_hash; -} - -GAIAGEO_DECLARE char * -gaiaAsX3D (const void *p_cache, gaiaGeomCollPtr geom, const char *srs, - int precision, int options, const char *defid) -{ -/* wrapping RTGEOM AsX3D */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g; - char *result; - char *x3d = NULL; - int len; - - if (!geom) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - gaiaMbrGeometry (geom); - g = toRTGeom (ctx, geom); - result = rtgeom_to_x3d3 (ctx, g, (char *) srs, precision, options, defid); - rtgeom_free (ctx, g); - if (result == NULL) - goto done; - len = strlen (result); - if (len == 0) - { - rtfree (ctx, result); - goto done; - } - x3d = malloc (len + 1); - strcpy (x3d, result); - rtfree (ctx, result); - - done: - return x3d; -} - -GAIAGEO_DECLARE int -gaia3DDistance (const void *p_cache, gaiaGeomCollPtr geom1, - gaiaGeomCollPtr geom2, double *dist) -{ -/* wrapping RTGEOM mindistance3d */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - double d; - int ret = 1; - - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - g1 = toRTGeom (ctx, geom1); - g2 = toRTGeom (ctx, geom2); - - d = rtgeom_mindistance3d (ctx, g1, g2); - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - *dist = d; - - return ret; -} - -GAIAGEO_DECLARE int -gaiaMaxDistance (const void *p_cache, gaiaGeomCollPtr geom1, - gaiaGeomCollPtr geom2, double *dist) -{ -/* wrapping RTGEOM maxdistance2d */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - double d; - int ret = 1; - - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - g1 = toRTGeom (ctx, geom1); - g2 = toRTGeom (ctx, geom2); - - d = rtgeom_maxdistance2d (ctx, g1, g2); - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - *dist = d; - - return ret; -} - -GAIAGEO_DECLARE int -gaia3DMaxDistance (const void *p_cache, gaiaGeomCollPtr geom1, - gaiaGeomCollPtr geom2, double *dist) -{ -/* wrapping RTGEOM maxdistance2d */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - double d; - int ret = 1; - - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - g1 = toRTGeom (ctx, geom1); - g2 = toRTGeom (ctx, geom2); - - d = rtgeom_maxdistance3d (ctx, g1, g2); - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - *dist = d; - - return ret; -} - -static RTLINE * -linestring2rtline (const RTCTX * ctx, gaiaLinestringPtr ln, int srid) -{ -/* converting a Linestring into an RTLINE */ - RTPOINTARRAY *pa; - RTPOINT4D point; - int iv; - double x; - double y; - double z; - double m; - int has_z = 0; - - if (ln->DimensionModel == GAIA_XY_Z || ln->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - - pa = ptarray_construct (ctx, has_z, 0, ln->Points); - for (iv = 0; iv < ln->Points; iv++) - { - /* copying vertices */ - if (ln->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (ln->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (ln->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - else - point.z = 0.0; - point.m = 0.0; - ptarray_set_point4d (ctx, pa, iv, &point); - } - return rtline_construct (ctx, srid, NULL, pa); -} - -GAIAGEO_DECLARE int -gaia3dLength (const void *p_cache, gaiaGeomCollPtr geom, double *length) -{ -/* wrapping RTGEOM rtline_length */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTLINE *line; - gaiaLinestringPtr ln; - double l = 0.0; - int ret = 0; - - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - ln = geom->FirstLinestring; - while (ln != NULL) - { - ret = 1; - line = linestring2rtline (ctx, ln, geom->Srid); - l += rtgeom_length (ctx, (RTGEOM *) line); - rtline_free (ctx, line); - ln = ln->Next; - } - *length = l; - - return ret; -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaNodeLines (const void *p_cache, gaiaGeomCollPtr geom) -{ -/* wrapping RTGEOM rtgeom_node */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - RTGEOM *g1; - RTGEOM *g2; - gaiaGeomCollPtr result = NULL; - - if (!geom) - return NULL; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - g1 = toRTGeom (ctx, geom); - g2 = rtgeom_node (ctx, g1); - if (!g2) - { - rtgeom_free (ctx, g1); - goto done; - } - result = fromRTGeom (ctx, g2, geom->DimensionModel, geom->DeclaredType); - spatialite_init_geos (); - rtgeom_free (ctx, g1); - rtgeom_free (ctx, g2); - if (result == NULL) - goto done; - result->Srid = geom->Srid; - - done: - return result; -} - -#endif /* end enabling RTTOPO support */ Index: src/gaiageo/gg_shape.c ================================================================== --- src/gaiageo/gg_shape.c +++ src/gaiageo/gg_shape.c @@ -1,10 +1,10 @@ /* gg_shape.c -- Gaia shapefile handling - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -905,46 +905,15 @@ else suffix++; } } -static void -convert_dbf_colname_case (char *buf, int colname_case) -{ -/* converts a DBF column-name to Lower- or Upper-case */ - char *p = buf; - while (*p != '\0') - { - if (colname_case == GAIA_DBF_COLNAME_LOWERCASE) - { - if (*p >= 'A' && *p <= 'Z') - *p = *p - 'A' + 'a'; - } - if (colname_case == GAIA_DBF_COLNAME_UPPERCASE) - { - if (*p >= 'a' && *p <= 'z') - *p = *p - 'a' + 'A'; - } - p++; - } -} - GAIAGEO_DECLARE void gaiaOpenShpWrite (gaiaShapefilePtr shp, const char *path, int shape, gaiaDbfListPtr dbf_list, const char *charFrom, const char *charTo) { -/* trying to create the shapefile */ - gaiaOpenShpWriteEx (shp, path, shape, dbf_list, charFrom, charTo, - GAIA_DBF_COLNAME_CASE_IGNORE); -} - -GAIAGEO_DECLARE void -gaiaOpenShpWriteEx (gaiaShapefilePtr shp, const char *path, int shape, - gaiaDbfListPtr dbf_list, const char *charFrom, - const char *charTo, int colname_case) -{ /* trying to create the shapefile */ FILE *fl_shx = NULL; FILE *fl_shp = NULL; FILE *fl_dbf = NULL; char xpath[1024]; @@ -1070,11 +1039,10 @@ memcpy (buf, utf8buf, 2048 - utf8len); buf[2048 - utf8len] = '\0'; if (strlen (buf) > 10) sprintf (buf, "FLD#%d", defaultId++); } - convert_dbf_colname_case (buf, colname_case); memcpy (buf_shp, buf, strlen (buf)); *(buf_shp + 11) = fld->Type; *(buf_shp + 16) = fld->Length; *(buf_shp + 17) = fld->Decimals; fwrite (buf_shp, 1, 32, fl_dbf); @@ -1711,12 +1679,10 @@ goto error; rd = fread (shp->BufDbf, sizeof (unsigned char), shp->DbfReclen, shp->flDbf); if (rd != shp->DbfReclen) goto error; - if (*(shp->BufDbf) == '*') - goto dbf_deleted; /* positioning and reading corresponding SHP entity - geometry */ offset = off_shp * 2; skpos = fseek (shp->flShp, offset, SEEK_SET); if (skpos != 0) goto error; @@ -2564,15 +2530,10 @@ len = strlen (errMsg); shp->LastError = malloc (len + 1); strcpy (shp->LastError, errMsg); shp_free_rings (&ringsColl); return 0; - dbf_deleted: - if (shp->LastError) - free (shp->LastError); - shp->LastError = NULL; - return -1; conversion_error: if (shp->LastError) free (shp->LastError); sprintf (errMsg, "Invalid character sequence"); len = strlen (errMsg); @@ -2784,11 +2745,11 @@ if (fld->Value) { if (fld->Value->Type == GAIA_TEXT_VALUE) { len = strlen (fld->Value->TxtValue); - dynbuf = malloc (2048 + len + 1); + dynbuf = malloc (len + 1); strcpy (dynbuf, fld->Value->TxtValue); if (len > 512) { dynbuf[512] = '\0'; len = strlen (dynbuf); @@ -4916,19 +4877,10 @@ GAIAGEO_DECLARE void gaiaOpenDbfWrite (gaiaDbfPtr dbf, const char *path, const char *charFrom, const char *charTo) { -/* trying to create the DBF file */ - gaiaOpenDbfWriteEx (dbf, path, charFrom, charTo, - GAIA_DBF_COLNAME_CASE_IGNORE); -} - -GAIAGEO_DECLARE void -gaiaOpenDbfWriteEx (gaiaDbfPtr dbf, const char *path, const char *charFrom, - const char *charTo, int colname_case) -{ /* trying to create the DBF file */ FILE *fl_dbf = NULL; unsigned char bf[1024]; unsigned char *dbf_buf = NULL; gaiaDbfFieldPtr fld; @@ -5018,11 +4970,10 @@ memcpy (buf, utf8buf, 2048 - utf8len); buf[2048 - utf8len] = '\0'; if (strlen (buf) > 10) sprintf (buf, "FLD#%d", defaultId++); } - convert_dbf_colname_case (buf, colname_case); memcpy (bf, buf, strlen (buf)); *(bf + 11) = fld->Type; *(bf + 16) = fld->Length; *(bf + 17) = fld->Decimals; fwrite (bf, 1, 32, fl_dbf); Index: src/gaiageo/gg_transform.c ================================================================== --- src/gaiageo/gg_transform.c +++ src/gaiageo/gg_transform.c @@ -1,10 +1,10 @@ /* gg_transform.c -- Gaia PROJ.4 wrapping - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -268,12 +268,10 @@ while (line) { /* shifting LINESTRINGs */ for (iv = 0; iv < line->Points; iv++) { - m = 0.0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } else if (line->DimensionModel == GAIA_XY_M) @@ -311,12 +309,10 @@ } polyg = geom->FirstPolygon; while (polyg) { /* shifting POLYGONs */ - m = 0.0; - z = 0.0; ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { /* shifting the EXTERIOR RING */ if (ring->DimensionModel == GAIA_XY_Z) @@ -433,12 +429,10 @@ while (line) { /* shifting LINESTRINGs */ for (iv = 0; iv < line->Points; iv++) { - m = 0.0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } else if (line->DimensionModel == GAIA_XY_M) @@ -477,12 +471,10 @@ } polyg = geom->FirstPolygon; while (polyg) { /* shifting POLYGONs */ - m = 0.0; - z = 0.0; ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { /* shifting the EXTERIOR RING */ if (ring->DimensionModel == GAIA_XY_Z) @@ -599,12 +591,10 @@ while (line) { /* shifting LINESTRINGs */ for (iv = 0; iv < line->Points; iv++) { - m = 0.0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } else if (line->DimensionModel == GAIA_XY_M) @@ -644,12 +634,10 @@ } polyg = geom->FirstPolygon; while (polyg) { /* shifting POLYGONs */ - m = 0.0; - z = 0.0; ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { /* shifting the EXTERIOR RING */ if (ring->DimensionModel == GAIA_XY_Z) @@ -965,12 +953,10 @@ while (line) { /* scaling LINESTRINGs */ for (iv = 0; iv < line->Points; iv++) { - m = 0.0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } else if (line->DimensionModel == GAIA_XY_M) @@ -1008,12 +994,10 @@ } polyg = geom->FirstPolygon; while (polyg) { /* scaling POLYGONs */ - m = 0.0; - z = 0.0; ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { /* scaling the EXTERIOR RING */ if (ring->DimensionModel == GAIA_XY_Z) @@ -1133,12 +1117,10 @@ while (line) { /* rotating LINESTRINGs */ for (iv = 0; iv < line->Points; iv++) { - m = 0.0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } else if (line->DimensionModel == GAIA_XY_M) @@ -1176,12 +1158,10 @@ } polyg = geom->FirstPolygon; while (polyg) { /* rotating POLYGONs */ - m = 0.0; - z = 0.0; ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { /* rotating the EXTERIOR RING */ if (ring->DimensionModel == GAIA_XY_Z) @@ -1220,12 +1200,10 @@ } } for (ib = 0; ib < polyg->NumInteriors; ib++) { /* rotating the INTERIOR RINGs */ - m = 0.0; - z = 0.0; ring = polyg->Interiors + ib; for (iv = 0; iv < ring->Points; iv++) { if (ring->DimensionModel == GAIA_XY_Z) { @@ -1463,12 +1441,10 @@ while (line) { /* swapping LINESTRINGs */ for (iv = 0; iv < line->Points; iv++) { - m = 0.0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } else if (line->DimensionModel == GAIA_XY_M) @@ -1507,12 +1483,10 @@ } polyg = geom->FirstPolygon; while (polyg) { /* swapping POLYGONs */ - m = 0.0; - z = 0.0; ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { /* shifting the EXTERIOR RING */ if (ring->DimensionModel == GAIA_XY_Z) @@ -1552,12 +1526,10 @@ } } for (ib = 0; ib < polyg->NumInteriors; ib++) { /* swapping the INTERIOR RINGs */ - m = 0.0; - z = 0.0; ring = polyg->Interiors + ib; for (iv = 0; iv < ring->Points; iv++) { if (ring->DimensionModel == GAIA_XY_Z) { Index: src/gaiageo/gg_vanuatu.c ================================================================== --- src/gaiageo/gg_vanuatu.c +++ src/gaiageo/gg_vanuatu.c @@ -1,10 +1,10 @@ /* gg_vanuatu.c -- WKT parser/lexer - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. The Vanuatu Team - University of Toronto - Supervisor: Greg Wilson gvwilson@cs.toronto.ca Index: src/gaiageo/gg_voronoj.c ================================================================== --- src/gaiageo/gg_voronoj.c +++ src/gaiageo/gg_voronoj.c @@ -1,10 +1,10 @@ /* gg_voronoj.c -- Voronoj Diagram implementation - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -121,12 +121,10 @@ double mean; double quot; double count; }; -#ifndef GEOS_REENTRANT /* GEOS >= 3.5.0 directly supports Voronoj */ - static double * voronoj_sorted_up (struct voronoj_aux *voronoj, int *count) { /* returning a sorted array of coordinates */ double *array = NULL; @@ -655,12 +653,12 @@ double my; double slope; double intercept = 0.0; double minx = DBL_MAX; double miny = DBL_MAX; - double maxx = -DBL_MAX; - double maxy = -DBL_MAX; + double maxx = DBL_MIN; + double maxy = DBL_MIN; double ext_x; double ext_y; double delta; double delta2; @@ -1480,12 +1478,10 @@ pt = ptn; } free (voronoj); } -#endif /* END GEOS_REENTRANT - GEOS >= 3.5.0 */ - SPATIALITE_PRIVATE int delaunay_triangle_check (void *ppg) { /* test if it's really a triangle */ gaiaPolygonPtr pg = (gaiaPolygonPtr) ppg; Index: src/gaiageo/gg_wkb.c ================================================================== --- src/gaiageo/gg_wkb.c +++ src/gaiageo/gg_wkb.c @@ -1,10 +1,10 @@ /* gg_wkb.c -- Gaia common support for WKB encoded geometries - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -56,11 +56,10 @@ #endif #include #include -#include static void ParseWkbPoint (gaiaGeomCollPtr geo) { /* decodes a POINT from WKB */ @@ -1070,35 +1069,17 @@ }; } } GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaFromSpatiaLiteBlobWkbEx (const unsigned char *blob, unsigned int size, - int gpkg_mode, int gpkg_amphibious) +gaiaFromSpatiaLiteBlobWkb (const unsigned char *blob, unsigned int size) { /* decoding from SpatiaLite BLOB to GEOMETRY */ int type; int little_endian; int endian_arch = gaiaEndianArch (); gaiaGeomCollPtr geo = NULL; - - if (gpkg_amphibious || gpkg_mode) - { -#ifdef ENABLE_GEOPACKAGE /* GEOPACKAGE enabled: supporting GPKG geometries */ - if (gaiaIsValidGPB (blob, size)) - { - geo = gaiaFromGeoPackageGeometryBlob (blob, size); - if (geo != NULL) - return geo; - } - if (gpkg_mode) - return NULL; /* must accept only GPKG geometries */ -#else - ; -#endif /* end GEOPACKAGE: supporting GPKG geometries */ - } - if (size < 45) return NULL; /* cannot be an internal BLOB WKB geometry */ if (*(blob + 0) != GAIA_MARK_START) return NULL; /* failed to recognize START signature */ if (*(blob + (size - 1)) != GAIA_MARK_END) @@ -1305,20 +1286,10 @@ break; }; return geo; } -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaFromSpatiaLiteBlobWkb (const unsigned char *blob, unsigned int size) -{ -/* -* decoding from SpatiaLite BLOB to GEOMETRY -* convenience method - always disabling GPKG compatibility Modes -*/ - return gaiaFromSpatiaLiteBlobWkbEx (blob, size, 0, 0); -} - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromSpatiaLiteBlobMbr (const unsigned char *blob, unsigned int size) { /* decoding from SpatiaLite BLOB to GEOMETRY [MBR only] */ int little_endian; @@ -1358,12 +1329,12 @@ gaiaSetPoint (ring->Coords, 4, minx, miny); /* vertex # 5 [same as vertex # 1 to close the polygon] */ return geo; } GAIAGEO_DECLARE void -gaiaToSpatiaLiteBlobWkbEx (gaiaGeomCollPtr geom, unsigned char **result, - int *size, int gpkg_mode) +gaiaToSpatiaLiteBlobWkb (gaiaGeomCollPtr geom, unsigned char **result, + int *size) { /* builds the SpatiaLite BLOB representation for this GEOMETRY */ int ib; int iv; double x; @@ -1383,20 +1354,10 @@ gaiaPointPtr point = NULL; gaiaLinestringPtr line = NULL; gaiaPolygonPtr polyg = NULL; int endian_arch = gaiaEndianArch (); gaiaMbrGeometry (geom); - - if (gpkg_mode) - { -#ifdef ENABLE_GEOPACKAGE /* only if GeoPackage support is enabled */ - /* GeoPackage Mode enabled */ - gaiaToGPB (geom, result, size); -#endif /* end GEOPACKAGE conditional */ - return; - } - /* how many entities, and of what kind, do we have ? */ pt = geom->FirstPoint; while (pt) { point = pt; @@ -2251,21 +2212,10 @@ } *ptr = GAIA_MARK_END; /* END signature */ }; } -GAIAGEO_DECLARE void -gaiaToSpatiaLiteBlobWkb (gaiaGeomCollPtr geom, unsigned char **result, - int *size) -{ -/* -* builds the SpatiaLite BLOB representation for this GEOMETRY -* convenience method - always disabling GPKG compatibility Modes -*/ - gaiaToSpatiaLiteBlobWkbEx (geom, result, size, 0); -} - GAIAGEO_DECLARE void gaiaToCompressedBlobWkb (gaiaGeomCollPtr geom, unsigned char **result, int *size) { /* Index: src/gaiageo/gg_wkt.c ================================================================== --- src/gaiageo/gg_wkt.c +++ src/gaiageo/gg_wkt.c @@ -1,10 +1,10 @@ /* gg_wkt.c -- Gaia common support for WKT encoded geometries - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Klaus Foerster klaus.foerster@svg.cc @@ -163,96 +163,62 @@ gaiaAppendToOutBuffer (out_buf, buf); sqlite3_free (buf); } static void -gaiaOutPoint (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision) +gaiaOutPoint (gaiaOutBufferPtr out_buf, gaiaPointPtr point) { /* formats a WKT POINT */ char *buf_x; char *buf_y; char *buf; - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", point->X); - else - buf_x = sqlite3_mprintf ("%.*f", precision, point->X); + buf_x = sqlite3_mprintf ("%1.6f", point->X); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", point->Y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, point->Y); + buf_y = sqlite3_mprintf ("%1.6f", point->Y); gaiaOutClean (buf_y); buf = sqlite3_mprintf ("%s %s", buf_x, buf_y); sqlite3_free (buf_x); sqlite3_free (buf_y); gaiaAppendToOutBuffer (out_buf, buf); sqlite3_free (buf); } GAIAGEO_DECLARE void -gaiaOutPointZex (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision) +gaiaOutPointZ (gaiaOutBufferPtr out_buf, gaiaPointPtr point) { /* formats a WKT POINTZ */ char *buf_x; char *buf_y; char *buf_z; char *buf; - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", point->X); - else - buf_x = sqlite3_mprintf ("%.*f", precision, point->X); + buf_x = sqlite3_mprintf ("%1.6f", point->X); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", point->Y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, point->Y); + buf_y = sqlite3_mprintf ("%1.6f", point->Y); gaiaOutClean (buf_y); - if (precision < 0) - buf_z = sqlite3_mprintf ("%1.6f", point->Z); - else - buf_z = sqlite3_mprintf ("%.*f", precision, point->Z); + buf_z = sqlite3_mprintf ("%1.6f", point->Z); gaiaOutClean (buf_z); buf = sqlite3_mprintf ("%s %s %s", buf_x, buf_y, buf_z); sqlite3_free (buf_x); sqlite3_free (buf_y); sqlite3_free (buf_z); gaiaAppendToOutBuffer (out_buf, buf); sqlite3_free (buf); } -GAIAGEO_DECLARE void -gaiaOutPointZ (gaiaOutBufferPtr out_buf, gaiaPointPtr point) -{ -/* -* formats a WKT POINTZ -* convenience method - default decimal precision -*/ - gaiaOutPointZex (out_buf, point, -1); -} - static void -gaiaOutPointM (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision) +gaiaOutPointM (gaiaOutBufferPtr out_buf, gaiaPointPtr point) { /* formats a WKT POINTM */ char *buf_x; char *buf_y; char *buf_m; char *buf; - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", point->X); - else - buf_x = sqlite3_mprintf ("%.*f", precision, point->X); + buf_x = sqlite3_mprintf ("%1.6f", point->X); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", point->Y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, point->Y); + buf_y = sqlite3_mprintf ("%1.6f", point->Y); gaiaOutClean (buf_y); - if (precision < 0) - buf_m = sqlite3_mprintf ("%1.6f", point->M); - else - buf_m = sqlite3_mprintf ("%.*f", precision, point->M); + buf_m = sqlite3_mprintf ("%1.6f", point->M); gaiaOutClean (buf_m); buf = sqlite3_mprintf ("%s %s %s", buf_x, buf_y, buf_m); sqlite3_free (buf_x); sqlite3_free (buf_y); sqlite3_free (buf_m); @@ -259,37 +225,25 @@ gaiaAppendToOutBuffer (out_buf, buf); sqlite3_free (buf); } static void -gaiaOutPointZM (gaiaOutBufferPtr out_buf, gaiaPointPtr point, int precision) +gaiaOutPointZM (gaiaOutBufferPtr out_buf, gaiaPointPtr point) { /* formats a WKT POINTZM */ char *buf_x; char *buf_y; char *buf_z; char *buf_m; char *buf; - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", point->X); - else - buf_x = sqlite3_mprintf ("%.*f", precision, point->X); + buf_x = sqlite3_mprintf ("%1.6f", point->X); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", point->Y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, point->Y); + buf_y = sqlite3_mprintf ("%1.6f", point->Y); gaiaOutClean (buf_y); - if (precision < 0) - buf_z = sqlite3_mprintf ("%1.6f", point->Z); - else - buf_z = sqlite3_mprintf ("%.*f", precision, point->Z); + buf_z = sqlite3_mprintf ("%1.6f", point->Z); gaiaOutClean (buf_z); - if (precision < 0) - buf_m = sqlite3_mprintf ("%1.6f", point->M); - else - buf_m = sqlite3_mprintf ("%.*f", precision, point->M); + buf_m = sqlite3_mprintf ("%1.6f", point->M); gaiaOutClean (buf_m); buf = sqlite3_mprintf ("%s %s %s %s", buf_x, buf_y, buf_z, buf_m); sqlite3_free (buf_x); sqlite3_free (buf_y); sqlite3_free (buf_z); @@ -431,12 +385,11 @@ sqlite3_free (buf); } } static void -gaiaOutLinestring (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line, - int precision) +gaiaOutLinestring (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line) { /* formats a WKT LINESTRING */ char *buf_x; char *buf_y; char *buf; @@ -444,19 +397,13 @@ double y; int iv; for (iv = 0; iv < line->Points; iv++) { gaiaGetPoint (line->Coords, iv, &x, &y); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); if (iv > 0) buf = sqlite3_mprintf (", %s %s", buf_x, buf_y); else buf = sqlite3_mprintf ("%s %s", buf_x, buf_y); @@ -466,12 +413,11 @@ sqlite3_free (buf); } } GAIAGEO_DECLARE void -gaiaOutLinestringZex (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line, - int precision) +gaiaOutLinestringZ (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line) { /* formats a WKT LINESTRINGZ */ char *buf_x; char *buf_y; char *buf_z; @@ -481,24 +427,15 @@ double z; int iv; for (iv = 0; iv < line->Points; iv++) { gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_z = sqlite3_mprintf ("%1.6f", z); - else - buf_z = sqlite3_mprintf ("%.*f", precision, z); + buf_z = sqlite3_mprintf ("%1.6f", z); gaiaOutClean (buf_z); if (iv > 0) buf = sqlite3_mprintf (", %s %s %s", buf_x, buf_y, buf_z); else buf = sqlite3_mprintf ("%s %s %s", buf_x, buf_y, buf_z); @@ -508,23 +445,12 @@ gaiaAppendToOutBuffer (out_buf, buf); sqlite3_free (buf); } } -GAIAGEO_DECLARE void -gaiaOutLinestringZ (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line) -{ -/* -* formats a WKT LINESTRINGZ -* convenience method - default decimal precision -*/ - gaiaOutLinestringZex (out_buf, line, -1); -} - static void -gaiaOutLinestringM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line, - int precision) +gaiaOutLinestringM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line) { /* formats a WKT LINESTRINGM */ char *buf_x; char *buf_y; char *buf_m; @@ -534,24 +460,15 @@ double m; int iv; for (iv = 0; iv < line->Points; iv++) { gaiaGetPointXYM (line->Coords, iv, &x, &y, &m); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_m = sqlite3_mprintf ("%1.6f", m); - else - buf_m = sqlite3_mprintf ("%.*f", precision, m); + buf_m = sqlite3_mprintf ("%1.6f", m); gaiaOutClean (buf_m); if (iv > 0) buf = sqlite3_mprintf (", %s %s %s", buf_x, buf_y, buf_m); else buf = sqlite3_mprintf ("%s %s %s", buf_x, buf_y, buf_m); @@ -562,12 +479,11 @@ sqlite3_free (buf); } } static void -gaiaOutLinestringZM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line, - int precision) +gaiaOutLinestringZM (gaiaOutBufferPtr out_buf, gaiaLinestringPtr line) { /* formats a WKT LINESTRINGZM */ char *buf_x; char *buf_y; char *buf_z; @@ -579,29 +495,17 @@ double m; int iv; for (iv = 0; iv < line->Points; iv++) { gaiaGetPointXYZM (line->Coords, iv, &x, &y, &z, &m); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_z = sqlite3_mprintf ("%1.6f", z); - else - buf_z = sqlite3_mprintf ("%.*f", precision, z); + buf_z = sqlite3_mprintf ("%1.6f", z); gaiaOutClean (buf_z); - if (precision < 0) - buf_m = sqlite3_mprintf ("%1.6f", m); - else - buf_m = sqlite3_mprintf ("%.*f", precision, m); + buf_m = sqlite3_mprintf ("%1.6f", m); gaiaOutClean (buf_m); if (iv > 0) buf = sqlite3_mprintf (", %s %s %s %s", buf_x, buf_y, buf_z, buf_m); else @@ -834,11 +738,11 @@ } } } static void -gaiaOutPolygon (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg, int precision) +gaiaOutPolygon (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg) { /* formats a WKT POLYGON */ char *buf_x; char *buf_y; char *buf; @@ -848,19 +752,13 @@ double y; gaiaRingPtr ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { gaiaGetPoint (ring->Coords, iv, &x, &y); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); if (iv == 0) buf = sqlite3_mprintf ("(%s %s", buf_x, buf_y); else if (iv == (ring->Points - 1)) buf = sqlite3_mprintf (", %s %s)", buf_x, buf_y); @@ -875,19 +773,13 @@ { ring = polyg->Interiors + ib; for (iv = 0; iv < ring->Points; iv++) { gaiaGetPoint (ring->Coords, iv, &x, &y); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); if (iv == 0) buf = sqlite3_mprintf (", (%s %s", buf_x, buf_y); else if (iv == (ring->Points - 1)) buf = sqlite3_mprintf (", %s %s)", buf_x, buf_y); @@ -900,12 +792,11 @@ } } } GAIAGEO_DECLARE void -gaiaOutPolygonZex (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg, - int precision) +gaiaOutPolygonZ (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg) { /* formats a WKT POLYGONZ */ char *buf_x; char *buf_y; char *buf_z; @@ -917,24 +808,15 @@ double z; gaiaRingPtr ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_z = sqlite3_mprintf ("%1.6f", z); - else - buf_z = sqlite3_mprintf ("%.*f", precision, z); + buf_z = sqlite3_mprintf ("%1.6f", z); gaiaOutClean (buf_z); if (iv == 0) buf = sqlite3_mprintf ("(%s %s %s", buf_x, buf_y, buf_z); else if (iv == (ring->Points - 1)) buf = sqlite3_mprintf (", %s %s %s)", buf_x, buf_y, buf_z); @@ -950,24 +832,15 @@ { ring = polyg->Interiors + ib; for (iv = 0; iv < ring->Points; iv++) { gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_z = sqlite3_mprintf ("%1.6f", z); - else - buf_z = sqlite3_mprintf ("%.*f", precision, z); + buf_z = sqlite3_mprintf ("%1.6f", z); gaiaOutClean (buf_z); if (iv == 0) buf = sqlite3_mprintf (", (%s %s %s", buf_x, buf_y, buf_z); else if (iv == (ring->Points - 1)) buf = sqlite3_mprintf (", %s %s %s)", buf_x, buf_y, buf_z); @@ -980,22 +853,12 @@ sqlite3_free (buf); } } } -GAIAGEO_DECLARE void -gaiaOutPolygonZ (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg) -{ -/* -* formats a WKT POLYGONZ -* convenience method - default decimal precision -*/ - gaiaOutPolygonZex (out_buf, polyg, -1); -} - static void -gaiaOutPolygonM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg, int precision) +gaiaOutPolygonM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg) { /* formats a WKT POLYGONM */ char *buf_x; char *buf_y; char *buf_m; @@ -1007,24 +870,15 @@ double m; gaiaRingPtr ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { gaiaGetPointXYM (ring->Coords, iv, &x, &y, &m); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_m = sqlite3_mprintf ("%1.6f", m); - else - buf_m = sqlite3_mprintf ("%.*f", precision, m); + buf_m = sqlite3_mprintf ("%1.6f", m); gaiaOutClean (buf_m); if (iv == 0) buf = sqlite3_mprintf ("(%s %s %s", buf_x, buf_y, buf_m); else if (iv == (ring->Points - 1)) buf = sqlite3_mprintf (", %s %s %s)", buf_x, buf_y, buf_m); @@ -1040,24 +894,15 @@ { ring = polyg->Interiors + ib; for (iv = 0; iv < ring->Points; iv++) { gaiaGetPointXYM (ring->Coords, iv, &x, &y, &m); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_m = sqlite3_mprintf ("%1.6f", m); - else - buf_m = sqlite3_mprintf ("%.*f", precision, m); + buf_m = sqlite3_mprintf ("%1.6f", m); gaiaOutClean (buf_m); if (iv == 0) buf = sqlite3_mprintf (", (%s %s %s", buf_x, buf_y, buf_m); else if (iv == (ring->Points - 1)) buf = sqlite3_mprintf (", %s %s %s)", buf_x, buf_y, buf_m); @@ -1071,11 +916,11 @@ } } } static void -gaiaOutPolygonZM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg, int precision) +gaiaOutPolygonZM (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polyg) { /* formats a WKT POLYGONZM */ char *buf_x; char *buf_y; char *buf_z; @@ -1089,29 +934,17 @@ double m; gaiaRingPtr ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { gaiaGetPointXYZM (ring->Coords, iv, &x, &y, &z, &m); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_z = sqlite3_mprintf ("%1.6f", z); - else - buf_z = sqlite3_mprintf ("%.*f", precision, z); + buf_z = sqlite3_mprintf ("%1.6f", z); gaiaOutClean (buf_z); - if (precision < 0) - buf_m = sqlite3_mprintf ("%1.6f", m); - else - buf_m = sqlite3_mprintf ("%.*f", precision, m); + buf_m = sqlite3_mprintf ("%1.6f", m); gaiaOutClean (buf_m); if (iv == 0) buf = sqlite3_mprintf ("(%s %s %s %s", buf_x, buf_y, buf_z, buf_m); else if (iv == (ring->Points - 1)) @@ -1132,29 +965,17 @@ { ring = polyg->Interiors + ib; for (iv = 0; iv < ring->Points; iv++) { gaiaGetPointXYZM (ring->Coords, iv, &x, &y, &z, &m); - if (precision < 0) - buf_x = sqlite3_mprintf ("%1.6f", x); - else - buf_x = sqlite3_mprintf ("%.*f", precision, x); + buf_x = sqlite3_mprintf ("%1.6f", x); gaiaOutClean (buf_x); - if (precision < 0) - buf_y = sqlite3_mprintf ("%1.6f", y); - else - buf_y = sqlite3_mprintf ("%.*f", precision, y); + buf_y = sqlite3_mprintf ("%1.6f", y); gaiaOutClean (buf_y); - if (precision < 0) - buf_z = sqlite3_mprintf ("%1.6f", z); - else - buf_z = sqlite3_mprintf ("%.*f", precision, z); + buf_z = sqlite3_mprintf ("%1.6f", z); gaiaOutClean (buf_z); - if (precision < 0) - buf_m = sqlite3_mprintf ("%1.6f", m); - else - buf_m = sqlite3_mprintf ("%.*f", precision, m); + buf_m = sqlite3_mprintf ("%1.6f", m); gaiaOutClean (buf_m); if (iv == 0) buf = sqlite3_mprintf (", (%s %s %s %s", buf_x, buf_y, buf_z, buf_m); @@ -1432,11 +1253,11 @@ } } } GAIAGEO_DECLARE void -gaiaOutWktEx (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom, int precision) +gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom) { /* prints the WKT representation of current geometry */ int pts = 0; int lns = 0; int pgs = 0; @@ -1477,29 +1298,29 @@ { if (point->DimensionModel == GAIA_XY_Z) { /* processing POINTZ */ gaiaAppendToOutBuffer (out_buf, "POINT Z("); - gaiaOutPointZex (out_buf, point, precision); + gaiaOutPointZ (out_buf, point); } else if (point->DimensionModel == GAIA_XY_M) { /* processing POINTM */ gaiaAppendToOutBuffer (out_buf, "POINT M("); - gaiaOutPointM (out_buf, point, precision); + gaiaOutPointM (out_buf, point); } else if (point->DimensionModel == GAIA_XY_Z_M) { /* processing POINTZM */ gaiaAppendToOutBuffer (out_buf, "POINT ZM("); - gaiaOutPointZM (out_buf, point, precision); + gaiaOutPointZM (out_buf, point); } else { /* processing POINT */ gaiaAppendToOutBuffer (out_buf, "POINT("); - gaiaOutPoint (out_buf, point, precision); + gaiaOutPoint (out_buf, point); } gaiaAppendToOutBuffer (out_buf, ")"); point = point->Next; } line = geom->FirstLinestring; @@ -1507,29 +1328,29 @@ { if (line->DimensionModel == GAIA_XY_Z) { /* processing LINESTRINGZ */ gaiaAppendToOutBuffer (out_buf, "LINESTRING Z("); - gaiaOutLinestringZex (out_buf, line, precision); + gaiaOutLinestringZ (out_buf, line); } else if (line->DimensionModel == GAIA_XY_M) { /* processing LINESTRINGM */ gaiaAppendToOutBuffer (out_buf, "LINESTRING M("); - gaiaOutLinestringM (out_buf, line, precision); + gaiaOutLinestringM (out_buf, line); } else if (line->DimensionModel == GAIA_XY_Z_M) { /* processing LINESTRINGZM */ gaiaAppendToOutBuffer (out_buf, "LINESTRING ZM("); - gaiaOutLinestringZM (out_buf, line, precision); + gaiaOutLinestringZM (out_buf, line); } else { /* processing LINESTRING */ gaiaAppendToOutBuffer (out_buf, "LINESTRING("); - gaiaOutLinestring (out_buf, line, precision); + gaiaOutLinestring (out_buf, line); } gaiaAppendToOutBuffer (out_buf, ")"); line = line->Next; } polyg = geom->FirstPolygon; @@ -1537,29 +1358,29 @@ { if (polyg->DimensionModel == GAIA_XY_Z) { /* processing POLYGONZ */ gaiaAppendToOutBuffer (out_buf, "POLYGON Z("); - gaiaOutPolygonZex (out_buf, polyg, precision); + gaiaOutPolygonZ (out_buf, polyg); } else if (polyg->DimensionModel == GAIA_XY_M) { /* processing POLYGONM */ gaiaAppendToOutBuffer (out_buf, "POLYGON M("); - gaiaOutPolygonM (out_buf, polyg, precision); + gaiaOutPolygonM (out_buf, polyg); } else if (polyg->DimensionModel == GAIA_XY_Z_M) { /* processing POLYGONZM */ gaiaAppendToOutBuffer (out_buf, "POLYGON ZM("); - gaiaOutPolygonZM (out_buf, polyg, precision); + gaiaOutPolygonZM (out_buf, polyg); } else { /* processing POLYGON */ gaiaAppendToOutBuffer (out_buf, "POLYGON("); - gaiaOutPolygon (out_buf, polyg, precision); + gaiaOutPolygon (out_buf, polyg); } gaiaAppendToOutBuffer (out_buf, ")"); polyg = polyg->Next; } } @@ -1583,29 +1404,29 @@ { if (point->DimensionModel == GAIA_XY_Z) { if (point != geom->FirstPoint) gaiaAppendToOutBuffer (out_buf, ", "); - gaiaOutPointZex (out_buf, point, precision); + gaiaOutPointZ (out_buf, point); } else if (point->DimensionModel == GAIA_XY_M) { if (point != geom->FirstPoint) gaiaAppendToOutBuffer (out_buf, ", "); - gaiaOutPointM (out_buf, point, precision); + gaiaOutPointM (out_buf, point); } else if (point->DimensionModel == GAIA_XY_Z_M) { if (point != geom->FirstPoint) gaiaAppendToOutBuffer (out_buf, ", "); - gaiaOutPointZM (out_buf, point, precision); + gaiaOutPointZM (out_buf, point); } else { if (point != geom->FirstPoint) gaiaAppendToOutBuffer (out_buf, ", "); - gaiaOutPoint (out_buf, point, precision); + gaiaOutPoint (out_buf, point); } point = point->Next; } gaiaAppendToOutBuffer (out_buf, ")"); } @@ -1628,26 +1449,26 @@ gaiaAppendToOutBuffer (out_buf, ", ("); else gaiaAppendToOutBuffer (out_buf, "("); if (line->DimensionModel == GAIA_XY_Z) { - gaiaOutLinestringZex (out_buf, line, precision); + gaiaOutLinestringZ (out_buf, line); gaiaAppendToOutBuffer (out_buf, ")"); } else if (line->DimensionModel == GAIA_XY_M) { - gaiaOutLinestringM (out_buf, line, precision); + gaiaOutLinestringM (out_buf, line); gaiaAppendToOutBuffer (out_buf, ")"); } else if (line->DimensionModel == GAIA_XY_Z_M) { - gaiaOutLinestringZM (out_buf, line, precision); + gaiaOutLinestringZM (out_buf, line); gaiaAppendToOutBuffer (out_buf, ")"); } else { - gaiaOutLinestring (out_buf, line, precision); + gaiaOutLinestring (out_buf, line); gaiaAppendToOutBuffer (out_buf, ")"); } line = line->Next; } gaiaAppendToOutBuffer (out_buf, ")"); @@ -1671,26 +1492,26 @@ gaiaAppendToOutBuffer (out_buf, ", ("); else gaiaAppendToOutBuffer (out_buf, "("); if (polyg->DimensionModel == GAIA_XY_Z) { - gaiaOutPolygonZex (out_buf, polyg, precision); + gaiaOutPolygonZ (out_buf, polyg); gaiaAppendToOutBuffer (out_buf, ")"); } else if (polyg->DimensionModel == GAIA_XY_M) { - gaiaOutPolygonM (out_buf, polyg, precision); + gaiaOutPolygonM (out_buf, polyg); gaiaAppendToOutBuffer (out_buf, ")"); } else if (polyg->DimensionModel == GAIA_XY_Z_M) { - gaiaOutPolygonZM (out_buf, polyg, precision); + gaiaOutPolygonZM (out_buf, polyg); gaiaAppendToOutBuffer (out_buf, ")"); } else { - gaiaOutPolygon (out_buf, polyg, precision); + gaiaOutPolygon (out_buf, polyg); gaiaAppendToOutBuffer (out_buf, ")"); } polyg = polyg->Next; } gaiaAppendToOutBuffer (out_buf, ")"); @@ -1715,26 +1536,26 @@ gaiaAppendToOutBuffer (out_buf, ", "); ie++; if (point->DimensionModel == GAIA_XY_Z) { gaiaAppendToOutBuffer (out_buf, "POINT Z("); - gaiaOutPointZex (out_buf, point, precision); + gaiaOutPointZ (out_buf, point); } else if (point->DimensionModel == GAIA_XY_M) { gaiaAppendToOutBuffer (out_buf, "POINT M("); - gaiaOutPointM (out_buf, point, precision); + gaiaOutPointM (out_buf, point); } else if (point->DimensionModel == GAIA_XY_Z_M) { gaiaAppendToOutBuffer (out_buf, "POINT ZM("); - gaiaOutPointZM (out_buf, point, precision); + gaiaOutPointZM (out_buf, point); } else { gaiaAppendToOutBuffer (out_buf, "POINT("); - gaiaOutPoint (out_buf, point, precision); + gaiaOutPoint (out_buf, point); } gaiaAppendToOutBuffer (out_buf, ")"); point = point->Next; } line = geom->FirstLinestring; @@ -1745,26 +1566,26 @@ gaiaAppendToOutBuffer (out_buf, ", "); ie++; if (line->DimensionModel == GAIA_XY_Z) { gaiaAppendToOutBuffer (out_buf, "LINESTRING Z("); - gaiaOutLinestringZex (out_buf, line, precision); + gaiaOutLinestringZ (out_buf, line); } else if (line->DimensionModel == GAIA_XY_M) { gaiaAppendToOutBuffer (out_buf, "LINESTRING M("); - gaiaOutLinestringM (out_buf, line, precision); + gaiaOutLinestringM (out_buf, line); } else if (line->DimensionModel == GAIA_XY_Z_M) { gaiaAppendToOutBuffer (out_buf, "LINESTRING ZM("); - gaiaOutLinestringZM (out_buf, line, precision); + gaiaOutLinestringZM (out_buf, line); } else { gaiaAppendToOutBuffer (out_buf, "LINESTRING("); - gaiaOutLinestring (out_buf, line, precision); + gaiaOutLinestring (out_buf, line); } gaiaAppendToOutBuffer (out_buf, ")"); line = line->Next; } polyg = geom->FirstPolygon; @@ -1775,45 +1596,35 @@ gaiaAppendToOutBuffer (out_buf, ", "); ie++; if (polyg->DimensionModel == GAIA_XY_Z) { gaiaAppendToOutBuffer (out_buf, "POLYGON Z("); - gaiaOutPolygonZex (out_buf, polyg, precision); + gaiaOutPolygonZ (out_buf, polyg); } else if (polyg->DimensionModel == GAIA_XY_M) { gaiaAppendToOutBuffer (out_buf, "POLYGON M("); - gaiaOutPolygonM (out_buf, polyg, precision); + gaiaOutPolygonM (out_buf, polyg); } else if (polyg->DimensionModel == GAIA_XY_Z_M) { gaiaAppendToOutBuffer (out_buf, "POLYGON ZM("); - gaiaOutPolygonZM (out_buf, polyg, precision); + gaiaOutPolygonZM (out_buf, polyg); } else { gaiaAppendToOutBuffer (out_buf, "POLYGON("); - gaiaOutPolygon (out_buf, polyg, precision); + gaiaOutPolygon (out_buf, polyg); } gaiaAppendToOutBuffer (out_buf, ")"); polyg = polyg->Next; } gaiaAppendToOutBuffer (out_buf, ")"); } } } -GAIAGEO_DECLARE void -gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom) -{ -/* -* prints the WKT representation of current geometry -* convenience method - default decimal precision -*/ - gaiaOutWktEx (out_buf, geom, -1); -} - GAIAGEO_DECLARE void gaiaOutWktStrict (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom, int precision) { /* * prints the WKT representation of current geometry @@ -3457,11 +3268,10 @@ gaiaAppendToOutBuffer (out_buf, buf); for (iv = 0; iv < line->Points; iv++) { /* exporting vertices */ has_z = 0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { has_z = 1; gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } @@ -3635,11 +3445,10 @@ gaiaAppendToOutBuffer (out_buf, buf); for (iv = 0; iv < ring->Points; iv++) { /* exporting vertices [Interior Ring] */ has_z = 0; - z = 0.0; if (ring->DimensionModel == GAIA_XY_Z) { has_z = 1; gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z); } @@ -3748,11 +3557,10 @@ gaiaAppendToOutBuffer (out_buf, buf); for (iv = 0; iv < ring->Points; iv++) { /* exporting vertices [Interior Ring] */ has_z = 0; - z = 0.0; if (ring->DimensionModel == GAIA_XY_Z) { has_z = 1; gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z); } @@ -3920,11 +3728,11 @@ char crs[2048]; char *buf; char *buf_x; char *buf_y; char *buf_m; - char *buf_z = NULL; + char *buf_z; char endJson[16]; if (!geom) return; if (precision > 18) precision = 18; @@ -4143,11 +3951,10 @@ } for (iv = 0; iv < line->Points; iv++) { /* exporting vertices */ has_z = 0; - z = 0.0; if (line->DimensionModel == GAIA_XY_Z) { has_z = 1; gaiaGetPointXYZ (line->Coords, iv, &x, &y, &z); } @@ -4229,11 +4036,10 @@ ring = polyg->Exterior; for (iv = 0; iv < ring->Points; iv++) { /* exporting vertices [Interior Ring] */ has_z = 0; - z = 0.0; if (ring->DimensionModel == GAIA_XY_Z) { has_z = 1; gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z); } @@ -4294,11 +4100,10 @@ ring = polyg->Interiors + ib; for (iv = 0; iv < ring->Points; iv++) { /* exporting vertices [Interior Ring] */ has_z = 0; - z = 0.0; if (ring->DimensionModel == GAIA_XY_Z) { has_z = 1; gaiaGetPointXYZ (ring->Coords, iv, &x, &y, &z); } Index: src/gaiageo/gg_xml.c ================================================================== --- src/gaiageo/gg_xml.c +++ src/gaiageo/gg_xml.c @@ -1,10 +1,10 @@ /* gg_xml.c -- XML Document implementation - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -436,19 +436,18 @@ } static void sniff_payload (xmlDocPtr xml_doc, int *is_iso_metadata, int *is_sld_se_vector_style, int *is_sld_se_raster_style, - int *is_sld_style, int *is_svg, int *is_gpx) + int *is_sld_style, int *is_svg) { /* sniffing the payload type */ xmlNodePtr root = xmlDocGetRootElement (xml_doc); *is_iso_metadata = 0; *is_sld_se_vector_style = 0; *is_sld_se_raster_style = 0; *is_svg = 0; - *is_gpx = 0; if (root->name != NULL) { const char *name = (const char *) (root->name); if (strcmp (name, "MD_Metadata") == 0) *is_iso_metadata = 1; @@ -486,12 +485,10 @@ } *is_sld_style = 1; } if (strcmp (name, "svg") == 0) *is_svg = 1; - if (strcmp (name, "gpx") == 0) - *is_gpx = 1; } } static void find_iso_ids (xmlNodePtr node, const char *name, char **string, int *open_tag, @@ -1468,11 +1465,10 @@ int is_iso_metadata = 0; int is_sld_se_vector_style = 0; int is_sld_se_raster_style = 0; int is_sld_style = 0; int is_svg = 0; - int is_gpx = 0; int len; int zip_len; short uri_len = 0; short fileid_len = 0; short parentid_len = 0; @@ -1485,11 +1481,11 @@ char *name = NULL; char *title = NULL; char *abstract = NULL; unsigned char *geometry = NULL; uLong crc; - Bytef *zip_buf = NULL; + Bytef *zip_buf; unsigned char *buf; unsigned char *ptr; unsigned char flags = 0x00; int endian_arch = gaiaEndianArch (); struct splite_internal_cache *cache = @@ -1609,11 +1605,11 @@ xmlSchemaFreeValidCtxt (valid_ctxt); } /* testing for special cases: ISO Metadata, SLD/SE Styles and SVG */ sniff_payload (xml_doc, &is_iso_metadata, &is_sld_se_vector_style, - &is_sld_se_raster_style, &is_sld_style, &is_svg, &is_gpx); + &is_sld_se_raster_style, &is_sld_style, &is_svg); if (is_iso_metadata) retrieve_iso_identifiers (xml_doc, &fileIdentifier, &parentIdentifier, &title, &abstract, &geometry, &geometry_len); if (is_sld_style) @@ -1648,21 +1644,21 @@ *schema_validation_errors = schemaValidationBuf->Buffer; /* computing the XmlBLOB size */ len = 39; /* fixed header-footer size */ if (schemaURI) - uri_len = (short) strlen ((const char *) schemaURI); + uri_len = strlen ((const char *) schemaURI); if (fileIdentifier) - fileid_len = (short) strlen ((const char *) fileIdentifier); + fileid_len = strlen ((const char *) fileIdentifier); if (parentIdentifier) parentid_len = strlen ((const char *) parentIdentifier); if (name) - name_len = (short) strlen ((const char *) name); + name_len = strlen ((const char *) name); if (title) - title_len = (short) strlen ((const char *) title); + title_len = strlen ((const char *) title); if (abstract) - abstract_len = (short) strlen ((const char *) abstract); + abstract_len = strlen ((const char *) abstract); len += zip_len; len += uri_len; len += fileid_len; len += parentid_len; len += name_len; @@ -1684,12 +1680,10 @@ flags |= GAIA_XML_SLD_SE_RASTER_STYLE; if (is_sld_style) flags |= GAIA_XML_SLD_STYLE; if (is_svg) flags |= GAIA_XML_SVG; - if (is_gpx) - flags |= GAIA_XML_GPX; *(buf + 1) = flags; /* XmlBLOB flags */ *(buf + 2) = GAIA_XML_HEADER; /* HEADER signature */ gaiaExport32 (buf + 3, xml_len, 1, endian_arch); /* the uncompressed XMLDocument size */ gaiaExport32 (buf + 7, zip_len, 1, endian_arch); /* the compressed XMLDocument size */ gaiaExport16 (buf + 11, uri_len, 1, endian_arch); /* the SchemaURI length in bytes */ @@ -1803,11 +1797,11 @@ /* Return another XmlBLOB buffer compressed / uncompressed */ int in_compressed = 0; int little_endian = 0; unsigned char flag; int in_xml_len; - int in_zip_len = 0; + int in_zip_len; short uri_len; short fileid_len; short parentid_len; short name_len; short title_len; @@ -1814,11 +1808,11 @@ short abstract_len; short geometry_len; int out_xml_len; int out_zip_len; uLong crc; - Bytef *zip_buf = NULL; + Bytef *zip_buf; int len; char *schemaURI; char *fileIdentifier; char *parentIdentifier; char *name; @@ -1828,12 +1822,11 @@ int is_iso_metadata = 0; int is_sld_se_vector_style = 0; int is_sld_se_raster_style = 0; int is_sld_style = 0; int is_svg = 0; - int is_gpx = 0; - unsigned char *xml = NULL; + unsigned char *xml; unsigned char *buf; unsigned char *ptr; unsigned char flags; int legacy_blob = 0; int endian_arch = gaiaEndianArch (); @@ -1859,12 +1852,10 @@ is_sld_se_raster_style = 1; if ((flag & GAIA_XML_SLD_STYLE) == GAIA_XML_SLD_STYLE) is_sld_style = 1; if ((flag & GAIA_XML_SVG) == GAIA_XML_SVG) is_svg = 1; - if ((flag & GAIA_XML_GPX) == GAIA_XML_GPX) - is_gpx = 1; in_xml_len = gaiaImport32 (blob + 3, little_endian, endian_arch); in_zip_len = gaiaImport32 (blob + 7, little_endian, endian_arch); uri_len = gaiaImport16 (blob + 11, little_endian, endian_arch); ptr = (unsigned char *) blob + 14; if (uri_len) @@ -2022,12 +2013,10 @@ flags |= GAIA_XML_SLD_SE_RASTER_STYLE; if (is_sld_style) flags |= GAIA_XML_SLD_STYLE; if (is_svg) flags |= GAIA_XML_SVG; - if (is_gpx) - flags |= GAIA_XML_GPX; *(buf + 1) = flags; /* XmlBLOB flags */ *(buf + 2) = GAIA_XML_HEADER; /* HEADER signature */ gaiaExport32 (buf + 3, out_xml_len, 1, endian_arch); /* the uncompressed XMLDocument size */ gaiaExport32 (buf + 7, out_zip_len, 1, endian_arch); /* the compressed XMLDocument size */ gaiaExport16 (buf + 11, uri_len, 1, endian_arch); /* the SchemaURI length in bytes */ @@ -2844,12 +2833,10 @@ } gaiaXmlFormat (xml_doc, &out, &out_len, xml_doc->encoding, indent); free (xml); xmlFreeDoc (xml_doc); *result = out; - if (*(out + out_len - 1) == '\0' && out_len > 0) - out_len -= 1; *res_size = out_len; xmlSetGenericErrorFunc ((void *) stderr, NULL); } GAIAGEO_DECLARE int @@ -3033,11 +3020,11 @@ } GAIAGEO_DECLARE int gaiaIsSvgXmlBlob (const unsigned char *blob, int blob_size) { -/* Checks if a valid XmlBLOB buffer does actually contains an SVG image or not */ +/* Checks if a valid XmlBLOB buffer does actually contains an SLD/SE Style or not */ int svg = 0; unsigned char flag; /* validity check */ if (!gaiaIsValidXmlBlob (blob, blob_size)) @@ -3046,26 +3033,10 @@ if ((flag & GAIA_XML_SVG) == GAIA_XML_SVG) svg = 1; return svg; } -GAIAGEO_DECLARE int -gaiaIsGpxXmlBlob (const unsigned char *blob, int blob_size) -{ -/* Checks if a valid XmlBLOB buffer does actually contains a GPX document or not */ - int gpx = 0; - unsigned char flag; - -/* validity check */ - if (!gaiaIsValidXmlBlob (blob, blob_size)) - return -1; /* cannot be an XmlBLOB */ - flag = *(blob + 1); - if ((flag & GAIA_XML_GPX) == GAIA_XML_GPX) - gpx = 1; - return gpx; -} - GAIAGEO_DECLARE int gaiaXmlBlobGetDocumentSize (const unsigned char *blob, int blob_size) { /* Return the XMLDocument size (in bytes) from a valid XmlBLOB buffer */ int little_endian = 0; @@ -4244,335 +4215,10 @@ xmlFreeDoc (xml_doc); xmlSetGenericErrorFunc ((void *) stderr, NULL); return NULL; } -static void -parse_gpx_trkpt_values (xmlNodePtr node, double *x, double *y) -{ -/* fetching values from a GPX tag */ - struct _xmlAttr *attr; - - *x = 0.0; - *y = 0.0; - - attr = node->properties; - while (attr != NULL) - { - /* attributes */ - if (attr->type == XML_ATTRIBUTE_NODE) - { - const char *name = (const char *) (attr->name); - xmlNode *text = attr->children; - if (strcmp (name, "lat") == 0 && text != NULL) - *y = atof ((const char *) (text->content)); - if (strcmp (name, "lon") == 0 && text != NULL) - *x = atof ((const char *) (text->content)); - } - attr = attr->next; - } -} - -static double -gpx_time2m (sqlite3_stmt * stmt, const char *timestamp) -{ -/* transforming a timestamp into an M-value */ - double m = 0.0; - int ret; - - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, timestamp, strlen (timestamp), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_FLOAT) - m = sqlite3_column_double (stmt, 0); - } - } - return m; -} - -static void -parse_gpx_trkpt_children (xmlNodePtr node, sqlite3_stmt * stmt, double *z, - double *m) -{ -/* parsing the children of a GPX tag */ - xmlNode *text; - *z = 0.0; - *m = 1721059.500000; /* 0000-01-01T00:00:00Z */ - - while (node) - { - if (node->type == XML_ELEMENT_NODE) - { - const char *name = (const char *) (node->name); - if (strcmp (name, "ele") == 0) - { - text = node->children; - if (text != NULL) - *z = atof ((const char *) (text->content)); - } - if (strcmp (name, "time") == 0) - { - text = node->children; - if (text != NULL) - *m = gpx_time2m (stmt, - (const char *) (text->content)); - } - } - node = node->next; - } -} - -static void -parse_gpx_trkpt_tag (xmlNodePtr node, sqlite3_stmt * stmt, - gaiaDynamicLinePtr dyn) -{ -/* parsing a GPX tag */ - - while (node) - { - if (node->type == XML_ELEMENT_NODE) - { - const char *name = (const char *) (node->name); - if (strcmp (name, "trkpt") == 0) - { - double x; - double y; - double z; - double m; - parse_gpx_trkpt_values (node, &x, &y); - parse_gpx_trkpt_children (node->children, stmt, &z, &m); - gaiaAppendPointZMToDynamicLine (dyn, x, y, z, m); - } - } - node = node->next; - } -} - -static void -gpx_copy_line (gaiaDynamicLinePtr dyn, gaiaGeomCollPtr geom) -{ -/* copying a Linestring from a DynamicLine */ - gaiaPointPtr pt; - int pts = 0; - gaiaLinestringPtr ln; - int iv; - - pt = dyn->First; - while (pt != NULL) - { - /* counting how many points */ - pts++; - pt = pt->Next; - } - if (pts < 2) - return; - - ln = gaiaAddLinestringToGeomColl (geom, pts); - iv = 0; - pt = dyn->First; - while (pt != NULL) - { - /* copying points */ - gaiaSetPointXYZM (ln->Coords, iv, pt->X, pt->Y, pt->Z, pt->M); - iv++; - pt = pt->Next; - } -} - -static void -parse_gpx_trkseg_tag (xmlNodePtr node, sqlite3_stmt * stmt, - gaiaGeomCollPtr geom) -{ -/* parsing a GPX tag */ - - while (node) - { - if (node->type == XML_ELEMENT_NODE) - { - const char *name = (const char *) (node->name); - if (strcmp (name, "trkseg") == 0) - { - gaiaDynamicLinePtr dyn = gaiaAllocDynamicLine (); - parse_gpx_trkpt_tag (node->children, stmt, dyn); - gpx_copy_line (dyn, geom); - gaiaFreeDynamicLine (dyn); - } - } - node = node->next; - } -} - -static void -parse_gpx_trk_tag (xmlNodePtr node, sqlite3_stmt * stmt, gaiaGeomCollPtr geom) -{ -/* parsing a GPX tag */ - - while (node) - { - if (node->type == XML_ELEMENT_NODE) - { - const char *name = (const char *) (node->name); - if (strcmp (name, "trk") == 0) - parse_gpx_trkseg_tag (node->children, stmt, geom); - } - node = node->next; - } -} - -static void -parse_gpx_tag (xmlNodePtr node, sqlite3_stmt * stmt, gaiaGeomCollPtr geom) -{ -/* parsing a GPX document */ - - while (node) - { - if (node->type == XML_ELEMENT_NODE) - { - const char *name = (const char *) (node->name); - if (strcmp (name, "gpx") == 0) - parse_gpx_trk_tag (node->children, stmt, geom); - } - node = node->next; - } -} - -static void -parse_gpx (xmlDocPtr xml_doc, sqlite3_stmt * stmt, gaiaGeomCollPtr geom) -{ -/* attempting to parse a GPX document */ - xmlNodePtr root = xmlDocGetRootElement (xml_doc); - parse_gpx_tag (root, stmt, geom); -} - -GAIAGEO_DECLARE gaiaGeomCollPtr -gaiaXmlBlobMLineFromGPX (const unsigned char *blob, int blob_size, - sqlite3 * sqlite) -{ -/* Return a MultiLinestring Geometry from a valid XmlBLOB buffer of the GPX type */ - int ret; - const char *sql; - sqlite3_stmt *stmt = NULL; - int compressed = 0; - int little_endian = 0; - unsigned char flag; - const unsigned char *ptr; - int xml_len; - int zip_len; - short uri_len; - short fileid_len; - short parentid_len; - short name_len; - short title_len; - short abstract_len; - short geometry_len; - unsigned char *xml; - xmlDocPtr xml_doc; - int legacy_blob = 0; - int endian_arch = gaiaEndianArch (); - xmlGenericErrorFunc silentError = (xmlGenericErrorFunc) spliteSilentError; - gaiaGeomCollPtr geom = NULL; - -/* validity check */ - if (!gaiaIsValidXmlBlob (blob, blob_size)) - return NULL; /* cannot be an XmlBLOB */ - if (!gaiaIsGpxXmlBlob (blob, blob_size)) - return NULL; /* not a GPX document */ - if (*(blob + 2) == GAIA_XML_LEGACY_HEADER) - legacy_blob = 1; - flag = *(blob + 1); - if ((flag & GAIA_XML_LITTLE_ENDIAN) == GAIA_XML_LITTLE_ENDIAN) - little_endian = 1; - if ((flag & GAIA_XML_COMPRESSED) == GAIA_XML_COMPRESSED) - compressed = 1; - xml_len = gaiaImport32 (blob + 3, little_endian, endian_arch); - zip_len = gaiaImport32 (blob + 7, little_endian, endian_arch); - ptr = blob + 11; - uri_len = gaiaImport16 (ptr, little_endian, endian_arch); - ptr += 3 + uri_len; - fileid_len = gaiaImport16 (ptr, little_endian, endian_arch); - ptr += 3 + fileid_len; - parentid_len = gaiaImport16 (ptr, little_endian, endian_arch); - ptr += 3 + parentid_len; - if (!legacy_blob) - { - name_len = gaiaImport16 (ptr, little_endian, endian_arch); - ptr += 3 + name_len; - } - title_len = gaiaImport16 (ptr, little_endian, endian_arch); - ptr += 3 + title_len; - abstract_len = gaiaImport16 (ptr, little_endian, endian_arch); - ptr += 3 + abstract_len; - geometry_len = gaiaImport16 (ptr, little_endian, endian_arch); - ptr += 3 + geometry_len; - ptr++; - if (compressed) - { - /* unzipping the XML payload */ - uLong refLen = xml_len; - const Bytef *in = ptr; - xml = malloc (xml_len + 1); - if (uncompress (xml, &refLen, in, zip_len) != Z_OK) - { - /* uncompress error */ - spatialite_e ("XmlBLOB DEFLATE uncompress error\n"); - free (xml); - return NULL; - } - *(xml + xml_len) = '\0'; - } - else - { - /* just copying the uncompressed XML payload */ - xml = malloc (xml_len + 1); - memcpy (xml, ptr, xml_len); - *(xml + xml_len) = '\0'; - } -/* attempting to parse the GPX document */ - xmlSetGenericErrorFunc (NULL, silentError); - xml_doc = - xmlReadMemory ((const char *) xml, xml_len, "noname.xml", NULL, 0); - if (xml_doc == NULL) - { - /* parsing error; not a well-formed XML */ - xmlSetGenericErrorFunc ((void *) stderr, NULL); - return NULL; - } - free (xml); - -/* creating a prepared SQL statement transforming timestamps into M-values */ - sql = "SELECT julianday(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - goto end; - - geom = gaiaAllocGeomCollXYZM (); - geom->Srid = 4326; - geom->DeclaredType = GAIA_MULTILINESTRING; - parse_gpx (xml_doc, stmt, geom); - sqlite3_finalize (stmt); - - if (geom->FirstLinestring == NULL) - { - /* empty geometry: returning NULL */ - gaiaFreeGeomColl (geom); - geom = NULL; - } - - end: - xmlFreeDoc (xml_doc); - xmlSetGenericErrorFunc ((void *) stderr, NULL); - return geom; -} - GAIAGEO_DECLARE char * gaia_libxml2_version (void) { /* return the current LIBXML2 version */ int len; Index: src/gaiageo/lemon/Makefile.in ================================================================== --- src/gaiageo/lemon/Makefile.in +++ src/gaiageo/lemon/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/gaiageo/lemon +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -153,11 +143,10 @@ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ @@ -326,10 +315,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiageo/lemon/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/gaiageo/lemon/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -620,11 +610,9 @@ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/gaiageo/lemon/lemon_src/Makefile.in ================================================================== --- src/gaiageo/lemon/lemon_src/Makefile.in +++ src/gaiageo/lemon/lemon_src/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/gaiageo/lemon/lemon_src +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -265,10 +254,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/gaiageo/lemon/lemon_src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/gaiageo/lemon/lemon_src/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -439,11 +429,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/gaiageo/lex.Ewkt.c ================================================================== --- src/gaiageo/lex.Ewkt.c +++ src/gaiageo/lex.Ewkt.c @@ -6,11 +6,11 @@ /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ @@ -51,10 +51,11 @@ typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif @@ -81,12 +82,10 @@ #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ @@ -168,21 +167,15 @@ #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) -#define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ @@ -195,10 +188,15 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { @@ -213,11 +211,11 @@ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ @@ -294,11 +292,11 @@ #define YY_FLUSH_BUFFER Ewkt_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) YY_BUFFER_STATE Ewkt_scan_buffer (char *base, yy_size_t size, yyscan_t yyscanner); YY_BUFFER_STATE Ewkt_scan_string (yyconst char *yy_str, yyscan_t yyscanner); -YY_BUFFER_STATE Ewkt_scan_bytes (yyconst char *bytes, yy_size_t len, +YY_BUFFER_STATE Ewkt_scan_bytes (yyconst char *bytes, int len, yyscan_t yyscanner); void *Ewktalloc (yy_size_t, yyscan_t yyscanner); void *Ewktrealloc (void *, yy_size_t, yyscan_t yyscanner); void Ewktfree (void *, yyscan_t yyscanner); @@ -358,27 +356,21 @@ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[150] = { 0, +static yyconst flex_int16_t yy_accept[93] = { 0, 0, 0, 23, 21, 19, 20, 3, 4, 21, 2, - 21, 1, 1, 21, 21, 21, 21, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - - 0, 6, 0, 1, 1, 1, 1, 0, 0, 0, - 0, 9, 0, 0, 0, 0, 0, 10, 0, 0, - 0, 0, 0, 0, 7, 0, 11, 0, 0, 8, - 0, 12, 0, 0, 0, 15, 0, 0, 16, 0, - 0, 0, 13, 0, 14, 0, 17, 18, 0 + 21, 1, 21, 21, 21, 21, 1, 1, 1, 1, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, 0, 0, 6, 0, + 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, + 10, 0, 0, 0, 0, 0, 0, 7, 0, 11, + 0, 0, 8, 0, 12, 0, 0, 0, 15, 0, + 0, 16, 0, 0, 0, 13, 0, 14, 0, 17, + 18, 0 }; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -415,134 +407,99 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; -static yyconst flex_int16_t yy_base[150] = { 0, - 0, 0, 284, 285, 285, 285, 285, 285, 30, 285, - 32, 273, 34, 33, 33, 25, 31, 272, 41, 271, - 45, 46, 270, 56, 67, 46, 52, 55, 65, 64, - 269, 79, 76, 268, 89, 90, 91, 267, 266, 265, - 75, 80, 82, 90, 84, 103, 100, 264, 263, 262, - 117, 104, 261, 260, 259, 258, 257, 256, 123, 255, - 108, 103, 114, 110, 122, 254, 253, 252, 131, 251, - 250, 249, 248, 137, 247, 246, 245, 244, 243, 242, - 114, 118, 129, 135, 134, 241, 240, 237, 235, 234, - 233, 231, 230, 229, 227, 226, 154, 133, 135, 142, - - 139, 285, 142, 109, 105, 71, 42, 136, 147, 146, - 164, 152, 161, 159, 168, 164, 159, 285, 166, 172, - 166, 166, 176, 176, 180, 178, 188, 188, 192, 285, - 188, 285, 192, 199, 198, 197, 204, 199, 285, 195, - 206, 210, 212, 214, 285, 217, 219, 285, 285 +static yyconst flex_int16_t yy_base[93] = { 0, + 0, 0, 187, 188, 188, 188, 188, 188, 174, 188, + 173, 30, 29, 28, 20, 26, 36, 38, 172, 40, + 33, 35, 38, 45, 171, 166, 165, 38, 49, 40, + 46, 40, 164, 163, 57, 49, 57, 50, 66, 58, + 59, 72, 66, 70, 69, 70, 78, 79, 188, 81, + 75, 86, 90, 94, 94, 104, 99, 105, 101, 95, + 188, 102, 112, 105, 105, 115, 120, 120, 115, 122, + 125, 129, 188, 125, 188, 129, 135, 134, 137, 143, + 138, 188, 134, 150, 150, 149, 148, 188, 154, 156, + 188, 188 +}; + +static yyconst flex_int16_t yy_def[93] = { 0, + 92, 1, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 0 }; -static yyconst flex_int16_t yy_def[150] = { 0, - 149, 1, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 0 +static yyconst flex_int16_t yy_nxt[227] = { 0, + 4, 5, 6, 7, 8, 9, 10, 11, 4, 12, + 4, 4, 13, 4, 14, 15, 4, 4, 16, 4, + 4, 4, 4, 4, 4, 4, 13, 4, 14, 15, + 4, 4, 16, 4, 4, 4, 4, 4, 19, 20, + 21, 22, 23, 24, 25, 17, 26, 18, 19, 20, + 28, 29, 30, 35, 21, 22, 23, 24, 31, 32, + 36, 37, 38, 39, 28, 29, 30, 35, 40, 41, + 42, 43, 31, 32, 36, 37, 38, 39, 44, 45, + 46, 49, 40, 41, 42, 43, 47, 50, 51, 52, + 48, 53, 44, 45, 46, 49, 54, 55, 56, 57, + + 47, 50, 51, 52, 48, 53, 58, 59, 60, 61, + 54, 55, 56, 57, 62, 63, 64, 65, 66, 67, + 58, 59, 60, 61, 68, 69, 70, 71, 62, 63, + 64, 65, 66, 67, 72, 73, 74, 75, 68, 69, + 70, 71, 76, 77, 78, 79, 80, 81, 72, 73, + 74, 75, 82, 83, 84, 85, 76, 77, 78, 79, + 80, 81, 86, 87, 88, 89, 82, 83, 84, 85, + 90, 91, 34, 33, 27, 34, 86, 87, 88, 89, + 33, 27, 18, 17, 90, 91, 92, 3, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92 }; -static yyconst flex_int16_t yy_nxt[324] = { 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 4, 4, 14, 4, 15, 16, 4, 4, 17, 4, - 4, 4, 4, 4, 4, 4, 14, 4, 15, 16, - 4, 4, 17, 4, 4, 4, 4, 4, 18, 19, - 20, 21, 23, 24, 26, 25, 27, 28, 29, 31, - 19, 107, 32, 34, 21, 22, 35, 36, 26, 25, - 27, 28, 29, 41, 23, 24, 32, 25, 42, 43, - 35, 36, 38, 30, 39, 46, 40, 41, 44, 45, - 106, 25, 42, 43, 48, 33, 49, 51, 50, 46, - 61, 62, 44, 45, 53, 56, 54, 57, 55, 58, - - 37, 51, 59, 63, 61, 62, 64, 65, 66, 47, - 67, 69, 68, 52, 105, 74, 59, 63, 104, 81, - 64, 65, 71, 82, 72, 69, 73, 83, 78, 74, - 79, 84, 80, 81, 85, 98, 88, 82, 89, 99, - 90, 83, 93, 100, 94, 84, 95, 101, 85, 98, - 102, 103, 108, 99, 109, 110, 111, 100, 112, 113, - 114, 101, 115, 97, 102, 103, 108, 118, 109, 110, - 111, 119, 112, 113, 114, 120, 115, 116, 117, 121, - 122, 118, 123, 124, 125, 119, 126, 127, 128, 120, - 129, 116, 117, 121, 122, 130, 123, 124, 125, 131, - - 126, 127, 128, 132, 129, 133, 134, 135, 136, 130, - 137, 138, 139, 131, 140, 141, 142, 132, 143, 133, - 134, 135, 136, 144, 137, 138, 139, 145, 140, 141, - 142, 146, 143, 147, 148, 96, 95, 144, 107, 106, - 92, 145, 91, 90, 105, 146, 104, 147, 148, 87, - 86, 80, 97, 96, 77, 76, 75, 73, 92, 91, - 70, 68, 87, 86, 60, 58, 77, 76, 55, 55, - 75, 50, 50, 70, 40, 40, 60, 52, 47, 37, - 33, 30, 22, 149, 3, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149 -}; - -static yyconst flex_int16_t yy_chk[324] = { 0, +static yyconst flex_int16_t yy_chk[227] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, - 11, 11, 13, 13, 14, 13, 15, 16, 17, 19, - 19, 107, 19, 21, 21, 22, 21, 22, 14, 13, - 15, 16, 17, 26, 24, 24, 19, 24, 27, 28, - 21, 22, 25, 30, 25, 30, 25, 26, 29, 29, - 106, 24, 27, 28, 32, 33, 32, 33, 32, 30, - 41, 42, 29, 29, 35, 36, 35, 36, 35, 36, - - 37, 33, 37, 43, 41, 42, 44, 45, 46, 47, - 46, 47, 46, 52, 105, 52, 37, 43, 104, 61, - 44, 45, 51, 62, 51, 47, 51, 63, 59, 52, - 59, 64, 59, 61, 65, 81, 69, 62, 69, 82, - 69, 63, 74, 83, 74, 64, 74, 83, 65, 81, - 84, 85, 98, 82, 99, 100, 101, 83, 103, 108, - 109, 83, 110, 97, 84, 85, 98, 112, 99, 100, - 101, 113, 103, 108, 109, 114, 110, 111, 111, 115, - 116, 112, 117, 119, 120, 113, 121, 122, 123, 114, - 124, 111, 111, 115, 116, 125, 117, 119, 120, 126, - - 121, 122, 123, 127, 124, 128, 129, 131, 133, 125, - 134, 135, 136, 126, 137, 138, 140, 127, 141, 128, - 129, 131, 133, 142, 134, 135, 136, 143, 137, 138, - 140, 144, 141, 146, 147, 96, 95, 142, 94, 93, - 92, 143, 91, 90, 89, 144, 88, 146, 147, 87, - 86, 80, 79, 78, 77, 76, 75, 73, 72, 71, - 70, 68, 67, 66, 60, 58, 57, 56, 55, 54, - 53, 50, 49, 48, 40, 39, 38, 34, 31, 23, - 20, 18, 12, 3, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149, 149, 149, 149, 149, 149, 149, 149, - 149, 149, 149 + 1, 1, 1, 1, 1, 1, 1, 1, 12, 12, + 13, 14, 15, 16, 17, 17, 18, 18, 20, 20, + 21, 22, 23, 28, 13, 14, 15, 16, 24, 24, + 29, 30, 31, 32, 21, 22, 23, 28, 35, 36, + 37, 38, 24, 24, 29, 30, 31, 32, 39, 40, + 41, 43, 35, 36, 37, 38, 42, 44, 45, 46, + 42, 47, 39, 40, 41, 43, 48, 50, 51, 52, + + 42, 44, 45, 46, 42, 47, 53, 54, 54, 55, + 48, 50, 51, 52, 56, 57, 58, 59, 60, 62, + 53, 54, 54, 55, 63, 64, 65, 66, 56, 57, + 58, 59, 60, 62, 67, 68, 69, 70, 63, 64, + 65, 66, 71, 72, 74, 76, 77, 78, 67, 68, + 69, 70, 79, 80, 81, 83, 71, 72, 74, 76, + 77, 78, 84, 85, 86, 87, 79, 80, 81, 83, + 89, 90, 34, 33, 27, 26, 84, 85, 86, 87, + 25, 19, 11, 9, 89, 90, 3, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, + 92, 92, 92, 92, 92, 92 }; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -#line 1 "ewktLexer.l" /* EwktLexer.l -- EWKT parser - FLEX config version 2.4, 2011 May 14 @@ -591,11 +548,10 @@ * will try to match with any of the defined tokens from below. Flex will * then match the string of longest length. Suppose the string is: POINTM, * Flex would match both POINT and POINTM, but since POINTM is the longer * of the two tokens, FLEX will match POINTM. */ -#line 600 "lex.Ewkt.c" #define INITIAL 0 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way @@ -618,12 +574,12 @@ FILE *yyin_r, *yyout_r; size_t yy_buffer_stack_top; /**< index of top of stack. */ size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE *yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; int yy_did_buffer_switch_on_eof; int yy_start_stack_ptr; @@ -666,11 +622,11 @@ FILE *Ewktget_out (yyscan_t yyscanner); void Ewktset_out (FILE * out_str, yyscan_t yyscanner); -yy_size_t Ewktget_leng (yyscan_t yyscanner); +int Ewktget_leng (yyscan_t yyscanner); char *Ewktget_text (yyscan_t yyscanner); int Ewktget_lineno (yyscan_t yyscanner); @@ -729,11 +685,11 @@ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + unsigned n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ @@ -839,356 +795,319 @@ } Ewkt_load_buffer_state (yyscanner); } - { -#line 59 "ewktLexer.l" - -#line 850 "lex.Ewkt.c" - - while (1) /* loops until end-of-file is reached */ - { - yy_cp = yyg->yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yyg->yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yyg->yy_start; - yy_match: - do + while (1) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yyg->yy_start; + yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; + if (yy_accept[yy_current_state]) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while (yy_chk[yy_base[yy_current_state] + yy_c] != + yy_current_state) + { + yy_current_state = (int) yy_def[yy_current_state]; + if (yy_current_state >= 93) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = + yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while (yy_base[yy_current_state] != 188); + + yy_find_action: + yy_act = yy_accept[yy_current_state]; + if (yy_act == 0) + { /* have to back up */ + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + + do_action: /* This label is used only to access EOF actions. */ + + switch (yy_act) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = yyg->yy_hold_char; + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + + case 1: + YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->ewkt_col += + (int) strlen (yytext); + Ewktget_extra (yyscanner)->EwktLval.dval = atof (yytext); + return EWKT_NUM; + } + YY_BREAK case 2:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_COMMA; + } + YY_BREAK case 3:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_OPEN_BRACKET; + } + YY_BREAK case 4:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_CLOSE_BRACKET; + } + YY_BREAK case 5:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_POINT; + } + YY_BREAK case 6:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_POINT_M; + } + YY_BREAK case 7:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_LINESTRING; + } + YY_BREAK case 8:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_LINESTRING_M; + } + YY_BREAK case 9:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_POLYGON; + } + YY_BREAK case 10:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_POLYGON_M; + } + YY_BREAK case 11:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_MULTIPOINT; + } + YY_BREAK case 12:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_MULTIPOINT_M; + } + YY_BREAK case 13:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_MULTILINESTRING; + } + YY_BREAK case 14:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_MULTILINESTRING_M; + } + YY_BREAK case 15:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_MULTIPOLYGON; + } + YY_BREAK case 16:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_MULTIPOLYGON_M; + } + YY_BREAK case 17:YY_RULE_SETUP { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; - if (yy_accept[yy_current_state]) - { - yyg->yy_last_accepting_state = yy_current_state; - yyg->yy_last_accepting_cpos = yy_cp; - } - while (yy_chk[yy_base[yy_current_state] + yy_c] != - yy_current_state) - { - yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 150) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = - yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_GEOMETRYCOLLECTION; } - while (yy_base[yy_current_state] != 285); - - yy_find_action: - yy_act = yy_accept[yy_current_state]; - if (yy_act == 0) - { /* have to back up */ - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - yy_act = yy_accept[yy_current_state]; + YY_BREAK case 18:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->EwktLval.dval = 0; + return EWKT_GEOMETRYCOLLECTION_M; } - - YY_DO_BEFORE_ACTION; - - do_action: /* This label is used only to access EOF actions. */ - - switch (yy_act) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yyg->yy_hold_char; - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - goto yy_find_action; - - case 1: - YY_RULE_SETUP -#line 60 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->ewkt_col += - (int) strlen (yytext); - Ewktget_extra (yyscanner)->EwktLval.dval = - atof (yytext); - return EWKT_NUM; - } - YY_BREAK case 2:YY_RULE_SETUP -#line 61 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_COMMA; - } - YY_BREAK case 3:YY_RULE_SETUP -#line 62 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_OPEN_BRACKET; - } - YY_BREAK case 4:YY_RULE_SETUP -#line 63 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_CLOSE_BRACKET; - } - YY_BREAK case 5:YY_RULE_SETUP -#line 64 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_POINT; - } - YY_BREAK case 6:YY_RULE_SETUP -#line 65 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_POINT_M; - } - YY_BREAK case 7:YY_RULE_SETUP -#line 66 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_LINESTRING; - } - YY_BREAK case 8:YY_RULE_SETUP -#line 67 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_LINESTRING_M; - } - YY_BREAK case 9:YY_RULE_SETUP -#line 68 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_POLYGON; - } - YY_BREAK case 10:YY_RULE_SETUP -#line 69 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_POLYGON_M; - } - YY_BREAK case 11:YY_RULE_SETUP -#line 70 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_MULTIPOINT; - } - YY_BREAK case 12:YY_RULE_SETUP -#line 71 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_MULTIPOINT_M; - } - YY_BREAK case 13:YY_RULE_SETUP -#line 72 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_MULTILINESTRING; - } - YY_BREAK case 14:YY_RULE_SETUP -#line 73 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_MULTILINESTRING_M; - } - YY_BREAK case 15:YY_RULE_SETUP -#line 74 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_MULTIPOLYGON; - } - YY_BREAK case 16:YY_RULE_SETUP -#line 75 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_MULTIPOLYGON_M; - } - YY_BREAK case 17:YY_RULE_SETUP -#line 76 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_GEOMETRYCOLLECTION; - } - YY_BREAK case 18:YY_RULE_SETUP -#line 77 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->EwktLval.dval = 0; - return EWKT_GEOMETRYCOLLECTION_M; - } - YY_BREAK case 19:YY_RULE_SETUP -#line 79 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->ewkt_col += - (int) strlen (yytext); - } /* ignore but count white space */ - YY_BREAK case 20: + YY_BREAK case 19:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->ewkt_col += + (int) strlen (yytext); + } /* ignore but count white space */ + YY_BREAK case 20: /* rule 20 can match eol */ - YY_RULE_SETUP -#line 81 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->ewkt_col = 0; - Ewktget_extra (yyscanner)->ewkt_line++; - } - YY_BREAK case 21:YY_RULE_SETUP -#line 83 "ewktLexer.l" - { - Ewktget_extra (yyscanner)->ewkt_col += - (int) strlen (yytext); - return -1; - } - YY_BREAK case 22:YY_RULE_SETUP -#line 84 "ewktLexer.l" - ECHO; - YY_BREAK -#line 1018 "lex.Ewkt.c" - case YY_STATE_EOF (INITIAL): - yyterminate (); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = - (int) (yy_cp - yyg->yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yyg->yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == - YY_BUFFER_NEW) + YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->ewkt_col = 0; + Ewktget_extra (yyscanner)->ewkt_line++; + } + YY_BREAK case 21:YY_RULE_SETUP + { + Ewktget_extra (yyscanner)->ewkt_col += + (int) strlen (yytext); + return -1; + } + YY_BREAK case 22:YY_RULE_SETUP ECHO; + YY_BREAK case YY_STATE_EOF (INITIAL):yyterminate (); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = + (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == + YY_BUFFER_NEW) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * Ewktlex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = + YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if (yyg->yy_c_buf_p <= + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state (yyscanner); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = + yy_try_NUL_trans (yy_current_state, yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if (yy_next_state) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_c_buf_p; + goto yy_find_action; + } + } + + else + switch (yy_get_next_buffer (yyscanner)) { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * Ewktlex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yyg->yy_n_chars = - YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if (yyg->yy_c_buf_p <= - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if (Ewktwrap (yyscanner)) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = + yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF (YY_START); + goto do_action; + } + + else + { + if (!yyg->yy_did_buffer_switch_on_eof) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state (yyscanner); - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; - yy_next_state = - yy_try_NUL_trans (yy_current_state, - yyscanner); + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg-> + yy_n_chars]; + yy_current_state = + yy_get_previous_state (yyscanner); + + yy_cp = yyg->yy_c_buf_p; yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - - if (yy_next_state) - { - /* Consume the NUL. */ - yy_cp = ++yyg->yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yyg->yy_c_buf_p; - goto yy_find_action; - } + goto yy_find_action; } - - else - switch (yy_get_next_buffer (yyscanner)) - { - case EOB_ACT_END_OF_FILE: - { - yyg->yy_did_buffer_switch_on_eof = 0; - - if (Ewktwrap (yyscanner)) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yyg->yy_c_buf_p = - yyg->yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF (YY_START); - goto do_action; - } - - else - { - if (!yyg->yy_did_buffer_switch_on_eof) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yyg->yy_c_buf_p = - yyg->yytext_ptr + - yy_amount_of_matched_text; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yyg->yy_c_buf_p = - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR - ("fatal flex scanner internal error--no action found"); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of user's declarations */ + break; + } + + default: + YY_FATAL_ERROR + ("fatal flex scanner internal error--no action found"); + } /* end of action switch */ + } /* end of scanning one token */ } /* end of Ewktlex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: @@ -1243,24 +1162,24 @@ */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) (yyg->yy_c_buf_p - b->yy_ch_buf); if (b->yy_is_our_buffer) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if (new_size <= 0) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; @@ -1288,11 +1207,11 @@ if (num_to_read > YY_READ_BUF_SIZE) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT ((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - yyg->yy_n_chars, num_to_read); + yyg->yy_n_chars, (size_t) num_to_read); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; } if (yyg->yy_n_chars == 0) @@ -1360,11 +1279,11 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 150) + if (yy_current_state >= 93) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } @@ -1391,17 +1310,16 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 150) + if (yy_current_state >= 93) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 149); + yy_is_jam = (yy_current_state == 92); - (void) yyg; return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_INPUT #ifdef __cplusplus @@ -1428,11 +1346,11 @@ /* This was really a NUL. */ *yyg->yy_c_buf_p = '\0'; else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch (yy_get_next_buffer (yyscanner)) { case EOB_ACT_LAST_MATCH: @@ -1597,10 +1515,14 @@ Ewktfree ((void *) b->yy_ch_buf, yyscanner); Ewktfree ((void *) b, yyscanner); } +#ifndef __cplusplus +extern int isatty (int); +#endif /* __cplusplus */ + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a Ewktrestart() or at EOF. */ static void @@ -1719,11 +1641,11 @@ * Guarantees space for at least one push. */ static void Ewktensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; if (!yyg->yy_buffer_stack) { @@ -1819,23 +1741,22 @@ return Ewkt_scan_bytes (yystr, strlen (yystr), yyscanner); } /** Setup the input buffer state to scan the given bytes. The next call to Ewktlex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ YY_BUFFER_STATE -Ewkt_scan_bytes (yyconst char *yybytes, yy_size_t _yybytes_len, - yyscan_t yyscanner) +Ewkt_scan_bytes (yyconst char *yybytes, int _yybytes_len, yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) Ewktalloc (n, yyscanner); if (!buf) @@ -1863,11 +1784,11 @@ #endif static void yy_fatal_error (yyconst char *msg, yyscan_t yyscanner) { - (void) spatialite_e ("%s\n", msg); + (void) fprintf (stderr, "%s\n", msg); exit (YY_EXIT_FAILURE); } /* Redefine yyless() so it works in section 3 code. */ @@ -1947,11 +1868,11 @@ } /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t +int Ewktget_leng (yyscan_t yyscanner) { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; return yyleng; } @@ -1987,11 +1908,11 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* lineno is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("Ewktset_lineno called with no buffer"); + yy_fatal_error ("Ewktset_lineno called with no buffer", yyscanner); yylineno = line_number; } /** Set the current column. @@ -2003,11 +1924,11 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* column is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("Ewktset_column called with no buffer"); + yy_fatal_error ("Ewktset_column called with no buffer", yyscanner); yycolumn = column_no; } /** Set the input stream. This does not discard the current @@ -2231,15 +2152,11 @@ { free ((char *) ptr); /* see Ewktrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" - -#line 84 "ewktLexer.l" - - int Ewktwrap (yyscan_t yyscanner) { return 1; } Index: src/gaiageo/lex.GeoJson.c ================================================================== --- src/gaiageo/lex.GeoJson.c +++ src/gaiageo/lex.GeoJson.c @@ -6,11 +6,11 @@ /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ @@ -51,10 +51,11 @@ typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif @@ -81,12 +82,10 @@ #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ @@ -168,21 +167,15 @@ #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) -#define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ @@ -195,10 +188,15 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { @@ -213,11 +211,11 @@ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ @@ -295,11 +293,11 @@ #define YY_FLUSH_BUFFER GeoJson_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) YY_BUFFER_STATE GeoJson_scan_buffer (char *base, yy_size_t size, yyscan_t yyscanner); YY_BUFFER_STATE GeoJson_scan_string (yyconst char *yy_str, yyscan_t yyscanner); -YY_BUFFER_STATE GeoJson_scan_bytes (yyconst char *bytes, yy_size_t len, +YY_BUFFER_STATE GeoJson_scan_bytes (yyconst char *bytes, int len, yyscan_t yyscanner); void *GeoJsonalloc (yy_size_t, yyscan_t yyscanner); void *GeoJsonrealloc (void *, yy_size_t, yyscan_t yyscanner); void GeoJsonfree (void *, yyscan_t yyscanner); @@ -359,37 +357,31 @@ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[239] = { 0, +static yyconst flex_int16_t yy_accept[182] = { 0, 0, 0, 28, 26, 24, 25, 26, 26, 4, 26, - 1, 1, 5, 8, 9, 6, 7, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, + 1, 5, 8, 9, 6, 7, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 16, + 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, + 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 13, 0, 0, 14, 0, + 10, 0, 0, 0, 0, 0, 0, 0, 17, 0, - 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 0, 13, 0, 0, 14, - 0, 10, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 17, 0, 0, 0, 0, 0, 1, 1, 1, - 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, + 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - - 18, 0, 20, 0, 0, 12, 15, 0, 0, 0, - 0, 11, 0, 0, 0, 22, 0, 0, 0, 0, - 0, 0, 0, 0, 21, 0, 0, 0, 0, 0, - 23, 0, 0, 0, 0, 0, 3, 0 + 0, 0, 0, 18, 0, 20, 0, 0, 12, 15, + 0, 0, 0, 0, 11, 0, 0, 0, 22, 0, + 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, + 0, 0, 0, 23, 0, 0, 0, 0, 0, 3, + 0 }; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -426,158 +418,123 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; -static yyconst flex_int16_t yy_base[240] = { 0, - 0, 39, 302, 303, 303, 303, 68, 3, 303, 12, - 292, 5, 303, 303, 303, 303, 303, 284, 275, 271, - 261, 265, 274, 0, 270, 273, 259, 253, 257, 280, - 14, 15, 279, 44, 50, 278, 52, 23, 269, 254, - 254, 255, 7, 251, 250, 246, 248, 249, 246, 244, - 245, 61, 265, 58, 63, 264, 86, 92, 93, 263, - 262, 261, 256, 239, 243, 231, 235, 226, 226, 229, - 257, 231, 235, 226, 233, 246, 101, 100, 246, 245, - 244, 106, 107, 243, 242, 241, 240, 239, 238, 113, - 237, 235, 220, 226, 215, 206, 214, 235, 215, 303, - - 213, 232, 211, 230, 202, 223, 222, 221, 116, 220, - 219, 218, 217, 121, 216, 215, 214, 213, 212, 211, - 62, 184, 183, 72, 213, 185, 303, 188, 179, 303, - 180, 303, 186, 202, 201, 200, 199, 198, 197, 196, - 195, 194, 193, 192, 191, 190, 46, 165, 164, 169, - 164, 303, 164, 163, 159, 156, 168, 180, 179, 178, - 177, 303, 147, 157, 153, 9, 178, 161, 153, 152, - 168, 166, 146, 151, 144, 135, 303, 137, 147, 146, - 146, 137, 141, 149, 130, 138, 139, 128, 127, 136, - 131, 154, 122, 152, 124, 120, 149, 148, 126, 122, - - 303, 116, 303, 118, 143, 303, 303, 136, 121, 117, - 139, 303, 120, 119, 110, 303, 106, 103, 110, 101, - 107, 129, 104, 76, 303, 84, 62, 61, 62, 37, - 303, 12, 14, 120, 6, 128, 303, 303, 0 +static yyconst flex_int16_t yy_base[183] = { 0, + 0, 39, 203, 204, 204, 204, 68, 193, 204, 4, + 3, 204, 204, 204, 204, 204, 185, 176, 172, 162, + 166, 175, 0, 171, 174, 160, 154, 158, 6, 11, + 8, 181, 12, 172, 157, 157, 158, 0, 154, 153, + 149, 151, 152, 149, 147, 148, 168, 167, 166, 161, + 144, 148, 136, 140, 131, 131, 134, 162, 136, 140, + 131, 138, 151, 151, 150, 148, 133, 139, 128, 119, + 127, 148, 128, 204, 126, 145, 124, 143, 115, 15, + 110, 109, 16, 139, 111, 204, 114, 105, 204, 106, + 204, 112, 128, 25, 103, 102, 107, 102, 204, 102, + + 101, 97, 94, 106, 204, 89, 99, 95, 8, 120, + 103, 95, 94, 110, 108, 88, 93, 86, 77, 204, + 79, 89, 88, 88, 79, 83, 91, 72, 80, 81, + 68, 67, 75, 69, 92, 60, 89, 61, 57, 84, + 83, 61, 57, 204, 44, 204, 46, 71, 204, 204, + 64, 49, 45, 67, 204, 48, 47, 38, 204, 34, + 31, 39, 30, 36, 58, 51, 29, 204, 47, 25, + 38, 49, 21, 204, 24, 16, 43, 16, 47, 204, + 204, 0 +}; + +static yyconst flex_int16_t yy_def[183] = { 0, + 182, 182, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 0, 181 }; -static yyconst flex_int16_t yy_def[240] = { 0, - 239, 239, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 0, 238 +static yyconst flex_int16_t yy_nxt[245] = { 0, + 4, 5, 6, 7, 8, 9, 10, 30, 11, 12, + 32, 33, 31, 47, 29, 48, 31, 13, 14, 32, + 33, 93, 17, 94, 179, 177, 54, 55, 105, 97, + 40, 98, 41, 94, 118, 119, 176, 175, 15, 16, + 5, 6, 7, 8, 9, 10, 28, 11, 12, 178, + 180, 179, 174, 173, 172, 179, 13, 14, 171, 170, + 169, 168, 167, 166, 165, 164, 163, 162, 161, 160, + 159, 158, 157, 156, 155, 154, 153, 15, 16, 17, + 18, 19, 20, 21, 152, 151, 150, 149, 22, 23, + 148, 147, 146, 24, 145, 144, 143, 25, 142, 26, + + 141, 140, 27, 28, 139, 138, 137, 136, 135, 134, + 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, + 123, 122, 121, 120, 117, 116, 115, 114, 113, 112, + 111, 110, 109, 108, 107, 106, 94, 104, 103, 102, + 101, 100, 99, 96, 95, 92, 91, 90, 89, 88, + 87, 86, 85, 84, 83, 82, 81, 80, 65, 64, + 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, + 69, 68, 67, 66, 49, 65, 64, 63, 62, 61, + 60, 59, 58, 57, 56, 53, 52, 51, 50, 49, + 46, 45, 44, 43, 42, 39, 38, 37, 36, 35, + + 34, 29, 181, 3, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181 }; -static yyconst flex_int16_t yy_nxt[344] = { 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 30, 31, 36, 37, 236, 32, 38, 14, 15, 33, - 34, 53, 31, 234, 233, 54, 18, 60, 38, 61, - 45, 62, 46, 67, 68, 175, 176, 54, 16, 17, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 162, - 29, 56, 34, 232, 147, 57, 14, 15, 35, 36, - 37, 58, 79, 38, 80, 231, 81, 57, 146, 52, - 147, 55, 77, 58, 82, 38, 230, 16, 17, 18, - 19, 20, 21, 22, 77, 150, 82, 151, 23, 24, - 84, 229, 85, 25, 86, 228, 87, 26, 88, 27, - - 89, 59, 28, 29, 90, 106, 227, 107, 78, 108, - 111, 109, 112, 226, 113, 83, 90, 118, 114, 119, - 136, 120, 137, 109, 138, 141, 235, 142, 236, 143, - 114, 237, 225, 224, 223, 222, 236, 221, 220, 219, - 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, - 208, 207, 206, 205, 204, 203, 202, 201, 200, 199, - 198, 197, 196, 195, 194, 193, 192, 191, 190, 189, - 188, 187, 186, 185, 184, 183, 182, 181, 180, 179, - 178, 177, 174, 173, 172, 161, 160, 159, 158, 171, - 170, 169, 168, 167, 166, 165, 164, 163, 147, 145, - - 144, 143, 161, 160, 140, 139, 138, 159, 158, 135, - 134, 157, 156, 155, 154, 153, 152, 149, 148, 120, - 145, 144, 117, 116, 115, 113, 140, 139, 110, 108, - 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, - 125, 124, 123, 122, 121, 91, 89, 117, 116, 86, - 86, 115, 81, 81, 110, 105, 104, 103, 102, 101, - 100, 99, 98, 97, 96, 95, 94, 93, 92, 62, - 62, 91, 83, 78, 76, 75, 74, 73, 72, 71, - 70, 69, 66, 65, 64, 63, 59, 55, 52, 51, - 50, 49, 48, 47, 44, 43, 42, 41, 40, 39, - - 35, 238, 3, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238 -}; - -static yyconst flex_int16_t yy_chk[344] = { 0, - 239, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 8, 8, 12, 12, 235, 10, 12, 1, 1, 10, - 10, 31, 31, 233, 232, 31, 32, 38, 12, 38, - 24, 38, 24, 43, 43, 166, 166, 31, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 147, - 32, 34, 34, 230, 147, 34, 2, 2, 35, 37, - 37, 35, 54, 37, 54, 229, 54, 34, 121, 52, - 121, 55, 52, 35, 55, 37, 228, 2, 2, 7, - 7, 7, 7, 7, 52, 124, 55, 124, 7, 7, - 57, 227, 57, 7, 57, 226, 58, 7, 58, 7, - - 58, 59, 7, 7, 59, 77, 224, 77, 78, 77, - 82, 78, 82, 223, 82, 83, 59, 90, 83, 90, - 109, 90, 109, 78, 109, 114, 234, 114, 234, 114, - 83, 236, 222, 221, 220, 219, 236, 218, 217, 215, - 214, 213, 211, 210, 209, 208, 205, 204, 202, 200, - 199, 198, 197, 196, 195, 194, 193, 192, 191, 190, - 189, 188, 187, 186, 185, 184, 183, 182, 181, 180, - 179, 178, 176, 175, 174, 173, 172, 171, 170, 169, - 168, 167, 165, 164, 163, 161, 160, 159, 158, 157, - 156, 155, 154, 153, 151, 150, 149, 148, 146, 145, - - 144, 143, 142, 141, 140, 139, 138, 137, 136, 135, - 134, 133, 131, 129, 128, 126, 125, 123, 122, 120, - 119, 118, 117, 116, 115, 113, 112, 111, 110, 108, - 107, 106, 105, 104, 103, 102, 101, 99, 98, 97, - 96, 95, 94, 93, 92, 91, 89, 88, 87, 86, - 85, 84, 81, 80, 79, 76, 75, 74, 73, 72, - 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, - 61, 60, 56, 53, 51, 50, 49, 48, 47, 46, - 45, 44, 42, 41, 40, 39, 36, 33, 30, 29, - 28, 27, 26, 25, 23, 22, 21, 20, 19, 18, - - 11, 3, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238, 238, 238, 238, 238, 238, 238, 238, - 238, 238, 238 +static yyconst flex_int16_t yy_chk[245] = { 0, + 182, 1, 1, 1, 1, 1, 1, 10, 1, 1, + 11, 11, 10, 29, 29, 31, 31, 1, 1, 33, + 33, 80, 30, 80, 178, 176, 38, 38, 94, 83, + 23, 83, 23, 94, 109, 109, 175, 173, 1, 1, + 2, 2, 2, 2, 2, 2, 30, 2, 2, 177, + 179, 177, 172, 171, 170, 179, 2, 2, 169, 167, + 166, 165, 164, 163, 162, 161, 160, 158, 157, 156, + 154, 153, 152, 151, 148, 147, 145, 2, 2, 7, + 7, 7, 7, 7, 143, 142, 141, 140, 7, 7, + 139, 138, 137, 7, 136, 135, 134, 7, 133, 7, + + 132, 131, 7, 7, 130, 129, 128, 127, 126, 125, + 124, 123, 122, 121, 119, 118, 117, 116, 115, 114, + 113, 112, 111, 110, 108, 107, 106, 104, 103, 102, + 101, 100, 98, 97, 96, 95, 93, 92, 90, 88, + 87, 85, 84, 82, 81, 79, 78, 77, 76, 75, + 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, + 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, + 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, + 43, 42, 41, 40, 39, 37, 36, 35, 34, 32, + 28, 27, 26, 25, 24, 22, 21, 20, 19, 18, + + 17, 8, 3, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181, 181, 181, 181, 181, 181, 181, + 181, 181, 181, 181 }; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -#line 1 "geoJsonLexer.l" /* geoJsonLexer.l -- GeoJSON parser - FLEX config version 2.4, 2011 May 16 @@ -626,11 +583,10 @@ * will try to match with any of the defined tokens from below. Flex will * then match the string of longest length. Suppose the string is: POINTM, * Flex would match both POINT and POINTM, but since POINTM is the longer * of the two tokens, FLEX will match POINTM. */ -#line 634 "lex.GeoJson.c" #define INITIAL 0 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way @@ -653,12 +609,12 @@ FILE *yyin_r, *yyout_r; size_t yy_buffer_stack_top; /**< index of top of stack. */ size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE *yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; int yy_did_buffer_switch_on_eof; int yy_start_stack_ptr; @@ -701,11 +657,11 @@ FILE *GeoJsonget_out (yyscan_t yyscanner); void GeoJsonset_out (FILE * out_str, yyscan_t yyscanner); -yy_size_t GeoJsonget_leng (yyscan_t yyscanner); +int GeoJsonget_leng (yyscan_t yyscanner); char *GeoJsonget_text (yyscan_t yyscanner); int GeoJsonget_lineno (yyscan_t yyscanner); @@ -764,11 +720,11 @@ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + unsigned n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ @@ -874,392 +830,351 @@ } GeoJson_load_buffer_state (yyscanner); } - { -#line 59 "geoJsonLexer.l" - -#line 884 "lex.GeoJson.c" - - while (1) /* loops until end-of-file is reached */ - { - yy_cp = yyg->yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yyg->yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yyg->yy_start; - yy_match: - do + while (1) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yyg->yy_start; + yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; + if (yy_accept[yy_current_state]) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while (yy_chk[yy_base[yy_current_state] + yy_c] != + yy_current_state) + { + yy_current_state = (int) yy_def[yy_current_state]; + if (yy_current_state >= 182) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = + yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while (yy_base[yy_current_state] != 204); + + yy_find_action: + yy_act = yy_accept[yy_current_state]; + if (yy_act == 0) + { /* have to back up */ + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + + do_action: /* This label is used only to access EOF actions. */ + + switch (yy_act) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = yyg->yy_hold_char; + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + + case 1: + YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->geoJson_col += + (int) strlen (yytext); + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = + atof (yytext); + return GEOJSON_NUM; + } + YY_BREAK case 2:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->geoJson_col += + (int) strlen (yytext); + GeoJsonget_extra (yyscanner)->GeoJsonLval.ival = + atoi (yytext + 6); + return GEOJSON_SHORT_SRID; + } + YY_BREAK case 3:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->geoJson_col += + (int) strlen (yytext); + GeoJsonget_extra (yyscanner)->GeoJsonLval.ival = + atoi (yytext + 22); + return GEOJSON_LONG_SRID; + } + YY_BREAK case 4:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_COMMA; + } + YY_BREAK case 5:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_COLON; + } + YY_BREAK case 6:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_OPEN_BRACE; + } + YY_BREAK case 7:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_CLOSE_BRACE; + } + YY_BREAK case 8:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_OPEN_BRACKET; + } + YY_BREAK case 9:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_CLOSE_BRACKET; + } + YY_BREAK case 10:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_TYPE; + } + YY_BREAK case 11:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_COORDS; + } + YY_BREAK case 12:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_GEOMS; + } + YY_BREAK case 13:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_BBOX; + } + YY_BREAK case 14:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_NAME; + } + YY_BREAK case 15:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_PROPS; + } + YY_BREAK case 16:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_CRS; + } + YY_BREAK case 17:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_POINT; + } + YY_BREAK case 18:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_LINESTRING; + } + YY_BREAK case 19:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_POLYGON; + } + YY_BREAK case 20:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_MULTIPOINT; + } + YY_BREAK case 21:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_MULTILINESTRING; + } + YY_BREAK case 22:YY_RULE_SETUP { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; - if (yy_accept[yy_current_state]) - { - yyg->yy_last_accepting_state = yy_current_state; - yyg->yy_last_accepting_cpos = yy_cp; - } - while (yy_chk[yy_base[yy_current_state] + yy_c] != - yy_current_state) - { - yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 239) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = - yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_MULTIPOLYGON; } - while (yy_base[yy_current_state] != 303); - - yy_find_action: - yy_act = yy_accept[yy_current_state]; - if (yy_act == 0) - { /* have to back up */ - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - yy_act = yy_accept[yy_current_state]; + YY_BREAK case 23:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; + return GEOJSON_GEOMETRYCOLLECTION; } - - YY_DO_BEFORE_ACTION; - - do_action: /* This label is used only to access EOF actions. */ - - switch (yy_act) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yyg->yy_hold_char; - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - goto yy_find_action; - - case 1: - YY_RULE_SETUP -#line 60 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->geoJson_col += - (int) strlen (yytext); - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = - atof (yytext); - return GEOJSON_NUM; - } - YY_BREAK case 2:YY_RULE_SETUP -#line 61 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->geoJson_col += - (int) strlen (yytext); - GeoJsonget_extra (yyscanner)->GeoJsonLval.ival = - atoi (yytext + 6); - return GEOJSON_SHORT_SRID; - } - YY_BREAK case 3:YY_RULE_SETUP -#line 62 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->geoJson_col += - (int) strlen (yytext); - GeoJsonget_extra (yyscanner)->GeoJsonLval.ival = - atoi (yytext + 22); - return GEOJSON_LONG_SRID; - } - YY_BREAK case 4:YY_RULE_SETUP -#line 63 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_COMMA; - } - YY_BREAK case 5:YY_RULE_SETUP -#line 64 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_COLON; - } - YY_BREAK case 6:YY_RULE_SETUP -#line 65 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_OPEN_BRACE; - } - YY_BREAK case 7:YY_RULE_SETUP -#line 66 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_CLOSE_BRACE; - } - YY_BREAK case 8:YY_RULE_SETUP -#line 67 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_OPEN_BRACKET; - } - YY_BREAK case 9:YY_RULE_SETUP -#line 68 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_CLOSE_BRACKET; - } - YY_BREAK case 10:YY_RULE_SETUP -#line 69 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_TYPE; - } - YY_BREAK case 11:YY_RULE_SETUP -#line 70 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_COORDS; - } - YY_BREAK case 12:YY_RULE_SETUP -#line 71 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_GEOMS; - } - YY_BREAK case 13:YY_RULE_SETUP -#line 72 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_BBOX; - } - YY_BREAK case 14:YY_RULE_SETUP -#line 73 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_NAME; - } - YY_BREAK case 15:YY_RULE_SETUP -#line 74 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_PROPS; - } - YY_BREAK case 16:YY_RULE_SETUP -#line 75 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_CRS; - } - YY_BREAK case 17:YY_RULE_SETUP -#line 76 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_POINT; - } - YY_BREAK case 18:YY_RULE_SETUP -#line 77 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_LINESTRING; - } - YY_BREAK case 19:YY_RULE_SETUP -#line 78 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_POLYGON; - } - YY_BREAK case 20:YY_RULE_SETUP -#line 79 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_MULTIPOINT; - } - YY_BREAK case 21:YY_RULE_SETUP -#line 80 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_MULTILINESTRING; - } - YY_BREAK case 22:YY_RULE_SETUP -#line 81 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_MULTIPOLYGON; - } - YY_BREAK case 23:YY_RULE_SETUP -#line 82 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->GeoJsonLval.dval = 0; - return GEOJSON_GEOMETRYCOLLECTION; - } - YY_BREAK case 24:YY_RULE_SETUP -#line 84 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->geoJson_col += - (int) strlen (yytext); - } /* ignore but count white space */ - YY_BREAK case 25: + YY_BREAK case 24:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->geoJson_col += + (int) strlen (yytext); + } /* ignore but count white space */ + YY_BREAK case 25: /* rule 25 can match eol */ - YY_RULE_SETUP -#line 86 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->geoJson_col = 0; - GeoJsonget_extra (yyscanner)->geoJson_line++; - } - YY_BREAK case 26:YY_RULE_SETUP -#line 88 "geoJsonLexer.l" - { - GeoJsonget_extra (yyscanner)->geoJson_col += - (int) strlen (yytext); - return -1; - } - YY_BREAK case 27:YY_RULE_SETUP -#line 89 "geoJsonLexer.l" - ECHO; - YY_BREAK -#line 1077 "lex.GeoJson.c" - case YY_STATE_EOF (INITIAL): - yyterminate (); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = - (int) (yy_cp - yyg->yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yyg->yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == - YY_BUFFER_NEW) + YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->geoJson_col = 0; + GeoJsonget_extra (yyscanner)->geoJson_line++; + } + YY_BREAK case 26:YY_RULE_SETUP + { + GeoJsonget_extra (yyscanner)->geoJson_col += + (int) strlen (yytext); + return -1; + } + YY_BREAK case 27:YY_RULE_SETUP ECHO; + YY_BREAK case YY_STATE_EOF (INITIAL):yyterminate (); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = + (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == + YY_BUFFER_NEW) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * GeoJsonlex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = + YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if (yyg->yy_c_buf_p <= + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state (yyscanner); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = + yy_try_NUL_trans (yy_current_state, yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if (yy_next_state) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_c_buf_p; + goto yy_find_action; + } + } + + else + switch (yy_get_next_buffer (yyscanner)) { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * GeoJsonlex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yyg->yy_n_chars = - YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if (yyg->yy_c_buf_p <= - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if (GeoJsonwrap (yyscanner)) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = + yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF (YY_START); + goto do_action; + } + + else + { + if (!yyg->yy_did_buffer_switch_on_eof) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state (yyscanner); - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; - yy_next_state = - yy_try_NUL_trans (yy_current_state, - yyscanner); + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg-> + yy_n_chars]; + yy_current_state = + yy_get_previous_state (yyscanner); + + yy_cp = yyg->yy_c_buf_p; yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - - if (yy_next_state) - { - /* Consume the NUL. */ - yy_cp = ++yyg->yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yyg->yy_c_buf_p; - goto yy_find_action; - } + goto yy_find_action; } - - else - switch (yy_get_next_buffer (yyscanner)) - { - case EOB_ACT_END_OF_FILE: - { - yyg->yy_did_buffer_switch_on_eof = 0; - - if (GeoJsonwrap (yyscanner)) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yyg->yy_c_buf_p = - yyg->yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF (YY_START); - goto do_action; - } - - else - { - if (!yyg->yy_did_buffer_switch_on_eof) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yyg->yy_c_buf_p = - yyg->yytext_ptr + - yy_amount_of_matched_text; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yyg->yy_c_buf_p = - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR - ("fatal flex scanner internal error--no action found"); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of user's declarations */ + break; + } + + default: + YY_FATAL_ERROR + ("fatal flex scanner internal error--no action found"); + } /* end of action switch */ + } /* end of scanning one token */ } /* end of GeoJsonlex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: @@ -1314,24 +1229,24 @@ */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) (yyg->yy_c_buf_p - b->yy_ch_buf); if (b->yy_is_our_buffer) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if (new_size <= 0) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; @@ -1359,11 +1274,11 @@ if (num_to_read > YY_READ_BUF_SIZE) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT ((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - yyg->yy_n_chars, num_to_read); + yyg->yy_n_chars, (size_t) num_to_read); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; } if (yyg->yy_n_chars == 0) @@ -1431,11 +1346,11 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 239) + if (yy_current_state >= 182) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } @@ -1462,17 +1377,16 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 239) + if (yy_current_state >= 182) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 238); + yy_is_jam = (yy_current_state == 181); - (void) yyg; return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_INPUT #ifdef __cplusplus @@ -1499,11 +1413,11 @@ /* This was really a NUL. */ *yyg->yy_c_buf_p = '\0'; else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch (yy_get_next_buffer (yyscanner)) { case EOB_ACT_LAST_MATCH: @@ -1668,10 +1582,14 @@ GeoJsonfree ((void *) b->yy_ch_buf, yyscanner); GeoJsonfree ((void *) b, yyscanner); } +#ifndef __cplusplus +extern int isatty (int); +#endif /* __cplusplus */ + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a GeoJsonrestart() or at EOF. */ static void @@ -1790,11 +1708,11 @@ * Guarantees space for at least one push. */ static void GeoJsonensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; if (!yyg->yy_buffer_stack) { @@ -1890,23 +1808,22 @@ return GeoJson_scan_bytes (yystr, strlen (yystr), yyscanner); } /** Setup the input buffer state to scan the given bytes. The next call to GeoJsonlex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ YY_BUFFER_STATE -GeoJson_scan_bytes (yyconst char *yybytes, yy_size_t _yybytes_len, - yyscan_t yyscanner) +GeoJson_scan_bytes (yyconst char *yybytes, int _yybytes_len, yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) GeoJsonalloc (n, yyscanner); if (!buf) @@ -1934,11 +1851,11 @@ #endif static void yy_fatal_error (yyconst char *msg, yyscan_t yyscanner) { - (void) spatialite_e ("%s\n", msg); + (void) fprintf (stderr, "%s\n", msg); exit (YY_EXIT_FAILURE); } /* Redefine yyless() so it works in section 3 code. */ @@ -2018,11 +1935,11 @@ } /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t +int GeoJsonget_leng (yyscan_t yyscanner) { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; return yyleng; } @@ -2058,11 +1975,11 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* lineno is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("GeoJsonset_lineno called with no buffer"); + yy_fatal_error ("GeoJsonset_lineno called with no buffer", yyscanner); yylineno = line_number; } /** Set the current column. @@ -2074,11 +1991,11 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* column is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("GeoJsonset_column called with no buffer"); + yy_fatal_error ("GeoJsonset_column called with no buffer", yyscanner); yycolumn = column_no; } /** Set the input stream. This does not discard the current @@ -2302,15 +2219,11 @@ { free ((char *) ptr); /* see GeoJsonrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" - -#line 89 "geoJsonLexer.l" - - int GeoJsonwrap (yyscan_t yyscanner) { return 1; } Index: src/gaiageo/lex.Gml.c ================================================================== --- src/gaiageo/lex.Gml.c +++ src/gaiageo/lex.Gml.c @@ -6,11 +6,11 @@ /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ @@ -51,10 +51,11 @@ typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif @@ -81,12 +82,10 @@ #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ @@ -168,21 +167,15 @@ #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) -#define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ @@ -195,10 +188,15 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { @@ -213,11 +211,11 @@ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ @@ -294,11 +292,11 @@ #define YY_FLUSH_BUFFER Gml_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) YY_BUFFER_STATE Gml_scan_buffer (char *base, yy_size_t size, yyscan_t yyscanner); YY_BUFFER_STATE Gml_scan_string (yyconst char *yy_str, yyscan_t yyscanner); -YY_BUFFER_STATE Gml_scan_bytes (yyconst char *bytes, yy_size_t len, +YY_BUFFER_STATE Gml_scan_bytes (yyconst char *bytes, int len, yyscan_t yyscanner); void *Gmlalloc (yy_size_t, yyscan_t yyscanner); void *Gmlrealloc (void *, yy_size_t, yyscan_t yyscanner); void Gmlfree (void *, yyscan_t yyscanner); @@ -358,28 +356,28 @@ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[21] = { 0, +static yyconst flex_int16_t yy_accept[19] = { 0, 5, 5, 12, 10, 8, 9, 10, 5, 1, 3, - 2, 4, 7, 5, 0, 6, 5, 7, 5, 0 + 2, 4, 7, 0, 6, 5, 7, 0 }; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 1, 9, - 10, 11, 1, 1, 12, 12, 12, 12, 13, 12, + 10, 11, 1, 1, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 1, 1, 1, 1, 12, 1, 12, 12, 12, 12, - 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -394,51 +392,48 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; -static yyconst flex_int32_t yy_meta[14] = { 0, +static yyconst flex_int32_t yy_meta[13] = { 0, 1, 1, 1, 1, 2, 1, 3, 4, 5, 1, - 5, 4, 3 + 5, 4 +}; + +static yyconst flex_int16_t yy_base[22] = { 0, + 0, 0, 23, 24, 24, 24, 18, 0, 24, 24, + 24, 24, 0, 17, 24, 0, 0, 24, 12, 15, + 16 }; -static yyconst flex_int16_t yy_base[24] = { 0, - 0, 0, 19, 31, 31, 31, 14, 0, 31, 31, - 31, 31, 0, 9, 11, 31, 0, 0, 0, 31, - 22, 25, 26 +static yyconst flex_int16_t yy_def[22] = { 0, + 18, 1, 18, 18, 18, 18, 19, 20, 18, 18, + 18, 18, 21, 19, 18, 20, 21, 0, 18, 18, + 18 }; -static yyconst flex_int16_t yy_def[24] = { 0, - 20, 1, 20, 20, 20, 20, 21, 22, 20, 20, - 20, 20, 23, 20, 21, 20, 22, 23, 14, 0, - 20, 20, 20 +static yyconst flex_int16_t yy_nxt[37] = { 0, + 4, 5, 6, 7, 8, 9, 8, 4, 10, 11, + 12, 13, 14, 14, 14, 14, 16, 16, 17, 17, + 15, 15, 18, 3, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18 }; -static yyconst flex_int16_t yy_nxt[45] = { 0, - 4, 5, 6, 7, 8, 9, 8, 4, 10, 11, - 12, 13, 14, 17, 16, 19, 18, 16, 20, 20, - 18, 19, 15, 15, 15, 15, 17, 17, 18, 18, - 3, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20 -}; - -static yyconst flex_int16_t yy_chk[45] = { 0, +static yyconst flex_int16_t yy_chk[37] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 14, 15, 14, 14, 7, 3, 0, - 14, 14, 21, 21, 21, 21, 22, 22, 23, 23, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20 + 1, 1, 19, 19, 19, 19, 20, 20, 21, 21, + 14, 7, 3, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18 }; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -#line 1 "gmlLexer.l" /* gmlLexer.l -- GML parser - FLEX config version 2.4, 2011 June 3 @@ -487,11 +482,10 @@ * will try to match with any of the defined tokens from below. Flex will * then match the string of longest length. Suppose the string is: POINTM, * Flex would match both POINT and POINTM, but since POINTM is the longer * of the two tokens, FLEX will match POINTM. */ -#line 496 "lex.Gml.c" #define INITIAL 0 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way @@ -514,12 +508,12 @@ FILE *yyin_r, *yyout_r; size_t yy_buffer_stack_top; /**< index of top of stack. */ size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE *yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; int yy_did_buffer_switch_on_eof; int yy_start_stack_ptr; @@ -562,11 +556,11 @@ FILE *Gmlget_out (yyscan_t yyscanner); void Gmlset_out (FILE * out_str, yyscan_t yyscanner); -yy_size_t Gmlget_leng (yyscan_t yyscanner); +int Gmlget_leng (yyscan_t yyscanner); char *Gmlget_text (yyscan_t yyscanner); int Gmlget_lineno (yyscan_t yyscanner); @@ -625,11 +619,11 @@ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + unsigned n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ @@ -735,312 +729,268 @@ } Gml_load_buffer_state (yyscanner); } - { -#line 59 "gmlLexer.l" - -#line 746 "lex.Gml.c" - - while (1) /* loops until end-of-file is reached */ - { - yy_cp = yyg->yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yyg->yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yyg->yy_start; - yy_match: - do + while (1) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yyg->yy_start; + yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; + if (yy_accept[yy_current_state]) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while (yy_chk[yy_base[yy_current_state] + yy_c] != + yy_current_state) + { + yy_current_state = (int) yy_def[yy_current_state]; + if (yy_current_state >= 19) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = + yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while (yy_base[yy_current_state] != 24); + + yy_find_action: + yy_act = yy_accept[yy_current_state]; + if (yy_act == 0) + { /* have to back up */ + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + + do_action: /* This label is used only to access EOF actions. */ + + switch (yy_act) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = yyg->yy_hold_char; + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + + case 1: + YY_RULE_SETUP + { + gml_freeString (&(Gmlget_extra (yyscanner)->GmlLval.pval)); + return GML_END; + } + YY_BREAK case 2:YY_RULE_SETUP + { + gml_freeString (&(Gmlget_extra (yyscanner)->GmlLval.pval)); + return GML_EQ; + } + YY_BREAK case 3:YY_RULE_SETUP + { + gml_freeString (&(Gmlget_extra (yyscanner)->GmlLval.pval)); + return GML_OPEN; + } + YY_BREAK case 4:YY_RULE_SETUP { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; - if (yy_accept[yy_current_state]) - { - yyg->yy_last_accepting_state = yy_current_state; - yyg->yy_last_accepting_cpos = yy_cp; - } - while (yy_chk[yy_base[yy_current_state] + yy_c] != - yy_current_state) - { - yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 21) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = - yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; + gml_freeString (&(Gmlget_extra (yyscanner)->GmlLval.pval)); + return GML_CLOSE; } - while (yy_base[yy_current_state] != 31); - - yy_find_action: - yy_act = yy_accept[yy_current_state]; - if (yy_act == 0) - { /* have to back up */ - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - yy_act = yy_accept[yy_current_state]; + YY_BREAK case 5:YY_RULE_SETUP + { + gml_saveString (&(Gmlget_extra (yyscanner)->GmlLval.pval), + yytext); + return GML_COORD; } - - YY_DO_BEFORE_ACTION; - - do_action: /* This label is used only to access EOF actions. */ - - switch (yy_act) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yyg->yy_hold_char; - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - goto yy_find_action; - - case 1: - YY_RULE_SETUP -#line 60 "gmlLexer.l" - { - gml_freeString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval)); - return GML_END; - } - YY_BREAK case 2:YY_RULE_SETUP -#line 61 "gmlLexer.l" - { - gml_freeString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval)); - return GML_EQ; - } - YY_BREAK case 3:YY_RULE_SETUP -#line 62 "gmlLexer.l" - { - gml_freeString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval)); - return GML_OPEN; - } - YY_BREAK case 4:YY_RULE_SETUP -#line 63 "gmlLexer.l" - { - gml_freeString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval)); - return GML_CLOSE; - } - YY_BREAK case 5:YY_RULE_SETUP -#line 64 "gmlLexer.l" - { - gml_saveString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval), yytext); - return GML_COORD; - } - YY_BREAK case 6: + YY_BREAK case 6: /* rule 6 can match eol */ - YY_RULE_SETUP -#line 65 "gmlLexer.l" - { - gml_saveString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval), yytext); - return GML_VALUE; - } - YY_BREAK case 7:YY_RULE_SETUP -#line 66 "gmlLexer.l" - { - gml_saveString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval), yytext); - return GML_KEYWORD; - } - YY_BREAK case 8:YY_RULE_SETUP -#line 68 "gmlLexer.l" - { - gml_freeString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval)); - Gmlget_extra (yyscanner)->gml_col += - (int) strlen (yytext); - } /* ignore but count white space */ - YY_BREAK case 9: + YY_RULE_SETUP + { + gml_saveString (&(Gmlget_extra (yyscanner)->GmlLval.pval), + yytext); + return GML_VALUE; + } + YY_BREAK case 7:YY_RULE_SETUP + { + gml_saveString (&(Gmlget_extra (yyscanner)->GmlLval.pval), + yytext); + return GML_KEYWORD; + } + YY_BREAK case 8:YY_RULE_SETUP + { + gml_freeString (&(Gmlget_extra (yyscanner)->GmlLval.pval)); + Gmlget_extra (yyscanner)->gml_col += (int) strlen (yytext); + } /* ignore but count white space */ + YY_BREAK case 9: /* rule 9 can match eol */ - YY_RULE_SETUP -#line 70 "gmlLexer.l" - { - gml_freeString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval)); - Gmlget_extra (yyscanner)->gml_col = 0; - Gmlget_extra (yyscanner)->gml_line++; - } - YY_BREAK case 10:YY_RULE_SETUP -#line 72 "gmlLexer.l" - { - gml_freeString (& - (Gmlget_extra (yyscanner)-> - GmlLval.pval)); - Gmlget_extra (yyscanner)->gml_col += - (int) strlen (yytext); - return -1; - } - YY_BREAK case 11:YY_RULE_SETUP -#line 73 "gmlLexer.l" - ECHO; - YY_BREAK -#line 860 "lex.Gml.c" - case YY_STATE_EOF (INITIAL): - yyterminate (); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = - (int) (yy_cp - yyg->yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yyg->yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == - YY_BUFFER_NEW) + YY_RULE_SETUP + { + gml_freeString (&(Gmlget_extra (yyscanner)->GmlLval.pval)); + Gmlget_extra (yyscanner)->gml_col = 0; + Gmlget_extra (yyscanner)->gml_line++; + } + YY_BREAK case 10:YY_RULE_SETUP + { + gml_freeString (&(Gmlget_extra (yyscanner)->GmlLval.pval)); + Gmlget_extra (yyscanner)->gml_col += (int) strlen (yytext); + return -1; + } + YY_BREAK case 11:YY_RULE_SETUP ECHO; + YY_BREAK case YY_STATE_EOF (INITIAL):yyterminate (); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = + (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == + YY_BUFFER_NEW) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * Gmllex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = + YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if (yyg->yy_c_buf_p <= + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state (yyscanner); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = + yy_try_NUL_trans (yy_current_state, yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if (yy_next_state) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_c_buf_p; + goto yy_find_action; + } + } + + else + switch (yy_get_next_buffer (yyscanner)) { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * Gmllex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yyg->yy_n_chars = - YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if (yyg->yy_c_buf_p <= - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if (Gmlwrap (yyscanner)) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = + yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF (YY_START); + goto do_action; + } + + else + { + if (!yyg->yy_did_buffer_switch_on_eof) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state (yyscanner); - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; - yy_next_state = - yy_try_NUL_trans (yy_current_state, - yyscanner); + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg-> + yy_n_chars]; + yy_current_state = + yy_get_previous_state (yyscanner); + + yy_cp = yyg->yy_c_buf_p; yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - - if (yy_next_state) - { - /* Consume the NUL. */ - yy_cp = ++yyg->yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yyg->yy_c_buf_p; - goto yy_find_action; - } + goto yy_find_action; } - - else - switch (yy_get_next_buffer (yyscanner)) - { - case EOB_ACT_END_OF_FILE: - { - yyg->yy_did_buffer_switch_on_eof = 0; - - if (Gmlwrap (yyscanner)) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yyg->yy_c_buf_p = - yyg->yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF (YY_START); - goto do_action; - } - - else - { - if (!yyg->yy_did_buffer_switch_on_eof) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yyg->yy_c_buf_p = - yyg->yytext_ptr + - yy_amount_of_matched_text; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yyg->yy_c_buf_p = - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR - ("fatal flex scanner internal error--no action found"); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of user's declarations */ + break; + } + + default: + YY_FATAL_ERROR + ("fatal flex scanner internal error--no action found"); + } /* end of action switch */ + } /* end of scanning one token */ } /* end of Gmllex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: @@ -1095,24 +1045,24 @@ */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) (yyg->yy_c_buf_p - b->yy_ch_buf); if (b->yy_is_our_buffer) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if (new_size <= 0) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; @@ -1140,11 +1090,11 @@ if (num_to_read > YY_READ_BUF_SIZE) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT ((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - yyg->yy_n_chars, num_to_read); + yyg->yy_n_chars, (size_t) num_to_read); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; } if (yyg->yy_n_chars == 0) @@ -1211,11 +1161,11 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 21) + if (yy_current_state >= 19) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } @@ -1242,17 +1192,16 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 21) + if (yy_current_state >= 19) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 20); + yy_is_jam = (yy_current_state == 18); - (void) yyg; return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_INPUT #ifdef __cplusplus @@ -1279,11 +1228,11 @@ /* This was really a NUL. */ *yyg->yy_c_buf_p = '\0'; else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch (yy_get_next_buffer (yyscanner)) { case EOB_ACT_LAST_MATCH: @@ -1447,10 +1396,14 @@ Gmlfree ((void *) b->yy_ch_buf, yyscanner); Gmlfree ((void *) b, yyscanner); } +#ifndef __cplusplus +extern int isatty (int); +#endif /* __cplusplus */ + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a Gmlrestart() or at EOF. */ static void @@ -1569,11 +1522,11 @@ * Guarantees space for at least one push. */ static void Gmlensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; if (!yyg->yy_buffer_stack) { @@ -1668,23 +1621,22 @@ return Gml_scan_bytes (yystr, strlen (yystr), yyscanner); } /** Setup the input buffer state to scan the given bytes. The next call to Gmllex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ YY_BUFFER_STATE -Gml_scan_bytes (yyconst char *yybytes, yy_size_t _yybytes_len, - yyscan_t yyscanner) +Gml_scan_bytes (yyconst char *yybytes, int _yybytes_len, yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) Gmlalloc (n, yyscanner); if (!buf) @@ -1712,11 +1664,11 @@ #endif static void yy_fatal_error (yyconst char *msg, yyscan_t yyscanner) { - (void) spatialite_e ("%s\n", msg); + (void) fprintf (stderr, "%s\n", msg); exit (YY_EXIT_FAILURE); } /* Redefine yyless() so it works in section 3 code. */ @@ -1796,11 +1748,11 @@ } /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t +int Gmlget_leng (yyscan_t yyscanner) { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; return yyleng; } @@ -1836,11 +1788,11 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* lineno is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("Gmlset_lineno called with no buffer"); + yy_fatal_error ("Gmlset_lineno called with no buffer", yyscanner); yylineno = line_number; } /** Set the current column. @@ -1852,11 +1804,11 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* column is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("Gmlset_column called with no buffer"); + yy_fatal_error ("Gmlset_column called with no buffer", yyscanner); yycolumn = column_no; } /** Set the input stream. This does not discard the current @@ -2080,15 +2032,11 @@ { free ((char *) ptr); /* see Gmlrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" - -#line 73 "gmlLexer.l" - - int Gmlwrap (yyscan_t yyscanner) { return 1; } Index: src/gaiageo/lex.Kml.c ================================================================== --- src/gaiageo/lex.Kml.c +++ src/gaiageo/lex.Kml.c @@ -6,11 +6,11 @@ /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ @@ -51,10 +51,11 @@ typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif @@ -81,12 +82,10 @@ #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ @@ -168,21 +167,15 @@ #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) -#define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ @@ -195,10 +188,15 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { @@ -213,11 +211,11 @@ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ @@ -294,11 +292,11 @@ #define YY_FLUSH_BUFFER Kml_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) YY_BUFFER_STATE Kml_scan_buffer (char *base, yy_size_t size, yyscan_t yyscanner); YY_BUFFER_STATE Kml_scan_string (yyconst char *yy_str, yyscan_t yyscanner); -YY_BUFFER_STATE Kml_scan_bytes (yyconst char *bytes, yy_size_t len, +YY_BUFFER_STATE Kml_scan_bytes (yyconst char *bytes, int len, yyscan_t yyscanner); void *Kmlalloc (yy_size_t, yyscan_t yyscanner); void *Kmlrealloc (void *, yy_size_t, yyscan_t yyscanner); void Kmlfree (void *, yyscan_t yyscanner); @@ -358,28 +356,28 @@ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[21] = { 0, +static yyconst flex_int16_t yy_accept[19] = { 0, 5, 5, 12, 10, 8, 9, 10, 5, 1, 3, - 2, 4, 7, 5, 0, 6, 5, 7, 5, 0 + 2, 4, 7, 0, 6, 5, 7, 0 }; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 5, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 1, 9, - 10, 11, 1, 1, 12, 12, 12, 12, 13, 12, + 10, 11, 1, 1, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 1, 1, 1, 1, 12, 1, 12, 12, 12, 12, - 13, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -394,51 +392,48 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; -static yyconst flex_int32_t yy_meta[14] = { 0, +static yyconst flex_int32_t yy_meta[13] = { 0, 1, 1, 1, 1, 2, 1, 3, 4, 5, 1, - 5, 4, 3 + 5, 4 +}; + +static yyconst flex_int16_t yy_base[22] = { 0, + 0, 0, 23, 24, 24, 24, 18, 0, 24, 24, + 24, 24, 0, 17, 24, 0, 0, 24, 12, 15, + 16 }; -static yyconst flex_int16_t yy_base[24] = { 0, - 0, 0, 19, 31, 31, 31, 14, 0, 31, 31, - 31, 31, 0, 9, 11, 31, 0, 0, 0, 31, - 22, 25, 26 +static yyconst flex_int16_t yy_def[22] = { 0, + 18, 1, 18, 18, 18, 18, 19, 20, 18, 18, + 18, 18, 21, 19, 18, 20, 21, 0, 18, 18, + 18 }; -static yyconst flex_int16_t yy_def[24] = { 0, - 20, 1, 20, 20, 20, 20, 21, 22, 20, 20, - 20, 20, 23, 20, 21, 20, 22, 23, 14, 0, - 20, 20, 20 +static yyconst flex_int16_t yy_nxt[37] = { 0, + 4, 5, 6, 7, 8, 9, 8, 4, 10, 11, + 12, 13, 14, 14, 14, 14, 16, 16, 17, 17, + 15, 15, 18, 3, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18 }; -static yyconst flex_int16_t yy_nxt[45] = { 0, - 4, 5, 6, 7, 8, 9, 8, 4, 10, 11, - 12, 13, 14, 17, 16, 19, 18, 16, 20, 20, - 18, 19, 15, 15, 15, 15, 17, 17, 18, 18, - 3, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20 -}; - -static yyconst flex_int16_t yy_chk[45] = { 0, +static yyconst flex_int16_t yy_chk[37] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 14, 15, 14, 14, 7, 3, 0, - 14, 14, 21, 21, 21, 21, 22, 22, 23, 23, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20 + 1, 1, 19, 19, 19, 19, 20, 20, 21, 21, + 14, 7, 3, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18 }; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -#line 1 "kmlLexer.l" /* kmlLexer.l -- KML parser - FLEX config version 2.4, 2011 June 14 @@ -487,11 +482,10 @@ * will try to match with any of the defined tokens from below. Flex will * then match the string of longest length. Suppose the string is: POINTM, * Flex would match both POINT and POINTM, but since POINTM is the longer * of the two tokens, FLEX will match POINTM. */ -#line 496 "lex.Kml.c" #define INITIAL 0 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way @@ -514,12 +508,12 @@ FILE *yyin_r, *yyout_r; size_t yy_buffer_stack_top; /**< index of top of stack. */ size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE *yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; int yy_did_buffer_switch_on_eof; int yy_start_stack_ptr; @@ -562,11 +556,11 @@ FILE *Kmlget_out (yyscan_t yyscanner); void Kmlset_out (FILE * out_str, yyscan_t yyscanner); -yy_size_t Kmlget_leng (yyscan_t yyscanner); +int Kmlget_leng (yyscan_t yyscanner); char *Kmlget_text (yyscan_t yyscanner); int Kmlget_lineno (yyscan_t yyscanner); @@ -625,11 +619,11 @@ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + unsigned n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ @@ -735,312 +729,268 @@ } Kml_load_buffer_state (yyscanner); } - { -#line 59 "kmlLexer.l" - -#line 746 "lex.Kml.c" - - while (1) /* loops until end-of-file is reached */ - { - yy_cp = yyg->yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yyg->yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yyg->yy_start; - yy_match: - do + while (1) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yyg->yy_start; + yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; + if (yy_accept[yy_current_state]) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while (yy_chk[yy_base[yy_current_state] + yy_c] != + yy_current_state) + { + yy_current_state = (int) yy_def[yy_current_state]; + if (yy_current_state >= 19) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = + yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while (yy_base[yy_current_state] != 24); + + yy_find_action: + yy_act = yy_accept[yy_current_state]; + if (yy_act == 0) + { /* have to back up */ + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + + do_action: /* This label is used only to access EOF actions. */ + + switch (yy_act) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = yyg->yy_hold_char; + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + + case 1: + YY_RULE_SETUP + { + kml_freeString (&(Kmlget_extra (yyscanner)->KmlLval.pval)); + return KML_END; + } + YY_BREAK case 2:YY_RULE_SETUP + { + kml_freeString (&(Kmlget_extra (yyscanner)->KmlLval.pval)); + return KML_EQ; + } + YY_BREAK case 3:YY_RULE_SETUP + { + kml_freeString (&(Kmlget_extra (yyscanner)->KmlLval.pval)); + return KML_OPEN; + } + YY_BREAK case 4:YY_RULE_SETUP { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; - if (yy_accept[yy_current_state]) - { - yyg->yy_last_accepting_state = yy_current_state; - yyg->yy_last_accepting_cpos = yy_cp; - } - while (yy_chk[yy_base[yy_current_state] + yy_c] != - yy_current_state) - { - yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 21) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = - yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; + kml_freeString (&(Kmlget_extra (yyscanner)->KmlLval.pval)); + return KML_CLOSE; } - while (yy_base[yy_current_state] != 31); - - yy_find_action: - yy_act = yy_accept[yy_current_state]; - if (yy_act == 0) - { /* have to back up */ - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - yy_act = yy_accept[yy_current_state]; + YY_BREAK case 5:YY_RULE_SETUP + { + kml_saveString (&(Kmlget_extra (yyscanner)->KmlLval.pval), + yytext); + return KML_COORD; } - - YY_DO_BEFORE_ACTION; - - do_action: /* This label is used only to access EOF actions. */ - - switch (yy_act) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yyg->yy_hold_char; - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - goto yy_find_action; - - case 1: - YY_RULE_SETUP -#line 60 "kmlLexer.l" - { - kml_freeString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval)); - return KML_END; - } - YY_BREAK case 2:YY_RULE_SETUP -#line 61 "kmlLexer.l" - { - kml_freeString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval)); - return KML_EQ; - } - YY_BREAK case 3:YY_RULE_SETUP -#line 62 "kmlLexer.l" - { - kml_freeString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval)); - return KML_OPEN; - } - YY_BREAK case 4:YY_RULE_SETUP -#line 63 "kmlLexer.l" - { - kml_freeString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval)); - return KML_CLOSE; - } - YY_BREAK case 5:YY_RULE_SETUP -#line 64 "kmlLexer.l" - { - kml_saveString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval), yytext); - return KML_COORD; - } - YY_BREAK case 6: + YY_BREAK case 6: /* rule 6 can match eol */ - YY_RULE_SETUP -#line 65 "kmlLexer.l" - { - kml_saveString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval), yytext); - return KML_VALUE; - } - YY_BREAK case 7:YY_RULE_SETUP -#line 66 "kmlLexer.l" - { - kml_saveString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval), yytext); - return KML_KEYWORD; - } - YY_BREAK case 8:YY_RULE_SETUP -#line 68 "kmlLexer.l" - { - kml_freeString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval)); - Kmlget_extra (yyscanner)->kml_col += - (int) strlen (yytext); - } /* ignore but count white space */ - YY_BREAK case 9: + YY_RULE_SETUP + { + kml_saveString (&(Kmlget_extra (yyscanner)->KmlLval.pval), + yytext); + return KML_VALUE; + } + YY_BREAK case 7:YY_RULE_SETUP + { + kml_saveString (&(Kmlget_extra (yyscanner)->KmlLval.pval), + yytext); + return KML_KEYWORD; + } + YY_BREAK case 8:YY_RULE_SETUP + { + kml_freeString (&(Kmlget_extra (yyscanner)->KmlLval.pval)); + Kmlget_extra (yyscanner)->kml_col += (int) strlen (yytext); + } /* ignore but count white space */ + YY_BREAK case 9: /* rule 9 can match eol */ - YY_RULE_SETUP -#line 70 "kmlLexer.l" - { - kml_freeString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval)); - Kmlget_extra (yyscanner)->kml_col = 0; - Kmlget_extra (yyscanner)->kml_line++; - } - YY_BREAK case 10:YY_RULE_SETUP -#line 72 "kmlLexer.l" - { - kml_freeString (& - (Kmlget_extra (yyscanner)-> - KmlLval.pval)); - Kmlget_extra (yyscanner)->kml_col += - (int) strlen (yytext); - return -1; - } - YY_BREAK case 11:YY_RULE_SETUP -#line 73 "kmlLexer.l" - ECHO; - YY_BREAK -#line 860 "lex.Kml.c" - case YY_STATE_EOF (INITIAL): - yyterminate (); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = - (int) (yy_cp - yyg->yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yyg->yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == - YY_BUFFER_NEW) + YY_RULE_SETUP + { + kml_freeString (&(Kmlget_extra (yyscanner)->KmlLval.pval)); + Kmlget_extra (yyscanner)->kml_col = 0; + Kmlget_extra (yyscanner)->kml_line++; + } + YY_BREAK case 10:YY_RULE_SETUP + { + kml_freeString (&(Kmlget_extra (yyscanner)->KmlLval.pval)); + Kmlget_extra (yyscanner)->kml_col += (int) strlen (yytext); + return -1; + } + YY_BREAK case 11:YY_RULE_SETUP ECHO; + YY_BREAK case YY_STATE_EOF (INITIAL):yyterminate (); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = + (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == + YY_BUFFER_NEW) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * Kmllex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = + YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if (yyg->yy_c_buf_p <= + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state (yyscanner); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = + yy_try_NUL_trans (yy_current_state, yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if (yy_next_state) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_c_buf_p; + goto yy_find_action; + } + } + + else + switch (yy_get_next_buffer (yyscanner)) { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * Kmllex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yyg->yy_n_chars = - YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if (yyg->yy_c_buf_p <= - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if (Kmlwrap (yyscanner)) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = + yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF (YY_START); + goto do_action; + } + + else + { + if (!yyg->yy_did_buffer_switch_on_eof) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state (yyscanner); - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; - yy_next_state = - yy_try_NUL_trans (yy_current_state, - yyscanner); + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg-> + yy_n_chars]; + yy_current_state = + yy_get_previous_state (yyscanner); + + yy_cp = yyg->yy_c_buf_p; yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - - if (yy_next_state) - { - /* Consume the NUL. */ - yy_cp = ++yyg->yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yyg->yy_c_buf_p; - goto yy_find_action; - } + goto yy_find_action; } - - else - switch (yy_get_next_buffer (yyscanner)) - { - case EOB_ACT_END_OF_FILE: - { - yyg->yy_did_buffer_switch_on_eof = 0; - - if (Kmlwrap (yyscanner)) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yyg->yy_c_buf_p = - yyg->yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF (YY_START); - goto do_action; - } - - else - { - if (!yyg->yy_did_buffer_switch_on_eof) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yyg->yy_c_buf_p = - yyg->yytext_ptr + - yy_amount_of_matched_text; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yyg->yy_c_buf_p = - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR - ("fatal flex scanner internal error--no action found"); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of user's declarations */ + break; + } + + default: + YY_FATAL_ERROR + ("fatal flex scanner internal error--no action found"); + } /* end of action switch */ + } /* end of scanning one token */ } /* end of Kmllex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: @@ -1095,24 +1045,24 @@ */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) (yyg->yy_c_buf_p - b->yy_ch_buf); if (b->yy_is_our_buffer) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if (new_size <= 0) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; @@ -1140,11 +1090,11 @@ if (num_to_read > YY_READ_BUF_SIZE) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT ((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - yyg->yy_n_chars, num_to_read); + yyg->yy_n_chars, (size_t) num_to_read); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; } if (yyg->yy_n_chars == 0) @@ -1211,11 +1161,11 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 21) + if (yy_current_state >= 19) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } @@ -1242,17 +1192,16 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 21) + if (yy_current_state >= 19) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 20); + yy_is_jam = (yy_current_state == 18); - (void) yyg; return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_INPUT #ifdef __cplusplus @@ -1279,11 +1228,11 @@ /* This was really a NUL. */ *yyg->yy_c_buf_p = '\0'; else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch (yy_get_next_buffer (yyscanner)) { case EOB_ACT_LAST_MATCH: @@ -1447,10 +1396,14 @@ Kmlfree ((void *) b->yy_ch_buf, yyscanner); Kmlfree ((void *) b, yyscanner); } +#ifndef __cplusplus +extern int isatty (int); +#endif /* __cplusplus */ + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a Kmlrestart() or at EOF. */ static void @@ -1569,11 +1522,11 @@ * Guarantees space for at least one push. */ static void Kmlensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; if (!yyg->yy_buffer_stack) { @@ -1668,23 +1621,22 @@ return Kml_scan_bytes (yystr, strlen (yystr), yyscanner); } /** Setup the input buffer state to scan the given bytes. The next call to Kmllex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ YY_BUFFER_STATE -Kml_scan_bytes (yyconst char *yybytes, yy_size_t _yybytes_len, - yyscan_t yyscanner) +Kml_scan_bytes (yyconst char *yybytes, int _yybytes_len, yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) Kmlalloc (n, yyscanner); if (!buf) @@ -1712,11 +1664,11 @@ #endif static void yy_fatal_error (yyconst char *msg, yyscan_t yyscanner) { - (void) spatialite_e ("%s\n", msg); + (void) fprintf (stderr, "%s\n", msg); exit (YY_EXIT_FAILURE); } /* Redefine yyless() so it works in section 3 code. */ @@ -1796,11 +1748,11 @@ } /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t +int Kmlget_leng (yyscan_t yyscanner) { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; return yyleng; } @@ -1836,11 +1788,11 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* lineno is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("Kmlset_lineno called with no buffer"); + yy_fatal_error ("Kmlset_lineno called with no buffer", yyscanner); yylineno = line_number; } /** Set the current column. @@ -1852,11 +1804,11 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* column is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("Kmlset_column called with no buffer"); + yy_fatal_error ("Kmlset_column called with no buffer", yyscanner); yycolumn = column_no; } /** Set the input stream. This does not discard the current @@ -2080,15 +2032,11 @@ { free ((char *) ptr); /* see Kmlrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" - -#line 73 "kmlLexer.l" - - int Kmlwrap (yyscan_t yyscanner) { return 1; } Index: src/gaiageo/lex.VanuatuWkt.c ================================================================== --- src/gaiageo/lex.VanuatuWkt.c +++ src/gaiageo/lex.VanuatuWkt.c @@ -6,11 +6,11 @@ /* A lexical scanner generated by flex */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 -#define YY_FLEX_SUBMINOR_VERSION 39 +#define YY_FLEX_SUBMINOR_VERSION 35 #if YY_FLEX_SUBMINOR_VERSION > 0 #define FLEX_BETA #endif /* First, we deal with platform-specific or compiler-specific issues. */ @@ -51,10 +51,11 @@ typedef short int flex_int16_t; typedef int flex_int32_t; typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ /* Limits of integral types. */ #ifndef INT8_MIN #define INT8_MIN (-128) #endif @@ -81,12 +82,10 @@ #endif #ifndef UINT32_MAX #define UINT32_MAX (4294967295U) #endif -#endif /* ! C99 */ - #endif /* ! FLEXINT_H */ #ifdef __cplusplus /* The "const" storage-class-modifier is valid. */ @@ -168,21 +167,15 @@ #ifndef YY_TYPEDEF_YY_BUFFER_STATE #define YY_TYPEDEF_YY_BUFFER_STATE typedef struct yy_buffer_state *YY_BUFFER_STATE; #endif -#ifndef YY_TYPEDEF_YY_SIZE_T -#define YY_TYPEDEF_YY_SIZE_T -typedef size_t yy_size_t; -#endif - #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) -#define YY_LINENO_REWIND_TO(ptr) /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ { \ @@ -195,10 +188,15 @@ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif #ifndef YY_STRUCT_YY_BUFFER_STATE #define YY_STRUCT_YY_BUFFER_STATE struct yy_buffer_state { @@ -213,11 +211,11 @@ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ - yy_size_t yy_n_chars; + int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ @@ -298,11 +296,11 @@ YY_BUFFER_STATE VanuatuWkt_scan_buffer (char *base, yy_size_t size, yyscan_t yyscanner); YY_BUFFER_STATE VanuatuWkt_scan_string (yyconst char *yy_str, yyscan_t yyscanner); -YY_BUFFER_STATE VanuatuWkt_scan_bytes (yyconst char *bytes, yy_size_t len, +YY_BUFFER_STATE VanuatuWkt_scan_bytes (yyconst char *bytes, int len, yyscan_t yyscanner); void *VanuatuWktalloc (yy_size_t, yyscan_t yyscanner); void *VanuatuWktrealloc (void *, yy_size_t, yyscan_t yyscanner); void VanuatuWktfree (void *, yyscan_t yyscanner); @@ -362,29 +360,24 @@ struct yy_trans_info { flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[171] = { 0, +static yyconst flex_int16_t yy_accept[114] = { 0, 0, 0, 37, 35, 33, 34, 3, 4, 35, 2, - 35, 1, 1, 35, 35, 35, 35, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 0, 0, 0, 5, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, + 35, 1, 35, 35, 35, 35, 1, 1, 1, 1, + 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, + 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, + 0, 0, 5, 0, 0, 0, 0, 0, 0, 7, + 6, 0, 0, 0, 0, 0, 8, 13, 0, 0, + 0, 0, 0, 0, 15, 14, 0, 0, 0, 0, + 0, 16, 0, 9, 0, 17, 0, 0, 0, 11, + 10, 0, 0, 19, 18, 0, 0, 12, 0, 20, + 25, 0, 0, 0, 27, 26, 0, 0, 28, 0, - 0, 0, 7, 6, 0, 1, 1, 1, 1, 0, - 0, 0, 0, 8, 13, 0, 0, 0, 0, 0, - 0, 15, 14, 0, 0, 0, 0, 0, 16, 0, - 9, 0, 17, 0, 0, 0, 11, 10, 0, 0, - 19, 18, 0, 0, 12, 0, 20, 25, 0, 0, - 0, 27, 26, 0, 0, 28, 0, 21, 0, 0, - 23, 22, 0, 24, 29, 0, 31, 30, 32, 0 + 21, 0, 0, 23, 22, 0, 24, 29, 0, 31, + 30, 32, 0 }; static yyconst flex_int32_t yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -421,146 +414,119 @@ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; -static yyconst flex_int16_t yy_base[171] = { 0, - 0, 0, 328, 329, 329, 329, 329, 329, 32, 329, - 34, 317, 36, 35, 35, 27, 33, 316, 43, 315, - 47, 48, 314, 59, 70, 49, 55, 58, 69, 67, - 313, 83, 80, 312, 94, 95, 85, 310, 309, 308, - 65, 94, 86, 92, 86, 105, 104, 307, 306, 305, - 112, 107, 304, 303, 301, 300, 299, 298, 120, 297, - 115, 108, 118, 111, 122, 295, 294, 292, 130, 291, - 290, 289, 288, 131, 286, 285, 283, 282, 281, 279, - 121, 123, 134, 149, 128, 276, 275, 271, 270, 267, - 259, 258, 254, 247, 225, 224, 220, 134, 135, 142, +static yyconst flex_int16_t yy_base[115] = { 0, + 0, 33, 211, 255, 255, 255, 255, 255, 192, 255, + 191, 2, 2, 3, 4, 0, 11, 13, 185, 15, + 26, 28, 32, 36, 162, 161, 154, 37, 42, 33, + 39, 33, 71, 16, 46, 53, 61, 54, 64, 56, + 57, 65, 80, 67, 66, 67, 74, 79, 0, 255, + 82, 87, 82, 93, 91, 95, 255, 112, 105, 100, + 106, 109, 103, 0, 255, 113, 112, 121, 114, 114, + 125, 255, 124, 144, 118, 154, 130, 143, 0, 255, + 143, 141, 0, 255, 146, 148, 154, 255, 153, 255, + 184, 157, 161, 0, 255, 172, 167, 177, 255, 177, - 139, 0, 329, 146, 146, 149, 75, 51, 44, 142, - 153, 156, 161, 329, 181, 168, 168, 174, 170, 168, - 0, 329, 177, 177, 183, 177, 177, 190, 329, 189, - 213, 183, 220, 191, 202, 0, 329, 209, 206, 0, - 329, 211, 211, 219, 329, 219, 329, 247, 226, 222, - 0, 329, 231, 233, 243, 329, 244, 263, 241, 0, - 329, 245, 250, 329, 281, 0, 329, 259, 329, 329 + 194, 174, 0, 255, 182, 182, 255, 214, 0, 255, + 192, 255, 255, 0 }; -static yyconst flex_int16_t yy_def[171] = { 0, - 170, 1, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, +static yyconst flex_int16_t yy_def[115] = { 0, + 114, 114, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 43, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 58, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 74, 113, + 113, 113, 76, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 91, 113, 113, 113, 113, 113, 113, - 170, 84, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 115, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 131, 170, 170, 170, 133, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 148, 170, 170, 170, 170, 170, 170, 170, 170, 158, - 170, 170, 170, 170, 170, 165, 170, 170, 170, 0 + 113, 113, 101, 113, 113, 113, 113, 113, 108, 113, + 113, 113, 0, 113 }; -static yyconst flex_int16_t yy_nxt[370] = { 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 4, 4, 14, 4, 15, 16, 4, 4, 17, 4, - 4, 4, 4, 4, 4, 4, 4, 14, 4, 15, - 16, 4, 4, 17, 4, 4, 4, 4, 4, 4, - 18, 19, 20, 21, 23, 24, 26, 25, 27, 28, - 29, 31, 19, 109, 32, 34, 21, 22, 35, 36, - 108, 26, 25, 27, 28, 29, 41, 23, 24, 32, - 25, 42, 43, 35, 36, 38, 30, 39, 46, 40, - 61, 41, 44, 45, 107, 25, 42, 43, 48, 33, - 49, 51, 50, 46, 37, 61, 59, 44, 45, 53, - - 56, 54, 57, 55, 58, 62, 51, 63, 64, 65, - 66, 59, 67, 47, 68, 69, 52, 71, 74, 72, - 62, 73, 63, 64, 65, 78, 81, 79, 82, 80, - 69, 83, 84, 74, 85, 88, 93, 89, 94, 90, - 95, 81, 98, 82, 99, 105, 83, 84, 100, 85, - 102, 102, 101, 110, 111, 112, 113, 98, 106, 99, - 105, 114, 115, 100, 103, 116, 117, 101, 110, 111, - 112, 113, 118, 104, 119, 120, 114, 115, 124, 103, - 116, 117, 121, 121, 125, 126, 127, 118, 104, 119, - 120, 128, 129, 124, 130, 131, 122, 132, 133, 125, - - 126, 127, 134, 135, 139, 123, 128, 129, 143, 130, - 131, 122, 132, 133, 136, 136, 144, 134, 135, 139, - 123, 140, 140, 143, 145, 146, 147, 148, 137, 97, - 149, 144, 150, 96, 95, 141, 154, 138, 155, 145, - 146, 147, 148, 137, 142, 149, 156, 150, 151, 151, - 141, 154, 138, 155, 157, 158, 109, 159, 163, 142, - 164, 156, 152, 108, 160, 160, 165, 92, 91, 157, - 158, 153, 159, 163, 169, 164, 90, 152, 161, 107, - 106, 165, 166, 166, 87, 86, 153, 162, 80, 169, - 97, 96, 77, 161, 76, 75, 167, 73, 92, 91, - - 70, 68, 162, 87, 86, 168, 60, 58, 77, 76, - 55, 167, 55, 75, 50, 50, 70, 40, 40, 60, - 168, 52, 47, 37, 33, 30, 22, 170, 3, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170 +static yyconst flex_int16_t yy_nxt[296] = { 0, + 4, 5, 6, 7, 8, 9, 10, 11, 113, 12, + 19, 20, 13, 21, 14, 15, 22, 24, 16, 25, + 17, 26, 18, 19, 20, 34, 23, 13, 21, 14, + 15, 22, 24, 16, 5, 6, 7, 8, 9, 10, + 11, 23, 12, 28, 29, 13, 30, 14, 15, 31, + 32, 16, 35, 36, 37, 38, 39, 40, 28, 29, + 13, 30, 14, 15, 31, 32, 16, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 33, 49, 49, 48, 52, 53, 54, 55, 41, 42, + 43, 44, 45, 46, 47, 50, 56, 57, 48, 52, + + 53, 54, 55, 58, 51, 59, 60, 61, 62, 63, + 50, 56, 57, 64, 64, 67, 68, 69, 58, 51, + 59, 60, 61, 62, 63, 70, 71, 65, 72, 73, + 67, 68, 69, 74, 75, 76, 66, 77, 78, 82, + 70, 71, 65, 72, 73, 79, 79, 86, 74, 75, + 76, 66, 77, 78, 82, 83, 83, 87, 88, 80, + 89, 90, 86, 27, 91, 92, 93, 97, 81, 84, + 34, 33, 87, 88, 80, 89, 90, 98, 85, 91, + 92, 93, 97, 81, 84, 94, 94, 99, 100, 101, + 102, 106, 98, 85, 27, 103, 103, 107, 108, 95, + + 18, 17, 99, 100, 101, 102, 106, 112, 96, 104, + 113, 113, 107, 108, 95, 109, 109, 113, 105, 113, + 113, 113, 112, 96, 104, 113, 113, 113, 113, 110, + 113, 113, 113, 105, 113, 113, 113, 113, 111, 113, + 113, 113, 113, 113, 110, 113, 113, 113, 113, 113, + 113, 113, 113, 111, 3, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113 }; -static yyconst flex_int16_t yy_chk[370] = { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 9, 9, 11, 11, 13, 13, 14, 13, 15, 16, - 17, 19, 19, 109, 19, 21, 21, 22, 21, 22, - 108, 14, 13, 15, 16, 17, 26, 24, 24, 19, - 24, 27, 28, 21, 22, 25, 30, 25, 30, 25, - 41, 26, 29, 29, 107, 24, 27, 28, 32, 33, - 32, 33, 32, 30, 37, 41, 37, 29, 29, 35, - - 36, 35, 36, 35, 36, 42, 33, 43, 44, 45, - 46, 37, 46, 47, 46, 47, 52, 51, 52, 51, - 42, 51, 43, 44, 45, 59, 61, 59, 62, 59, - 47, 63, 64, 52, 65, 69, 74, 69, 74, 69, - 74, 61, 81, 62, 82, 85, 63, 64, 83, 65, - 84, 84, 83, 98, 99, 100, 101, 81, 106, 82, - 85, 104, 105, 83, 84, 110, 111, 83, 98, 99, - 100, 101, 112, 84, 113, 113, 104, 105, 116, 84, - 110, 111, 115, 115, 117, 118, 119, 112, 84, 113, - 113, 120, 123, 116, 124, 125, 115, 126, 127, 117, - - 118, 119, 128, 130, 132, 115, 120, 123, 134, 124, - 125, 115, 126, 127, 131, 131, 135, 128, 130, 132, - 115, 133, 133, 134, 138, 139, 142, 143, 131, 97, - 144, 135, 146, 96, 95, 133, 149, 131, 150, 138, - 139, 142, 143, 131, 133, 144, 153, 146, 148, 148, - 133, 149, 131, 150, 154, 155, 94, 157, 159, 133, - 162, 153, 148, 93, 158, 158, 163, 92, 91, 154, - 155, 148, 157, 159, 168, 162, 90, 148, 158, 89, - 88, 163, 165, 165, 87, 86, 148, 158, 80, 168, - 79, 78, 77, 158, 76, 75, 165, 73, 72, 71, - - 70, 68, 158, 67, 66, 165, 60, 58, 57, 56, - 55, 165, 54, 53, 50, 49, 48, 40, 39, 38, - 165, 34, 31, 23, 20, 18, 12, 3, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 170 +static yyconst flex_int16_t yy_chk[296] = { 0, + 114, 1, 1, 1, 1, 1, 1, 1, 0, 1, + 12, 12, 1, 13, 1, 1, 14, 16, 1, 17, + 17, 18, 18, 20, 20, 34, 15, 1, 13, 1, + 1, 14, 16, 1, 2, 2, 2, 2, 2, 2, + 2, 15, 2, 21, 22, 2, 23, 2, 2, 24, + 24, 2, 28, 29, 30, 31, 32, 35, 21, 22, + 2, 23, 2, 2, 24, 24, 2, 28, 29, 30, + 31, 32, 35, 36, 37, 38, 39, 40, 41, 42, + 33, 43, 43, 42, 44, 45, 46, 47, 36, 37, + 38, 39, 40, 41, 42, 43, 48, 51, 42, 44, + + 45, 46, 47, 52, 43, 53, 54, 55, 56, 56, + 43, 48, 51, 58, 58, 59, 60, 61, 52, 43, + 53, 54, 55, 56, 56, 62, 63, 58, 66, 67, + 59, 60, 61, 68, 69, 70, 58, 71, 73, 75, + 62, 63, 58, 66, 67, 74, 74, 77, 68, 69, + 70, 58, 71, 73, 75, 76, 76, 78, 81, 74, + 82, 85, 77, 27, 86, 87, 89, 92, 74, 76, + 26, 25, 78, 81, 74, 82, 85, 93, 76, 86, + 87, 89, 92, 74, 76, 91, 91, 96, 97, 98, + 100, 102, 93, 76, 19, 101, 101, 105, 106, 91, + + 11, 9, 96, 97, 98, 100, 102, 111, 91, 101, + 3, 0, 105, 106, 91, 108, 108, 0, 101, 0, + 0, 0, 111, 91, 101, 0, 0, 0, 0, 108, + 0, 0, 0, 101, 0, 0, 0, 0, 108, 0, + 0, 0, 0, 0, 108, 0, 0, 0, 0, 0, + 0, 0, 0, 108, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, + 113, 113, 113, 113, 113 }; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET -#line 1 "vanuatuLexer.l" /* vanuatuLexer.l -- Vanuatu WKT parser - FLEX config version 2.4, 2010 April 2 @@ -630,11 +596,10 @@ * will try to match with any of the defined tokens from below. Flex will * then match the string of longest length. Suppose the string is: POINT ZM, * Flex would match both POINT Z and POINT ZM, but since POINT ZM is the longer * of the two tokens, FLEX will match POINT ZM. */ -#line 635 "lex.VanuatuWkt.c" #define INITIAL 0 #ifndef YY_NO_UNISTD_H /* Special case for "unistd.h", since it is non-ANSI. We include it way @@ -657,12 +622,12 @@ FILE *yyin_r, *yyout_r; size_t yy_buffer_stack_top; /**< index of top of stack. */ size_t yy_buffer_stack_max; /**< capacity of stack. */ YY_BUFFER_STATE *yy_buffer_stack; /**< Stack as an array. */ char yy_hold_char; - yy_size_t yy_n_chars; - yy_size_t yyleng_r; + int yy_n_chars; + int yyleng_r; char *yy_c_buf_p; int yy_init; int yy_start; int yy_did_buffer_switch_on_eof; int yy_start_stack_ptr; @@ -705,11 +670,11 @@ FILE *VanuatuWktget_out (yyscan_t yyscanner); void VanuatuWktset_out (FILE * out_str, yyscan_t yyscanner); -yy_size_t VanuatuWktget_leng (yyscan_t yyscanner); +int VanuatuWktget_leng (yyscan_t yyscanner); char *VanuatuWktget_text (yyscan_t yyscanner); int VanuatuWktget_lineno (yyscan_t yyscanner); @@ -768,11 +733,11 @@ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ { \ int c = '*'; \ - size_t n; \ + unsigned n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ @@ -878,513 +843,432 @@ } VanuatuWkt_load_buffer_state (yyscanner); } - { -#line 81 "vanuatuLexer.l" - -#line 885 "lex.VanuatuWkt.c" - - while (1) /* loops until end-of-file is reached */ - { - yy_cp = yyg->yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yyg->yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yyg->yy_start; - yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; - if (yy_accept[yy_current_state]) - { - yyg->yy_last_accepting_state = yy_current_state; - yyg->yy_last_accepting_cpos = yy_cp; - } - while (yy_chk[yy_base[yy_current_state] + yy_c] != - yy_current_state) - { - yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 171) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = - yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - ++yy_cp; - } - while (yy_base[yy_current_state] != 329); - - yy_find_action: - yy_act = yy_accept[yy_current_state]; - if (yy_act == 0) - { /* have to back up */ - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - yy_act = yy_accept[yy_current_state]; - } - - YY_DO_BEFORE_ACTION; - - do_action: /* This label is used only to access EOF actions. */ - - switch (yy_act) - { /* beginning of action switch */ - case 0: /* must back up */ - /* undo the effects of YY_DO_BEFORE_ACTION */ - *yy_cp = yyg->yy_hold_char; - yy_cp = yyg->yy_last_accepting_cpos; - yy_current_state = yyg->yy_last_accepting_state; - goto yy_find_action; - - case 1: - YY_RULE_SETUP -#line 82 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->vanuatu_col += - (int) strlen (yytext); - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - atof (yytext); - return VANUATU_NUM; - } - YY_BREAK case 2:YY_RULE_SETUP -#line 83 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_COMMA; - } - YY_BREAK case 3:YY_RULE_SETUP -#line 84 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_OPEN_BRACKET; - } - YY_BREAK case 4:YY_RULE_SETUP -#line 85 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_CLOSE_BRACKET; - } - YY_BREAK case 5:YY_RULE_SETUP -#line 86 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_POINT; - } - YY_BREAK case 6: + while (1) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yyg->yy_start; + yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI (*yy_cp)]; + if (yy_accept[yy_current_state]) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while (yy_chk[yy_base[yy_current_state] + yy_c] != + yy_current_state) + { + yy_current_state = (int) yy_def[yy_current_state]; + if (yy_current_state >= 114) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = + yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while (yy_base[yy_current_state] != 255); + + yy_find_action: + yy_act = yy_accept[yy_current_state]; + if (yy_act == 0) + { /* have to back up */ + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + + do_action: /* This label is used only to access EOF actions. */ + + switch (yy_act) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = yyg->yy_hold_char; + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + + case 1: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->vanuatu_col += + (int) strlen (yytext); + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = + atof (yytext); + return VANUATU_NUM; + } + YY_BREAK case 2:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_COMMA; + } + YY_BREAK case 3:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_OPEN_BRACKET; + } + YY_BREAK case 4:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_CLOSE_BRACKET; + } + YY_BREAK case 5:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_POINT; + } + YY_BREAK case 6: /* rule 6 can match eol */ - YY_RULE_SETUP -#line 87 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_POINT_Z; - } - YY_BREAK case 7: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_POINT_Z; + } + YY_BREAK case 7: /* rule 7 can match eol */ - YY_RULE_SETUP -#line 88 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_POINT_M; - } - YY_BREAK case 8: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_POINT_M; + } + YY_BREAK case 8: /* rule 8 can match eol */ - YY_RULE_SETUP -#line 89 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_POINT_ZM; - } - YY_BREAK case 9:YY_RULE_SETUP -#line 90 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_LINESTRING; - } - YY_BREAK case 10: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_POINT_ZM; + } + YY_BREAK case 9:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_LINESTRING; + } + YY_BREAK case 10: /* rule 10 can match eol */ - YY_RULE_SETUP -#line 91 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_LINESTRING_Z; - } - YY_BREAK case 11: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_LINESTRING_Z; + } + YY_BREAK case 11: /* rule 11 can match eol */ - YY_RULE_SETUP -#line 92 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_LINESTRING_M; - } - YY_BREAK case 12: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_LINESTRING_M; + } + YY_BREAK case 12: /* rule 12 can match eol */ - YY_RULE_SETUP -#line 93 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_LINESTRING_ZM; - } - YY_BREAK case 13:YY_RULE_SETUP -#line 94 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_POLYGON; - } - YY_BREAK case 14: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_LINESTRING_ZM; + } + YY_BREAK case 13:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_POLYGON; + } + YY_BREAK case 14: /* rule 14 can match eol */ - YY_RULE_SETUP -#line 95 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_POLYGON_Z; - } - YY_BREAK case 15: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_POLYGON_Z; + } + YY_BREAK case 15: /* rule 15 can match eol */ - YY_RULE_SETUP -#line 96 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_POLYGON_M; - } - YY_BREAK case 16: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_POLYGON_M; + } + YY_BREAK case 16: /* rule 16 can match eol */ - YY_RULE_SETUP -#line 97 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_POLYGON_ZM; - } - YY_BREAK case 17:YY_RULE_SETUP -#line 98 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTIPOINT; - } - YY_BREAK case 18: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_POLYGON_ZM; + } + YY_BREAK case 17:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTIPOINT; + } + YY_BREAK case 18: /* rule 18 can match eol */ - YY_RULE_SETUP -#line 99 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTIPOINT_Z; - } - YY_BREAK case 19: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTIPOINT_Z; + } + YY_BREAK case 19: /* rule 19 can match eol */ - YY_RULE_SETUP -#line 100 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTIPOINT_M; - } - YY_BREAK case 20: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTIPOINT_M; + } + YY_BREAK case 20: /* rule 20 can match eol */ - YY_RULE_SETUP -#line 101 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTIPOINT_ZM; - } - YY_BREAK case 21:YY_RULE_SETUP -#line 102 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTILINESTRING; - } - YY_BREAK case 22: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTIPOINT_ZM; + } + YY_BREAK case 21:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTILINESTRING; + } + YY_BREAK case 22: /* rule 22 can match eol */ - YY_RULE_SETUP -#line 103 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTILINESTRING_Z; - } - YY_BREAK case 23: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTILINESTRING_Z; + } + YY_BREAK case 23: /* rule 23 can match eol */ - YY_RULE_SETUP -#line 104 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTILINESTRING_M; - } - YY_BREAK case 24: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTILINESTRING_M; + } + YY_BREAK case 24: /* rule 24 can match eol */ - YY_RULE_SETUP -#line 105 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTILINESTRING_ZM; - } - YY_BREAK case 25:YY_RULE_SETUP -#line 106 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTIPOLYGON; - } - YY_BREAK case 26: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTILINESTRING_ZM; + } + YY_BREAK case 25:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTIPOLYGON; + } + YY_BREAK case 26: /* rule 26 can match eol */ - YY_RULE_SETUP -#line 107 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTIPOLYGON_Z; - } - YY_BREAK case 27: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTIPOLYGON_Z; + } + YY_BREAK case 27: /* rule 27 can match eol */ - YY_RULE_SETUP -#line 108 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTIPOLYGON_M; - } - YY_BREAK case 28: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTIPOLYGON_M; + } + YY_BREAK case 28: /* rule 28 can match eol */ - YY_RULE_SETUP -#line 109 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_MULTIPOLYGON_ZM; - } - YY_BREAK case 29:YY_RULE_SETUP -#line 110 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_GEOMETRYCOLLECTION; - } - YY_BREAK case 30: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_MULTIPOLYGON_ZM; + } + YY_BREAK case 29:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_GEOMETRYCOLLECTION; + } + YY_BREAK case 30: /* rule 30 can match eol */ - YY_RULE_SETUP -#line 111 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_GEOMETRYCOLLECTION_Z; - } - YY_BREAK case 31: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_GEOMETRYCOLLECTION_Z; + } + YY_BREAK case 31: /* rule 31 can match eol */ - YY_RULE_SETUP -#line 112 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_GEOMETRYCOLLECTION_M; - } - YY_BREAK case 32: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_GEOMETRYCOLLECTION_M; + } + YY_BREAK case 32: /* rule 32 can match eol */ - YY_RULE_SETUP -#line 113 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = - 0; - return VANUATU_GEOMETRYCOLLECTION_ZM; - } - YY_BREAK case 33:YY_RULE_SETUP -#line 115 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->vanuatu_col += - (int) strlen (yytext); - } /* ignore but count white space */ - YY_BREAK case 34: + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->VanuatuWktlval.dval = 0; + return VANUATU_GEOMETRYCOLLECTION_ZM; + } + YY_BREAK case 33:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->vanuatu_col += + (int) strlen (yytext); + } /* ignore but count white space */ + YY_BREAK case 34: /* rule 34 can match eol */ - YY_RULE_SETUP -#line 117 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->vanuatu_col = 0; - VanuatuWktget_extra (yyscanner)->vanuatu_line++; - } - YY_BREAK case 35:YY_RULE_SETUP -#line 119 "vanuatuLexer.l" - { - VanuatuWktget_extra (yyscanner)->vanuatu_col += - (int) strlen (yytext); - return -1; - } - YY_BREAK case 36:YY_RULE_SETUP -#line 120 "vanuatuLexer.l" - ECHO; - YY_BREAK -#line 1144 "lex.VanuatuWkt.c" - case YY_STATE_EOF (INITIAL): - yyterminate (); - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = - (int) (yy_cp - yyg->yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yyg->yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == - YY_BUFFER_NEW) + YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->vanuatu_col = 0; + VanuatuWktget_extra (yyscanner)->vanuatu_line++; + } + YY_BREAK case 35:YY_RULE_SETUP + { + VanuatuWktget_extra (yyscanner)->vanuatu_col += + (int) strlen (yytext); + return -1; + } + YY_BREAK case 36:YY_RULE_SETUP ECHO; + YY_BREAK case YY_STATE_EOF (INITIAL):yyterminate (); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = + (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + if (YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == + YY_BUFFER_NEW) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * VanuatuWktlex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = + YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if (yyg->yy_c_buf_p <= + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state (yyscanner); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = + yy_try_NUL_trans (yy_current_state, yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if (yy_next_state) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_c_buf_p; + goto yy_find_action; + } + } + + else + switch (yy_get_next_buffer (yyscanner)) { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * VanuatuWktlex(). If so, then we have to assure - * consistency between YY_CURRENT_BUFFER and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yyg->yy_n_chars = - YY_CURRENT_BUFFER_LVALUE->yy_n_chars; - YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; - YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = - YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if (yyg->yy_c_buf_p <= - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if (VanuatuWktwrap (yyscanner)) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = + yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF (YY_START); + goto do_action; + } + + else + { + if (!yyg->yy_did_buffer_switch_on_eof) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state (yyscanner); - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; - yy_next_state = - yy_try_NUL_trans (yy_current_state, - yyscanner); + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg-> + yy_n_chars]; + yy_current_state = + yy_get_previous_state (yyscanner); + + yy_cp = yyg->yy_c_buf_p; yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - - if (yy_next_state) - { - /* Consume the NUL. */ - yy_cp = ++yyg->yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yyg->yy_c_buf_p; - goto yy_find_action; - } + goto yy_find_action; } - - else - switch (yy_get_next_buffer (yyscanner)) - { - case EOB_ACT_END_OF_FILE: - { - yyg->yy_did_buffer_switch_on_eof = 0; - - if (VanuatuWktwrap (yyscanner)) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yyg->yy_c_buf_p = - yyg->yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF (YY_START); - goto do_action; - } - - else - { - if (!yyg->yy_did_buffer_switch_on_eof) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yyg->yy_c_buf_p = - yyg->yytext_ptr + - yy_amount_of_matched_text; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yyg->yy_c_buf_p = - &YY_CURRENT_BUFFER_LVALUE-> - yy_ch_buf[yyg->yy_n_chars]; - - yy_current_state = - yy_get_previous_state (yyscanner); - - yy_cp = yyg->yy_c_buf_p; - yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR - ("fatal flex scanner internal error--no action found"); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of user's declarations */ + break; + } + + default: + YY_FATAL_ERROR + ("fatal flex scanner internal error--no action found"); + } /* end of action switch */ + } /* end of scanning one token */ } /* end of VanuatuWktlex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: @@ -1439,24 +1323,24 @@ */ YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; else { - yy_size_t num_to_read = + int num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; while (num_to_read <= 0) { /* Not enough room in the buffer - grow it. */ /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE; + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; int yy_c_buf_p_offset = (int) (yyg->yy_c_buf_p - b->yy_ch_buf); if (b->yy_is_our_buffer) { - yy_size_t new_size = b->yy_buf_size * 2; + int new_size = b->yy_buf_size * 2; if (new_size <= 0) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; @@ -1484,11 +1368,11 @@ if (num_to_read > YY_READ_BUF_SIZE) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT ((&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), - yyg->yy_n_chars, num_to_read); + yyg->yy_n_chars, (size_t) num_to_read); YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; } if (yyg->yy_n_chars == 0) @@ -1556,11 +1440,11 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 171) + if (yy_current_state >= 114) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } @@ -1587,17 +1471,16 @@ yyg->yy_last_accepting_cpos = yy_cp; } while (yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state) { yy_current_state = (int) yy_def[yy_current_state]; - if (yy_current_state >= 171) + if (yy_current_state >= 114) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 170); + yy_is_jam = (yy_current_state == 113); - (void) yyg; return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_INPUT #ifdef __cplusplus @@ -1624,11 +1507,11 @@ /* This was really a NUL. */ *yyg->yy_c_buf_p = '\0'; else { /* need more input */ - yy_size_t offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; ++yyg->yy_c_buf_p; switch (yy_get_next_buffer (yyscanner)) { case EOB_ACT_LAST_MATCH: @@ -1793,10 +1676,14 @@ VanuatuWktfree ((void *) b->yy_ch_buf, yyscanner); VanuatuWktfree ((void *) b, yyscanner); } +#ifndef __cplusplus +extern int isatty (int); +#endif /* __cplusplus */ + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a VanuatuWktrestart() or at EOF. */ static void @@ -1915,11 +1802,11 @@ * Guarantees space for at least one push. */ static void VanuatuWktensure_buffer_stack (yyscan_t yyscanner) { - yy_size_t num_to_alloc; + int num_to_alloc; struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; if (!yyg->yy_buffer_stack) { @@ -2015,23 +1902,23 @@ return VanuatuWkt_scan_bytes (yystr, strlen (yystr), yyscanner); } /** Setup the input buffer state to scan the given bytes. The next call to VanuatuWktlex() will * scan from a @e copy of @a bytes. - * @param yybytes the byte buffer to scan - * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. * @param yyscanner The scanner object. * @return the newly allocated buffer state object. */ YY_BUFFER_STATE -VanuatuWkt_scan_bytes (yyconst char *yybytes, yy_size_t _yybytes_len, +VanuatuWkt_scan_bytes (yyconst char *yybytes, int _yybytes_len, yyscan_t yyscanner) { YY_BUFFER_STATE b; char *buf; yy_size_t n; - yy_size_t i; + int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) VanuatuWktalloc (n, yyscanner); if (!buf) @@ -2059,11 +1946,11 @@ #endif static void yy_fatal_error (yyconst char *msg, yyscan_t yyscanner) { - (void) spatialite_e ("%s\n", msg); + (void) fprintf (stderr, "%s\n", msg); exit (YY_EXIT_FAILURE); } /* Redefine yyless() so it works in section 3 code. */ @@ -2143,11 +2030,11 @@ } /** Get the length of the current token. * @param yyscanner The scanner object. */ -yy_size_t +int VanuatuWktget_leng (yyscan_t yyscanner) { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; return yyleng; } @@ -2183,11 +2070,12 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* lineno is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("VanuatuWktset_lineno called with no buffer"); + yy_fatal_error ("VanuatuWktset_lineno called with no buffer", + yyscanner); yylineno = line_number; } /** Set the current column. @@ -2199,11 +2087,12 @@ { struct yyguts_t *yyg = (struct yyguts_t *) yyscanner; /* column is only valid if an input buffer exists. */ if (!YY_CURRENT_BUFFER) - YY_FATAL_ERROR ("VanuatuWktset_column called with no buffer"); + yy_fatal_error ("VanuatuWktset_column called with no buffer", + yyscanner); yycolumn = column_no; } /** Set the input stream. This does not discard the current @@ -2429,14 +2318,10 @@ { free ((char *) ptr); /* see VanuatuWktrealloc() for (char *) cast */ } #define YYTABLES_NAME "yytables" - -#line 120 "vanuatuLexer.l" - - int VanuatuWktwrap (yyscan_t yyscanner) { return 1; Index: src/geopackage/Makefile.in ================================================================== --- src/geopackage/Makefile.in +++ src/geopackage/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,18 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/geopackage +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -205,11 +196,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -380,10 +370,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/geopackage/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/geopackage/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -877,11 +868,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/geopackage/gaia_cvt_gpkg.c ================================================================== --- src/geopackage/gaia_cvt_gpkg.c +++ src/geopackage/gaia_cvt_gpkg.c @@ -1,10 +1,10 @@ /* gaia_cvt_gpkg.c -- implements GPKG DB conversion [both directions] - version 4.3, 2015 June 29 + version 4.2, 2014 May 10 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Brad Hards Alternatively, the contents of this file may be used under the terms of @@ -872,11 +872,11 @@ int ret; char *sql_err = NULL; xtable = gaiaDoubleQuotedSql (table_name); xgeom = gaiaDoubleQuotedSql (geometry_column); - sql = sqlite3_mprintf ("INSERT OR IGNORE INTO gpkg_contents (table_name, data_type, " + sql = sqlite3_mprintf ("INSERT INTO gpkg_contents (table_name, data_type, " "identifier, description, last_change, min_x, min_y, max_x, max_y, srs_id) " "SELECT Lower(%Q), 'features', Lower(%Q), ' ', " "strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now'), Min(ST_MinX(\"%s\")), " "Min(ST_MinY(\"%s\")), Max(ST_MaxX(\"%s\")), Max(ST_MaxY(\"%s\")), %d " "FROM \"%s\"", table_name, table_name, xgeom, xgeom, Index: src/geopackage/gpkgAddGeometryColumn.c ================================================================== --- src/geopackage/gpkgAddGeometryColumn.c +++ src/geopackage/gpkgAddGeometryColumn.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -54,11 +54,11 @@ "MULTIPOLYGON", "GEOMCOLLECTION", NULL }; -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgAddGeometryColumn (sqlite3_context * context, int argc __attribute__ ((unused)), sqlite3_value ** argv) { /* SQL function: / gpkgAddGeomtryColumn(table_name, geometry_column_name, geometry_type, with_z, with_m, srs_id) @@ -180,19 +180,10 @@ sql_stmt = sqlite3_mprintf("INSERT OR IGNORE INTO gpkg_contents " "(table_name, data_type, srs_id, min_x, min_y, max_x, max_y) " "VALUES (%Q, 'feature', %i, NULL, NULL, NULL, NULL)", table, srid); - ret = sqlite3_exec (sqlite, sql_stmt, NULL, NULL, &errMsg); - sqlite3_free (sql_stmt); - if (ret != SQLITE_OK) - { - sqlite3_result_error (context, errMsg, -1); - sqlite3_free (errMsg); - return; - } - /* Add column definition to metadata table */ sql_stmt = sqlite3_mprintf ("INSERT INTO gpkg_geometry_columns " "(table_name, column_name, geometry_type_name, srs_id, z, m) " "VALUES (%Q, %Q, %Q, %i, %i, %i)", table, geometry_column_name, geometry_type_name, Index: src/geopackage/gpkgBinary.c ================================================================== --- src/geopackage/gpkgBinary.c +++ src/geopackage/gpkgBinary.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2014-2015 +Portions created by the Initial Developer are Copyright (C) 2014 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -63,12 +63,12 @@ gaiaExport64 (ptr + sizeof (double), max_x, 1, endian_arch); gaiaExport64 (ptr + 2 * sizeof (double), min_y, 1, endian_arch); gaiaExport64 (ptr + 3 * sizeof (double), max_y, 1, endian_arch); } -GEOPACKAGE_DECLARE void -gaiaToGPB (gaiaGeomCollPtr geom, unsigned char **result, int *size) +static void +gaiaToGPB (gaiaGeomCollPtr geom, unsigned char **result, unsigned int *size) { int wkbOnlyLength; unsigned char *wkbOnlyGeometry = NULL; unsigned char *ptr; int endian_arch = gaiaEndianArch (); @@ -101,11 +101,11 @@ free (wkbOnlyGeometry); } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_ToGPB (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / AsGPB(BLOB encoded geometry) / @@ -113,11 +113,11 @@ / or NULL if any error is encountered */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; - int len; + unsigned int len; unsigned char *p_result = NULL; GEOPACKAGE_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); @@ -233,11 +233,11 @@ geo->Srid = srid; return geo; } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_GeomFromGPB (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / GeomFromGPB(GPB encoded geometry) / @@ -438,11 +438,11 @@ gtype = malloc (len + 1); strcpy (gtype, type); return gtype; } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_GPKG_IsAssignable (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / GPKG_IsAssignale(expected_type_name TEXT, actual_type_name TEXT) @@ -482,11 +482,11 @@ && strcasecmp (actual, "POLYGON") == 0) ret = 1; sqlite3_result_int (context, ret); } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_IsValidGPB (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / IsValidGPB(GPB encoded geometry) / Index: src/geopackage/gpkgCreateBaseTables.c ================================================================== --- src/geopackage/gpkgCreateBaseTables.c +++ src/geopackage/gpkgCreateBaseTables.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -44,11 +44,11 @@ #define GAIA_UNUSED() if (argc || argv) argc = argc; #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgCreateBaseTables (sqlite3_context * context, int argc __attribute__ ((unused)), sqlite3_value ** argv) { /* SQL function: / gpkgCreateBaseTables() @@ -117,10 +117,11 @@ "max_y DOUBLE NOT NULL,\n" "CONSTRAINT fk_gtms_table_name FOREIGN KEY (table_name) REFERENCES gpkg_contents(table_name),\n" "CONSTRAINT fk_gtms_srs FOREIGN KEY (srs_id) REFERENCES gpkg_spatial_ref_sys (srs_id))", /* Geopackage specification Table 9 / Table 27 */ + /* TODO: figure out if the defaults are required - https://github.com/opengis/geopackage/issues/67 */ "CREATE TABLE gpkg_tile_matrix (\n" "table_name TEXT NOT NULL,\n" "zoom_level INTEGER NOT NULL,\n" "matrix_width INTEGER NOT NULL,\n" "matrix_height INTEGER NOT NULL,\n" @@ -147,13 +148,13 @@ "CREATE TABLE gpkg_data_column_constraints (\n" "constraint_name TEXT NOT NULL,\n" "constraint_type TEXT NOT NULL,\n" "value TEXT,\n" "min NUMERIC,\n" - "min_is_inclusive BOOLEAN,\n" + "minIsInclusive BOOLEAN,\n" "max NUMERIC,\n" - "max_is_inclusive BOOLEAN,\n" + "maxIsInclusive BOOLEAN,\n" "description TEXT,\n" "CONSTRAINT gdcc_ntv UNIQUE (constraint_name, constraint_type, value))", /* GeoPackage specification Table 14 / Table 33 */ "CREATE TABLE gpkg_metadata (\n" Index: src/geopackage/gpkgCreateTilesTable.c ================================================================== --- src/geopackage/gpkgCreateTilesTable.c +++ src/geopackage/gpkgCreateTilesTable.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -40,11 +40,11 @@ #include "spatialite/geopackage.h" #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgCreateTilesTable (sqlite3_context * context, int argc __attribute__ ((unused)), sqlite3_value ** argv) { /* SQL function: / gpkgCreateTilesTable(table_name, srid, min_x, min_y, max_x, max_y) Index: src/geopackage/gpkgCreateTilesZoomLevel.c ================================================================== --- src/geopackage/gpkgCreateTilesZoomLevel.c +++ src/geopackage/gpkgCreateTilesZoomLevel.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -41,11 +41,11 @@ #include "spatialite/geopackage.h" #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgCreateTilesZoomLevel (sqlite3_context * context, int argc __attribute__ ((unused)), sqlite3_value ** argv) { /* SQL function: / gpkgCreateTilesZoomLevel(table_name, zoom_level, extent_width, extent_height) Index: src/geopackage/gpkgGetImageType.c ================================================================== --- src/geopackage/gpkgGetImageType.c +++ src/geopackage/gpkgGetImageType.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -42,11 +42,11 @@ #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgGetImageType (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgGetImageType(blob) Index: src/geopackage/gpkgInsertEpsgSRID.c ================================================================== --- src/geopackage/gpkgInsertEpsgSRID.c +++ src/geopackage/gpkgInsertEpsgSRID.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -40,11 +40,11 @@ #include "spatialite/geopackage.h" #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgInsertEpsgSRID (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgInsertEpsgSRID(srid) Index: src/geopackage/gpkgMakePoint.c ================================================================== --- src/geopackage/gpkgMakePoint.c +++ src/geopackage/gpkgMakePoint.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -216,11 +216,11 @@ gaiaExport64 (ptr + GEOPACKAGE_HEADER_LEN + GEOPACKAGE_4D_ENVELOPE_LEN + GEOPACKAGE_WKB_HEADER_LEN + (3 * sizeof (double)), m, 1, endian_arch); } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgMakePoint (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgMakePoint(x, y) @@ -272,11 +272,11 @@ { sqlite3_result_blob (context, p_result, len, free); } } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgMakePointWithSRID (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgMakePoint(x, y, srid) @@ -336,11 +336,11 @@ { sqlite3_result_blob (context, p_result, len, free); } } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgMakePointZ (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgMakePointZ(x, y, z) @@ -409,11 +409,11 @@ { sqlite3_result_blob (context, p_result, len, free); } } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgMakePointZWithSRID (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgMakePointZ(x, y, z, srid) @@ -488,11 +488,11 @@ { sqlite3_result_blob (context, p_result, len, free); } } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgMakePointM (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgMakePointM(x, y, m) @@ -561,11 +561,11 @@ { sqlite3_result_blob (context, p_result, len, free); } } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgMakePointMWithSRID (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgMakePointM(x, y, m, srid) @@ -640,11 +640,11 @@ { sqlite3_result_blob (context, p_result, len, free); } } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgMakePointZM (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgMakePointM(x, y, z, m) @@ -728,11 +728,11 @@ { sqlite3_result_blob (context, p_result, len, free); } } -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgMakePointZMWithSRID (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgMakePointZM(x, y, z, m, srid) Index: src/geopackage/gpkg_add_geometry_triggers.c ================================================================== --- src/geopackage/gpkg_add_geometry_triggers.c +++ src/geopackage/gpkg_add_geometry_triggers.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Sandro Furieri (a.furieri@lqt.it) -Portions created by the Initial Developer are Copyright (C) 2014-2015 +Portions created by the Initial Developer are Copyright (C) 2014 the Initial Developer. All Rights Reserved. Contributor(s): Brad Hards (bradh@frogmouth.net) @@ -42,11 +42,11 @@ #include "spatialite/gaiaaux.h" #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgAddGeometryTriggers (sqlite3_context * context, int argc __attribute__ ((unused)), sqlite3_value ** argv) { /* SQL function: / gpkgAddGeometryTriggers(table, column) Index: src/geopackage/gpkg_add_spatial_index.c ================================================================== --- src/geopackage/gpkg_add_spatial_index.c +++ src/geopackage/gpkg_add_spatial_index.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Sandro Furieri (a.furieri@lqt.it) -Portions created by the Initial Developer are Copyright (C) 2014-2015 +Portions created by the Initial Developer are Copyright (C) 2014 the Initial Developer. All Rights Reserved. Contributor(s): Brad Hards (bradh@frogmouth.net) @@ -42,11 +42,11 @@ #include "spatialite/gaiaaux.h" #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgAddSpatialIndex (sqlite3_context * context, int argc __attribute__ ((unused)), sqlite3_value ** argv) { /* SQL function: / gpkgAddSpatialIndex(table, column) Index: src/geopackage/gpkg_add_tile_triggers.c ================================================================== --- src/geopackage/gpkg_add_tile_triggers.c +++ src/geopackage/gpkg_add_tile_triggers.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -40,11 +40,11 @@ #include "spatialite/geopackage.h" #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgAddTileTriggers (sqlite3_context * context, int argc __attribute__ ((unused)), sqlite3_value ** argv) { /* SQL function: / gpkgAddTileTriggers(table) Index: src/geopackage/gpkg_get_normal_row.c ================================================================== --- src/geopackage/gpkg_get_normal_row.c +++ src/geopackage/gpkg_get_normal_row.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -40,11 +40,11 @@ #include "spatialite/geopackage.h" #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgGetNormalRow (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgGetNormalRow(tile_table_name, normal_zoom_level, inverted_row_number) Index: src/geopackage/gpkg_get_normal_zoom.c ================================================================== --- src/geopackage/gpkg_get_normal_zoom.c +++ src/geopackage/gpkg_get_normal_zoom.c @@ -16,11 +16,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -40,11 +40,11 @@ #include "spatialite/geopackage.h" #include "config.h" #include "geopackage_internal.h" #ifdef ENABLE_GEOPACKAGE -GEOPACKAGE_PRIVATE void +GEOPACKAGE_DECLARE void fnct_gpkgGetNormalZoom (sqlite3_context * context, int argc UNUSED, sqlite3_value ** argv) { /* SQL function: / gpkgGetNormalZoom(tile_table_name, inverted_zoom_level) Index: src/headers/Makefile.am ================================================================== --- src/headers/Makefile.am +++ src/headers/Makefile.am @@ -1,10 +1,6 @@ -if MODULE_ONLY -noinst_HEADERS = -nobase_include_HEADERS = -else noinst_HEADERS = spatialite_private.h nobase_include_HEADERS = spatialite.h \ spatialite/gaiaexif.h \ spatialite/gaiaaux.h \ spatialite/gaiamatrix.h \ @@ -21,10 +17,6 @@ spatialite/gg_dxf.h \ spatialite/spatialite.h \ spatialite/sqlite.h \ spatialite/debug.h \ spatialite/geopackage.h \ - spatialite/control_points.h \ - spatialite/gaia_topology.h \ - spatialite/gaia_network.h \ - spatialite/gg_sequence.h -endif + spatialite/control_points.h Index: src/headers/Makefile.in ================================================================== --- src/headers/Makefile.in +++ src/headers/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,19 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/headers +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(nobase_include_HEADERS) $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__nobase_include_HEADERS_DIST) \ - $(am__noinst_HEADERS_DIST) $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -119,21 +109,10 @@ am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac -am__nobase_include_HEADERS_DIST = spatialite.h spatialite/gaiaexif.h \ - spatialite/gaiaaux.h spatialite/gaiamatrix.h \ - spatialite/gaiageo.h spatialite/gg_const.h \ - spatialite/gg_structs.h spatialite/gg_core.h \ - spatialite/gg_mbr.h spatialite/gg_formats.h \ - spatialite/gg_dynamic.h spatialite/gg_advanced.h \ - spatialite/gg_xml.h spatialite/gg_wfs.h spatialite/gg_dxf.h \ - spatialite/spatialite.h spatialite/sqlite.h spatialite/debug.h \ - spatialite/geopackage.h spatialite/control_points.h \ - spatialite/gaia_topology.h spatialite/gaia_network.h \ - spatialite/gg_sequence.h am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; @@ -158,11 +137,10 @@ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(includedir)" -am__noinst_HEADERS_DIST = spatialite_private.h HEADERS = $(nobase_include_HEADERS) $(noinst_HEADERS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -179,11 +157,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -310,37 +287,32 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ -@MODULE_ONLY_FALSE@noinst_HEADERS = spatialite_private.h -@MODULE_ONLY_TRUE@noinst_HEADERS = -@MODULE_ONLY_FALSE@nobase_include_HEADERS = spatialite.h \ -@MODULE_ONLY_FALSE@ spatialite/gaiaexif.h \ -@MODULE_ONLY_FALSE@ spatialite/gaiaaux.h \ -@MODULE_ONLY_FALSE@ spatialite/gaiamatrix.h \ -@MODULE_ONLY_FALSE@ spatialite/gaiageo.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_const.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_structs.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_core.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_mbr.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_formats.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_dynamic.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_advanced.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_xml.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_wfs.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_dxf.h \ -@MODULE_ONLY_FALSE@ spatialite/spatialite.h \ -@MODULE_ONLY_FALSE@ spatialite/sqlite.h \ -@MODULE_ONLY_FALSE@ spatialite/debug.h \ -@MODULE_ONLY_FALSE@ spatialite/geopackage.h \ -@MODULE_ONLY_FALSE@ spatialite/control_points.h \ -@MODULE_ONLY_FALSE@ spatialite/gaia_topology.h \ -@MODULE_ONLY_FALSE@ spatialite/gaia_network.h \ -@MODULE_ONLY_FALSE@ spatialite/gg_sequence.h - -@MODULE_ONLY_TRUE@nobase_include_HEADERS = +noinst_HEADERS = spatialite_private.h +nobase_include_HEADERS = spatialite.h \ + spatialite/gaiaexif.h \ + spatialite/gaiaaux.h \ + spatialite/gaiamatrix.h \ + spatialite/gaiageo.h \ + spatialite/gg_const.h \ + spatialite/gg_structs.h \ + spatialite/gg_core.h \ + spatialite/gg_mbr.h \ + spatialite/gg_formats.h \ + spatialite/gg_dynamic.h \ + spatialite/gg_advanced.h \ + spatialite/gg_xml.h \ + spatialite/gg_wfs.h \ + spatialite/gg_dxf.h \ + spatialite/spatialite.h \ + spatialite/sqlite.h \ + spatialite/debug.h \ + spatialite/geopackage.h \ + spatialite/control_points.h + all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ @@ -352,10 +324,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/headers/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/headers/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -601,11 +574,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-nobase_includeHEADERS -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/headers/spatialite.h ================================================================== --- src/headers/spatialite.h +++ src/headers/spatialite.h @@ -1,9 +1,9 @@ /* spatialite.h -- Gaia spatial support for SQLite - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -120,32 +120,10 @@ \sa spatialite_init_ex, spatialite_cleanup_ex */ SPATIALITE_DECLARE void *spatialite_alloc_connection (void); -/** - Disables reporting GEOS/RTTOPO error and warnings on stderr - - \param ptr a memory pointer returned by spatialite_alloc_connection() - - \sa spatialite_init_ex, spatialite_cleanup_ex, - spatialite_set_verbose_mode - - */ - SPATIALITE_DECLARE void spatialite_set_silent_mode (const void *ptr); - -/** - Enables reporting GEOS/RTTOPO error and warnings on stderr - - \param ptr a memory pointer returned by spatialite_alloc_connection() - - \sa spatialite_init_ex, spatialite_cleanup_ex, - spatialite_set_silent_mode - - */ - SPATIALITE_DECLARE void spatialite_set_verbode_mode (const void *ptr); - /** Initializes a SpatiaLite connection. This function is now \b DEPRECATED because is not reentrant (not thread safe); use spatialite_init_ex() for all new development. @@ -207,22 +185,10 @@ \sa spatialite_init_ex, spatialite_alloc_connection */ SPATIALITE_DECLARE void spatialite_cleanup_ex (const void *ptr); -/** - Partially Cleaning-up a SpatiaLite connection - - This function will destroy all TopoGeo and TopoNet objects from within a local cache. - - \param ptr the same memory pointer passed to the corresponding call to - spatialite_init_ex() and returned by spatialite_alloc_connection() - - \sa spatialite_init_ex, spatialite_alloc_connection -*/ - SPATIALITE_DECLARE void spatialite_finalize_topologies (const void *ptr); - /** Dumps a full geometry-table into an external Shapefile \param sqlite handle to current DB connection \param table the name of the table to be exported @@ -231,46 +197,19 @@ \param charset a valid GNU ICONV charset to be used for DBF text strings \param geom_type "POINT", "LINESTRING", "POLYGON", "MULTIPOLYGON" or NULL \param verbose if TRUE a short report is shown on stderr \param rows on completion will contain the total number of exported rows \param err_msg on completion will contain an error message (if any) - - \sa dump_shapefile_ex \return 0 on failure, any other value on success */ SPATIALITE_DECLARE int dump_shapefile (sqlite3 * sqlite, char *table, char *column, char *shp_path, char *charset, char *geom_type, int verbose, int *rows, char *err_msg); -/** - Dumps a full geometry-table into an external Shapefile - - \param sqlite handle to current DB connection - \param table the name of the table to be exported - \param column the name of the geometry column - \param shp_path pathname of the Shapefile to be exported (no suffix) - \param charset a valid GNU ICONV charset to be used for DBF text strings - \param geom_type "POINT", "LINESTRING", "POLYGON", "MULTIPOLYGON" or NULL - \param verbose if TRUE a short report is shown on stderr - \param rows on completion will contain the total number of exported rows - \param colname_case one between GAIA_DBF_COLNAME_LOWERCASE, - GAIA_DBF_COLNAME_UPPERCASE or GAIA_DBF_COLNAME_CASE_IGNORE. - \param err_msg on completion will contain an error message (if any) - - \sa dump_shapefile - - \return 0 on failure, any other value on success - */ - SPATIALITE_DECLARE int dump_shapefile_ex (sqlite3 * sqlite, char *table, - char *column, char *shp_path, - char *charset, char *geom_type, - int verbose, int *rows, - int colcase_name, char *err_msg); - /** Loads an external Shapefile into a newly created table \param sqlite handle to current DB connection \param shp_path pathname of the Shapefile to be imported (no suffix) @@ -285,11 +224,11 @@ \param rows on completion will contain the total number of imported rows \param err_msg on completion will contain an error message (if any) \return 0 on failure, any other value on success - \sa load_shapefile_ex, load_shapefile_ex2, load_shapefile_ex3 + \sa load_shapefile_ex, load_shapefile_ex2 \note this function simply calls load_shapefile_ex by passing implicit gype="AUTO" and pk_column=NULL arguments */ SPATIALITE_DECLARE int load_shapefile (sqlite3 * sqlite, char *shp_path, @@ -322,11 +261,11 @@ \param rows on completion will contain the total number of imported rows \param err_msg on completion will contain an error message (if any) \return 0 on failure, any other value on success - \sa load_shapefile, load_shapefile_ex2, load_shapefile_ex3 + \sa load_shapefile, load_shapefile_ex2 \note the Shapefile format doesn't supports any distinction between LINESTRINGs and MULTILINESTRINGs, or between POLYGONs and MULTIPOLYGONs; as does not allows to clearly distinguish if the M-measure is required. \n So a first preliminary scan of the Shapefile is required in order to @@ -367,11 +306,11 @@ \param rows on completion will contain the total number of imported rows \param err_msg on completion will contain an error message (if any) \return 0 on failure, any other value on success - \sa load_shapefile, load_shapefile_ex, load_shapefile_ex3 + \sa load_shapefile, load_shapefile_ex \note the Shapefile format doesn't supports any distinction between LINESTRINGs and MULTILINESTRINGs, or between POLYGONs and MULTIPOLYGONs; as does not allows to clearly distinguish if the M-measure is required. \n So a first preliminary scan of the Shapefile is required in order to @@ -387,58 +326,10 @@ int coerce2d, int compressed, int verbose, int spatial_index, int text_date, int *rows, char *err_msg); -/** - Loads an external Shapefile into a newly created table - - \param sqlite handle to current DB connection - \param shp_path pathname of the Shapefile to be imported (no suffix) - \param table the name of the table to be created - \param charset a valid GNU ICONV charset to be used for DBF text strings - \param srid the SRID to be set for Geometries - \param geo_column the name of the geometry column - \param gtype expected to be one of: "LINESTRING", "LINESTRINGZ", - "LINESTRINGM", "LINESTRINGZM", "MULTILINESTRING", "MULTILINESTRINGZ", - "MULTILINESTRINGM", "MULTILINESTRINGZM", "POLYGON", "POLYGONZ", "POLYGONM", - "POLYGONZM", "MULTIPOLYGON", "MULTIPOLYGONZ", "MULTIPOLYGONM", - "MULTIPOLYGONZM" or "AUTO". - \param pk_column name of the Primary Key column; if NULL or mismatching - then "PK_UID" will be assumed by default. - \param coerce2d if TRUE any Geometry will be casted to 2D [XY] - \param compressed if TRUE compressed Geometries will be created - \param verbose if TRUE a short report is shown on stderr - \param spatial_index if TRUE an R*Tree Spatial Index will be created - \param text_dates is TRUE all DBF dates will be considered as TEXT - \param rows on completion will contain the total number of imported rows - \param colname_case one between GAIA_DBF_COLNAME_LOWERCASE, - GAIA_DBF_COLNAME_UPPERCASE or GAIA_DBF_COLNAME_CASE_IGNORE. - \param err_msg on completion will contain an error message (if any) - - \return 0 on failure, any other value on success - - \sa load_shapefile, load_shapefile_ex, load_shapefile_ex2 - - \note the Shapefile format doesn't supports any distinction between - LINESTRINGs and MULTILINESTRINGs, or between POLYGONs and MULTIPOLYGONs; - as does not allows to clearly distinguish if the M-measure is required. - \n So a first preliminary scan of the Shapefile is required in order to - correctly identify the actual payload (gtype = "AUTO", default case). - \n By explicitly specifying some expected geometry type this first scan - will be skipped at all thus introducing a noticeable performance gain. - \n Anyway, declaring a mismatching geometry type will surely cause a failure. - */ - SPATIALITE_DECLARE int load_shapefile_ex3 (sqlite3 * sqlite, char *shp_path, - char *table, char *charset, - int srid, char *geo_column, - char *gtype, char *pk_column, - int coerce2d, int compressed, - int verbose, int spatial_index, - int text_date, int *rows, - int colname_case, char *err_msg); - /** Loads an external DBF file into a newly created table \param sqlite handle to current DB connection \param dbf_path pathname of the DBF file to be imported @@ -446,11 +337,11 @@ \param charset a valid GNU ICONV charset to be used for DBF text strings \param verbose if TRUE a short report is shown on stderr \param rows on completion will contain the total number of actually exported rows \param err_msg on completion will contain an error message (if any) - \sa load_dbf_ex, load_dbf_ex2, load_dbf_ex3 + \sa load_dbf_ex, load_dbf_ex2 \note this function simply calls load_dbf_ex by passing an implicit pk_column=NULL argument \return 0 on failure, any other value on success @@ -470,11 +361,11 @@ \param charset a valid GNU ICONV charset to be used for DBF text strings \param verbose if TRUE a short report is shown on stderr \param rows on completion will contain the total number of actually exported rows \param err_msg on completion will contain an error message (if any) - \sa load_dbf, load_dbf_ex2, load_dbf_ex3 + \sa load_dbf, load_dbf_ex2 \return 0 on failure, any other value on success */ SPATIALITE_DECLARE int load_dbf_ex (sqlite3 * sqlite, char *dbf_path, char *table, char *pk_column, @@ -493,56 +384,30 @@ \param verbose if TRUE a short report is shown on stderr \param text_dates is TRUE all DBF dates will be considered as TEXT \param rows on completion will contain the total number of imported rows \param err_msg on completion will contain an error message (if any) - \sa load_dbf, load_dbf_ex, load_dbf_ex3 + \sa load_dbf, load_dbf_ex \return 0 on failure, any other value on success */ SPATIALITE_DECLARE int load_dbf_ex2 (sqlite3 * sqlite, char *dbf_path, char *table, char *pk_column, char *charset, int verbose, int text_date, int *rows, char *err_msg); -/** - Loads an external DBF file into a newly created table - - \param sqlite handle to current DB connection - \param dbf_path pathname of the DBF file to be imported - \param table the name of the table to be created - \param pk_column name of the Primary Key column; if NULL or mismatching - then "PK_UID" will be assumed by default. - \param charset a valid GNU ICONV charset to be used for DBF text strings - \param verbose if TRUE a short report is shown on stderr - \param text_dates is TRUE all DBF dates will be considered as TEXT - \param rows on completion will contain the total number of imported rows - \param colname_case one between GAIA_DBF_COLNAME_LOWERCASE, - GAIA_DBF_COLNAME_UPPERCASE or GAIA_DBF_COLNAME_CASE_IGNORE. - \param err_msg on completion will contain an error message (if any) - - \sa load_dbf, load_dbf_ex, load_dbf_ex2 - - \return 0 on failure, any other value on success - */ - SPATIALITE_DECLARE int load_dbf_ex3 (sqlite3 * sqlite, char *dbf_path, - char *table, char *pk_column, - char *charset, int verbose, - int text_date, int *rows, - int colname_case, char *err_msg); - /** Dumps a full table into an external DBF file \param sqlite handle to current DB connection \param table the name of the table to be exported \param dbf_path pathname of the DBF to be exported \param charset a valid GNU ICONV charset to be used for DBF text strings \param err_msg on completion will contain an error message (if any) - \sa dump_dbf_ex, dump_dbf_ex2 + \sa dump_dbf_ex \return 0 on failure, any other value on success */ SPATIALITE_DECLARE int dump_dbf (sqlite3 * sqlite, char *table, char *dbf_path, char *charset, @@ -556,39 +421,18 @@ \param dbf_path pathname of the DBF to be exported \param charset a valid GNU ICONV charset to be used for DBF text strings \param rows on completion will contain the total number of exported rows \param err_msg on completion will contain an error message (if any) - \sa dump_dbf, dump_dbf_ex2 + \sa dump_dbf \return 0 on failure, any other value on success */ SPATIALITE_DECLARE int dump_dbf_ex (sqlite3 * sqlite, char *table, char *dbf_path, char *charset, int *rows, char *err_msg); -/** - Dumps a full table into an external DBF file - - \param sqlite handle to current DB connection - \param table the name of the table to be exported - \param dbf_path pathname of the DBF to be exported - \param charset a valid GNU ICONV charset to be used for DBF text strings - \param rows on completion will contain the total number of exported rows - \param colname_case one between GAIA_DBF_COLNAME_LOWERCASE, - GAIA_DBF_COLNAME_UPPERCASE or GAIA_DBF_COLNAME_CASE_IGNORE. - \param err_msg on completion will contain an error message (if any) - - \sa dump_dbf, dump_dbf_ex - - \return 0 on failure, any other value on success - */ - SPATIALITE_DECLARE int dump_dbf_ex2 (sqlite3 * sqlite, char *table, - char *dbf_path, char *charset, - int *rows, int colname_case, - char *err_msg); - /** Loads an external spreadsheet (.xls) file into a newly created table \param sqlite handle to current DB connection \param path pathname of the spreadsheet file to be imported @@ -865,11 +709,11 @@ \param sqlite handle to current DB connection \param table name of the table to be cleaned \sa check_duplicated_rows, remove_duplicated_rows_ex - \note when two (or more) duplicated rows exist, only the first occurrence + \note when two (or more) duplicated rows exist, only the first occurence will be preserved, then deleting any further occurrence. */ SPATIALITE_DECLARE void remove_duplicated_rows (sqlite3 * sqlite, char *table); @@ -879,39 +723,19 @@ \param sqlite handle to current DB connection \param table name of the table to be cleaned \param removed on successful completion will contain the total count of removed duplicate rows - \sa check_duplicated_rows, remove_duplicated_rows_ex2 + \sa check_duplicated_rows, remove_duplicated_rows - \note when two (or more) duplicated rows exist, only the first occurrence + \note when two (or more) duplicated rows exist, only the first occurence will be preserved, then deleting any further occurrence. */ SPATIALITE_DECLARE void remove_duplicated_rows_ex (sqlite3 * sqlite, char *table, int *removed); -/** - Remove duplicated rows from a table - - \param sqlite handle to current DB connection - \param table name of the table to be cleaned - \param removed on successful completion will contain the total - count of removed duplicate rows - \param transaction boolena; if set to TRUE will internally handle - a SQL Transaction - - \sa check_duplicated_rows, remove_duplicated_rows - - \note when two (or more) duplicated rows exist, only the first occurrence - will be preserved, then deleting any further occurrence. - */ - SPATIALITE_DECLARE void remove_duplicated_rows_ex2 (sqlite3 * sqlite, - char *table, - int *removed, - int transaction); - /** Creates a derived table surely containing elementary Geometries \param sqlite handle to current DB connection \param inTable name of the input table @@ -944,11 +768,11 @@ \param outTable name of the output table to be created \param pKey name of the Primary Key column in the output table \param multiId name of the column identifying origins in the output table \param rows on completion will contain the total number of inserted rows - \sa elementary_geometries_ex2 + \sa elementary_geometries \note if the input table contains some kind of complex Geometry (MULTIPOINT, MULTILINESTRING, MULTIPOLYGON or GEOMETRYCOLLECTION), then many rows are inserted into the output table: each single row will contain the same attributes and an elementaty Geometry. @@ -960,40 +784,10 @@ char *geometry, char *outTable, char *pKey, char *multiId, int *rows); -/** - Creates a derived table surely containing elementary Geometries - - \param sqlite handle to current DB connection - \param inTable name of the input table - \param geometry name of the Geometry column - \param outTable name of the output table to be created - \param pKey name of the Primary Key column in the output table - \param multiId name of the column identifying origins in the output table - \param rows on completion will contain the total number of inserted rows - \param transaction boolena; if set to TRUE will internally handle - a SQL Transaction - - \sa elementary_geometries - - \note if the input table contains some kind of complex Geometry - (MULTIPOINT, MULTILINESTRING, MULTIPOLYGON or GEOMETRYCOLLECTION), - then many rows are inserted into the output table: each single - row will contain the same attributes and an elementaty Geometry. - All the rows created by expanding the same input row will expose - the same value in the "multiId" column. - */ - SPATIALITE_DECLARE void elementary_geometries_ex2 (sqlite3 * sqlite, - char *inTable, - char *geometry, - char *outTable, - char *pKey, - char *multiId, int *rows, - int transaction); - /** Dumps a full geometry-table into an external GeoJSON file \param sqlite handle to current DB connection \param table the name of the table to be exported @@ -1247,69 +1041,16 @@ \n an eventual Spatial Index will be dropped as well, and any row referring the selected table will be removed from the Metadata tables. \return 0 on failure, any other value on success - \sa gaiaDropTableEx2 + \sa gaiaDropTable */ SPATIALITE_DECLARE int gaiaDropTableEx (sqlite3 * sqlite, const char *prefix, const char *table); -/** - Drops a layer-table, removing any related dependency - - \param sqlite handle to current DB connection - \param prefix schema prefix identifying the target DB\n - "main" always identifies the main DB (primary, not Attached). - \param table name of the table to be removed - \param transaction boolena; if set to TRUE will internally handle - a SQL Transaction - - \note this function will drop a SpatialTable, SpatialView or VirtualShape being - properly registered within the Metadata tables. - \n an eventual Spatial Index will be dropped as well, and any row referring the - selected table will be removed from the Metadata tables. - - \return 0 on failure, any other value on success - - \sa gaiaDropTable - */ - SPATIALITE_DECLARE int gaiaDropTableEx2 (sqlite3 * sqlite, - const char *prefix, - const char *table, - int transaction); - -/** - Drops a layer-table, removing any related dependency - - \param sqlite handle to current DB connection - \param prefix schema prefix identifying the target DB\n - "main" always identifies the main DB (primary, not Attached). - \param table name of the table to be removed - \param transaction boolean; if set to TRUE will internally handle - a SQL Transaction - \param error_message: will point to a diagnostic error message - in case of failute - - \note this function will drop a SpatialTable, SpatialView or VirtualShape being - properly registered within the Metadata tables. - \n an eventual Spatial Index will be dropped as well, and any row referring the - selected table will be removed from the Metadata tables. - \n an eventual diagnostic message pointed by error_message must be - freed by calling sqlite3_free() - - \return 0 on failure, any other value on success - - \sa gaiaDropTable - */ - SPATIALITE_DECLARE int gaiaDropTableEx3 (sqlite3 * sqlite, - const char *prefix, - const char *table, - int transaction, - char **error_message); - /** Checks a Geometry Column for validity \param sqlite handle to current DB connection \param table name of the table @@ -1587,58 +1328,10 @@ const char *output_dir, int *not_repaired, char **err_msg); -/** - Will precisely cut the input dataset against polygonal blade(s) - and will consequently create and populate an output dataset - - \param db_handle handle to the current SQLite connection - \param cache a memory pointer returned by spatialite_alloc_connection() - \param in_db_prefix prefix of the database where the input table - is expected to be found. if NULL then "MAIN" will be assumed. - \param input_table name of the input table to be processed. - \param input_geometry name of the input table Geometry column; - it could be NULL and in this case the appropriate column name will - be automatically determind. anyway if the input table do contains - two or more Geometries passing a NULL geometry name will raise a - fatal error. - \param blade_db_prefix prefix of the database where the "blade" table - is expected to be found. if NULL then "MAIN" will be assumed. - \param blade_table name of the table expected to contain Polygons - or MultiPolygon Geometries acting as blades. - \param blade_geometry name of the "blade" table Geometry column; - it could be NULL and in this case the appropriate column name will - be automatically determind. anyway if the input table do contains - two or more Geometries passing a NULL geometry name will raise a - fatal error. - \param output_table name to assinged to the destination table intended - to permanently store all results. this table must non exists. - \param transaction boolean; if set to TRUE will internally handle - a SQL Transaction. - \param ram_tmp_store boolean: if set to TRUE all TEMPORARY tables - and indices will be created in RAM, otherwise in a file. - \param message pointer to a string buffer; if not NULL it will point - on completion an eventual error message. - - \return 0 on failure, any other value on success - - \note the message buffer if not NULL will point to a dymanic memory - allocation and is expected to be released by calling sqlite3_free() - */ - SPATIALITE_DECLARE int gaiaCutter (sqlite3 * db_handle, const void *cache, - const char *in_db_prefix, - const char *input_table, - const char *input_geom, - const char *blade_db_prefix, - const char *blade_table, - const char *blade_geom, - const char *output_table, - int transaction, int ram_tmp_store, - char **message); - SPATIALITE_DECLARE int gaiaGPKG2Spatialite (sqlite3 * handle_in, const char *gpkg_in_path, sqlite3 * handle_out, const char *splite_out_path); SPATIALITE_DECLARE int gaiaSpatialite2GPKG (sqlite3 * handle_in, Index: src/headers/spatialite/control_points.h ================================================================== --- src/headers/spatialite/control_points.h +++ src/headers/spatialite/control_points.h @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -63,46 +63,21 @@ #ifdef __cplusplus extern "C" { #endif -/** - Typedef for GaiaControPoints object (opaque, hidden) - - \sa GaiaControlPointsPtr - */ typedef struct opaque_control_points GaiaControlPoints; -/** - Typedef for GaiaControPointsPtr object pointer (opaque, hidden) - - \sa GaiaControlPoints - */ typedef GaiaControlPoints *GaiaControlPointsPtr; - -/** - Typedef for GaiaPolynomialCoeffs object (opaque, hidden) - - \sa GaiaPolynomialCoeffsPtr - */ - typedef struct priv_polynomial_coeffs GaiaPolynomialCoeffs; -/** - Typedef for GaiaPolynomialCoeffsPtr object pointer (opaque, hidden) - - \sa GaiaPolynomialCoeffs - */ - typedef GaiaPolynomialCoeffs *GaiaPolynomialCoeffsPtr; - /* function prototypes */ /** Creates a Control Points container (opaque object) \param allocation_incr how many Control Points should be allocated every time that necessity arises to increment the internal storage \param has3d true if the Control Points are all expected to be 3D - \param order polynomial order: 1 or 2 or 3 \param tps true if the solution method must be Thin Plate Spline \return the handle of the container object, or NULL on failure \sa gaiaFreeControlPoints, gaiaAddControlPoint3D, gaiaAddControlPoint2D, @@ -112,11 +87,10 @@ isn't any longer used. */ GAIACP_DECLARE GaiaControlPointsPtr gaiaCreateControlPoints (int allocation_incr, int has3d, - int order, int tps); /** Destroys a Control Points container (opaque object) @@ -137,11 +111,11 @@ \param z0 Z coordinate of the first Point. \param x1 X coordinate of the second Point. \param y1 Y coordinate of the second Point. \param z1 Z coordinate of the second Point. - \return 0 on failure: any other different value on success. + \return true on succes, false on failure \sa gaiaCreateControlPoints, gaiaAddControlPoint2D */ GAIACP_DECLARE int gaiaAddControlPoint3D (GaiaControlPointsPtr cp_handle, double x0, double y0, double z0, @@ -155,11 +129,11 @@ \param x0 X coordinate of the first Point. \param y0 Y coordinate of the first Point. \param x1 X coordinate of the second Point. \param y1 Y coordinate of the second Point. - \return 0 on failure: any other different value on success. + \return true on succes, false on failure \sa gaiaCreateControlPoints, gaiaAddControlPoint3D */ GAIACP_DECLARE int gaiaAddControlPoint2D (GaiaControlPointsPtr cp_handle, double x0, double y0, double x1, @@ -168,92 +142,18 @@ /** Resolves a Control Point set by computing an Affine Transform Matrix \param cp_handle the handle identifying the container object (returned by a previous call to gaiaCreateControlPoints). - \param blob on completion this variable will contain a BLOB-encoded - Polynomial coeffs object - \param blob_sz on completion this variable will contain the BLOB's size - (in bytes) + + \return true on succes, false on failure - \return 0 on failure: any other different value on success. - - \sa gaiaCreateControlPoints, gaiaPolynomialIsValid, gaiaPolynomialAsText, - gaiaPolynomialTransformGeometry + \sa gaiaCreateControlPoints */ - GAIACP_DECLARE int gaiaCreatePolynomialCoeffs (GaiaControlPointsPtr - cp_handle, - unsigned char **blob, - int *blob_sz); - -/** - Testing a BLOB-Polynomial for validity - \param blob pointer to a BLOB-encoded Polynomial coeffs object - \param blob_sz BLOB's size (in bytes) - - \return TRUE if the BLOB really is of the BLOB-Polynomial type; FALSE if not. - - \sa gaiaCreatePolynomialCoeffs, gaiaPolynomialAsText - */ - GAIACP_DECLARE int gaiaPolynomialIsValid (const unsigned char *blob, - int blob_sz); - -/** - Printing a textual represention from a BLOB-Matrix - \param blob pointer to a BLOB-encoded Polynomial coeffs object - \param blob_sz BLOB's size (in bytes) - - \return a text string; NULL on failure. - - \sa gaiaCreateControlPoints, gaiaPolynomialIsValid, - gaiaPolynomialTransformGeometry - - \note you are responsible to destroy (before or after) any text - string returned by this function by calling sqlite3_free(). - */ - GAIACP_DECLARE char *gaiaPolynomialAsText (const unsigned char *blob, - int blob_sz); - -/** - Transforming a Geometry accordingly to an Affine Transform Matrix - \param geom the input Geometry - \param blob pointer to a BLOB-encoded Polynomial coeffs object - \param blob_sz BLOB's size (in bytes) - - \return 0 pointer to the transformed Geometry or NULL on failure. - - \sa gaiaCreateControlPoints, gaiaPolynomialIsValid, - gaiaPolynomialAsText - - \note you are responsible to destroy (before or after) any Geometry - returned by this function. - */ - GAIACP_DECLARE gaiaGeomCollPtr - gaiaPolynomialTransformGeometry (gaiaGeomCollPtr geom, - const unsigned char *blob, - int blob_sz); - -/** - Converts a Polynomial coeffs object into an Affine Transsform Matrix - - \param iblob pointer to a BLOB-encoded Polynomial coeffs object - \param iblob_sz BLOB's size (in bytes) - \param oblob on completion this variable will contain a BLOB-encoded - Affine Transform Matrix object - \param oblob_sz on completion this variable will contain the BLOB's size - (in bytes) - - \return 0 on failure: any other different value on success. - - \sa gaiaCreateControlPoints, gaiaPolynomialIsValid, gaiaPolynomialAsText, - gaiaPolynomialTransformGeometry, gaiaPolynomialToMatrix - */ - GAIACP_DECLARE int gaiaPolynomialToMatrix (const unsigned char *iblob, - int iblob_sz, - unsigned char **oblob, - int *oblob_sz); + GAIACP_DECLARE int gaiaAffineFromControlPoints (GaiaControlPointsPtr + cp_handle); #ifdef __cplusplus } #endif #endif /* _GAIACP_H */ Index: src/headers/spatialite/debug.h ================================================================== --- src/headers/spatialite/debug.h +++ src/headers/spatialite/debug.h @@ -1,9 +1,9 @@ /* debug.h -- abstract defs for standard output functions - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012-2013 the Initial Developer. All Rights Reserved. Contributor(s): Pepijn Van Eeckhoudt DELETED src/headers/spatialite/gaia_network.h Index: src/headers/spatialite/gaia_network.h ================================================================== --- src/headers/spatialite/gaia_network.h +++ src/headers/spatialite/gaia_network.h @@ -1,589 +0,0 @@ -/* - gaia_network.h -- Gaia common support for Topology-Network - - version 4.3, 2015 August 11 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - - -/** - \file gaia_network.h - - Topology-Network handling functions and constants - */ - -#ifndef DOXYGEN_SHOULD_SKIP_THIS -/* stdio.h included for FILE objects. */ -#include -#ifdef DLL_EXPORT -#define GAIANET_DECLARE __declspec(dllexport) -#else -#define GAIANET_DECLARE extern -#endif -#endif - -#ifndef _GAIANET_H -#ifndef DOXYGEN_SHOULD_SKIP_THIS -#define _GAIANET_H -#endif - -#ifdef __cplusplus -extern "C" -{ -#endif - -/** - Typedef for Topology-Network Accessor Object (opaque, hidden) - - \sa GaiaNetworkAccessorPtr - */ - typedef struct gaia_network_accessor GaiaNetworkAccessor; -/** - Typedef for Network Accessor Object pointer (opaque, hidden) - - \sa GaiaNetworkAccessor - */ - typedef struct gaia_network_accessor *GaiaNetworkAccessorPtr; - -/** - returns the last Topology-Network exception (if any) - - \param network_name unique name identifying the Topology-Network. - - \return pointer to the last Topology-Network error message: may be NULL if - no Topology error is currently pending. - */ - GAIANET_DECLARE const char *gaiaNetworkGetLastException (const char - *network_name); - -/** - creates a new Topology-Network and all related DB objects - - \param handle pointer to the current DB connection. - \param network_name unique name identifying the Topology-Network. - \param spatial boolean: if TRUE this Topology-Network will be assumed - to be of the Spatial type, otherwise a Logical Network will be assumed. - \param srid a spatial reference identifier (only applies to Spatial - Networks). - \param has_z boolean: if TRUE this Topology-Network supports 3D (XYZ) - (only applies to Spatial Networks). - \param allow_coincident boolean: if TRUE coincident Nodes will be - tolerated, otherwise a coincident Node condition will raise an exception. - This argument only applies to Spatial Networks and is meaningless for - Logical Networks. - - \return 0 on failure: any other value on success. - - \sa gaiaNetworkDrop - */ - GAIANET_DECLARE int gaiaNetworkCreate (sqlite3 * handle, - const char *network_name, - int spatial, int srid, int has_z, - int allow_coincident); - -/** - completely drops an already existing Topology-Network and removes all related DB objects - - \param handle pointer to the current DB connection. - \param network_name unique name identifying the Topology-Network. - - \return 0 on failure: any other value on success. - - \sa gaiaNetworkCreate - */ - GAIANET_DECLARE int gaiaNetworkDrop (sqlite3 * handle, - const char *network_name); - -/** - creates an opaque Topology-Network Accessor object starting from its DB configuration - - \param handle pointer to the current DB connection. - \param cache pointer to the opaque Cache Object supporting the DB connection - \param network_name unique name identifying the Topology-Network. - - \return the pointer to newly created Topology-Network Accessor Object: - NULL on failure. - - \sa gaiaNetworkCreate, gaiaNetworkDestroy, gaiaNetworkFromCache, - gaiaGetNetwork - - \note you are responsible to destroy (before or after) any allocated - Topology-Network Accessor Object. The Topology-Network Accessor once - created will be preserved within the internal connection cache for - future references. - */ - GAIANET_DECLARE GaiaNetworkAccessorPtr gaiaNetworkFromDBMS (sqlite3 * - handle, - const void - *cache, - const char - *network_name); - -/** - retrieves a Topology configuration from DB - - \param handle pointer to the current DB connection. - \param cache pointer to the opaque Cache Object supporting the DB connection - \param net_name unique name identifying the Topology-Network. - \param network_name on completion will point to the real Topology-Network name. - \param spatial on completion will report if the Topology-Network is of - the Spatial or Logical type. - \param srid on completion will contain the Topology-Network SRID. - \param has_z on completion will report if the Topology-Network is of the 3D type. - \param allow_coincident on completion will report if the Topology-Network - tolerates a Coindident Nodes condition without raising an exception. - - \return 1 on success: NULL on failure. - - \sa gaiaNetworkCreate, gaiaNetworkDestroy, gaiaNetworkFromCache, - gaiaGetNetwork - */ - GAIANET_DECLARE int gaiaReadNetworkFromDBMS (sqlite3 * - handle, - const char - *net_name, - char **network_name, - int *spatial, int *srid, - int *has_z, - int *allow_coincident); - -/** - retrieves an already defined opaque Topology-Network Accessor object from the - internal connection cache - - \param cache pointer to the opaque Cache Object supporting the DB connection - \param network_name unique name identifying the Topology-Network. - - \return pointer to an already existing Topology-Network Accessor Object: NULL on failure. - - \sa gaiaNetworkCreate, gaiaNetworkDestroy, gaiaNetworkFromDBMS, - gaiaGetNetwork - */ - GAIANET_DECLARE GaiaNetworkAccessorPtr gaiaNetworkFromCache (const void - *cache, - const char - *network_name); - -/** - will attempt to return a reference to a Topology-Network Accessor object - - \param handle pointer to the current DB connection. - \param cache pointer to the opaque Cache Object supporting the DB connection - \param network_name unique name identifying the Topology-Network. - - \return pointer to Topology-Network Accessor Object: NULL on failure. - - \sa gaiaNetworkCreate, gaiaNetworkDestroy, gaiaNetworkFromCache, - gaiaNetworkFromDBMS - - \note if a corresponding Topology-Network Accessor Object is already defined - will return a pointer to such Objet. Otherwise an attempt will be made - in order to create a new Topology-Network Accessor object starting from - its DB configuration. - */ - GAIANET_DECLARE GaiaNetworkAccessorPtr gaiaGetNetwork (sqlite3 * - handle, - const void - *cache, - const char - *network_name); - -/** - destroys a Topology-Network Accessor object and any related memory allocation - - \param ptr pointer to the Topology-Network Accessor Object to be destroyed. - - \sa gaiaNetworkFromDBMS - */ - GAIANET_DECLARE void gaiaNetworkDestroy (GaiaNetworkAccessorPtr ptr); - -/** - Adds an isolated node into the Topology-Network - - \param ptr pointer to the Topology-Network Accessor Object. - \param pt pointer to the Node Geometry. - - \return the ID of the inserted Node; a negative number on failure. - - \sa gaiaNetworkFromDBMS, gaiaMoveIsoNetNode, gaiaRemIsoNetNode, - gaiaAddLink - */ - GAIANET_DECLARE sqlite3_int64 gaiaAddIsoNetNode (GaiaNetworkAccessorPtr - ptr, gaiaPointPtr pt); - -/** - Moves an isolated node in a Topology-Network from one point to another - - \param ptr pointer to the Topology-Network Accessor Object. - \param node the unique identifier of node. - \param pt pointer to the Node Geometry. - - \return 1 on success; 0 on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddIsoNetNode, gaiaRemIsoNetNode - */ - GAIANET_DECLARE int gaiaMoveIsoNetNode (GaiaNetworkAccessorPtr ptr, - sqlite3_int64 node, - gaiaPointPtr pt); - -/** - Removes an isolated node from a Topology-Network - - \param ptr pointer to the Topology-Network Accessor Object. - \param node the unique identifier of node. - - \return 1 on success; 0 on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddIsoNetNode, gaiaMoveIsoNetNode - */ - GAIANET_DECLARE int gaiaRemIsoNetNode (GaiaNetworkAccessorPtr ptr, - sqlite3_int64 node); - -/** - Adds a link into the Topology-Network - - \param ptr pointer to the Topology-Network Accessor Object. - \param start_node the Start Node's unique identifier. - \param end_node the End Node unique identifier. - \param ln pointer to the Link Geometry. - - \return the ID of the inserted Link; a negative number on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddIsoNetNode, gaiaChangeLinkGeom, - gaiaRemoveLink, gaiaNewLogLinkSplit, gaiaModLogLinkSplit, - gaiaNewGeoLinkSplit, gaiaModGeoLinkSplit, gaiaNewLinkHeal, - gaiaModLinkHeal - */ - GAIANET_DECLARE sqlite3_int64 gaiaAddLink (GaiaNetworkAccessorPtr ptr, - sqlite3_int64 start_node, - sqlite3_int64 end_node, - gaiaLinestringPtr ln); - -/** - Changes the shape of a Link without affecting the Topology-Network structure - - \param ptr pointer to the Topology-Network Accessor Object. - \param link_id the Link unique identifier. - \param ln pointer to the Link Geometry. - - \return 1 on success; 0 on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddLink, gaiaRemoveLink - */ - GAIANET_DECLARE int gaiaChangeLinkGeom (GaiaNetworkAccessorPtr ptr, - sqlite3_int64 link_id, - gaiaLinestringPtr ln); - -/** - Removes a Link from a Topology-Network - - \param ptr pointer to the Topology-Network Accessor Object. - \param link the unique identifier of link. - - \return 1 on success; 0 on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddLink - */ - GAIANET_DECLARE int gaiaRemoveLink (GaiaNetworkAccessorPtr ptr, - sqlite3_int64 link); - -/** - Split a logical link, replacing it with two new links. - - \param ptr pointer to the Topology-Network Accessor Object. - \param link the unique identifier of the link to be split. - - \return the ID of the inserted Node; a negative number on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddLink, gaiaModLogLinkSplit, - gaiaNewGeoLinkSplit, gaiaModGeoLinkSplit, gaiaNewLinkHeal, - gaiaModLinkHeal - */ - GAIANET_DECLARE sqlite3_int64 gaiaNewLogLinkSplit (GaiaNetworkAccessorPtr - ptr, sqlite3_int64 link); - -/** - Split a logical link, modifying the original link and adding a new one. - - \param ptr pointer to the Topology-Network Accessor Object. - \param link the unique identifier of the link to be split. - - \return the ID of the inserted Node; a negative number on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddLink, gaiaNewLogLinkSplit, - gaiaNewGeoLinkSplit, gaiaModGeoLinkSplit, gaiaNewLinkHeal, - gaiaModLinkHeal - */ - GAIANET_DECLARE sqlite3_int64 gaiaModLogLinkSplit (GaiaNetworkAccessorPtr - ptr, sqlite3_int64 link); - -/** - Split a spatial link by a node, replacing it with two new links. - - \param ptr pointer to the Topology-Network Accessor Object. - \param link the unique identifier of the link to be split. - \param pt pointer to the Node Geometry. - - \return the ID of the inserted Node; a negative number on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddLink, gaiaNewLogLinkSplit, - gaiaModLogLinkSplit, gaiaModGeoLinkSplit, gaiaNewLinkHeal, - gaiaModLinkHeal - */ - GAIANET_DECLARE sqlite3_int64 gaiaNewGeoLinkSplit (GaiaNetworkAccessorPtr - ptr, - sqlite3_int64 link, - gaiaPointPtr pt); - -/** - Split a spatial link by a node, modifying the original link and adding - a new one. - - \param ptr pointer to the Topology-Network Accessor Object. - \param link the unique identifier of the link to be split. - \param pt pointer to the Node Geometry. - - \return the ID of the inserted Node; a negative number on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddLink, gaiaNewLogLinkSplit, - gaiaModLogLinkSplit, gaiaNewGeoLinkSplit, gaiaNewLinkHeal, - gaiaModLinkHeal - */ - GAIANET_DECLARE sqlite3_int64 gaiaModGeoLinkSplit (GaiaNetworkAccessorPtr - ptr, - sqlite3_int64 link, - gaiaPointPtr pt); - -/** - Heal two links by deleting the node connecting them, deleting both links, - and replacing them with a new link whose direction is the same as the - first link provided. - - \param ptr pointer to the Topology-Network Accessor Object. - \param link the unique identifier of the first link to be healed. - \param anotherlink the unique identifier of the second link to be healed. - - \return the ID of the removed Node; a negative number on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddLink, gaiaNewLogLinkSplit, - gaiaModLogLinkSplit, gaiaNewGeoLinkSplit, gaiaModGeoLinkSplit, - gaiaModLinkHeal - */ - GAIANET_DECLARE sqlite3_int64 gaiaNewLinkHeal (GaiaNetworkAccessorPtr - ptr, sqlite3_int64 link, - sqlite3_int64 anotherlink); - -/** - Heal two links by deleting the node connecting them, modfying the first - link provided, and deleting the second link. - * - \param ptr pointer to the Topology-Network Accessor Object. - \param link the unique identifier of the first link to be healed. - \param anotherlink the unique identifier of the second link to be healed. - - \return the ID of the removed Node; a negative number on failure. - - \sa gaiaNetworkFromDBMS, gaiaAddLink, gaiaNewLogLinkSplit, - gaiaModLogLinkSplit, gaiaNewGeoLinkSplit, gaiaModGeoLinkSplit, - gaiaNewLinkHeal - */ - GAIANET_DECLARE sqlite3_int64 gaiaModLinkHeal (GaiaNetworkAccessorPtr - ptr, sqlite3_int64 link, - sqlite3_int64 anotherlink); - -/** - Creates a temporary table containing a validation report for a given - Logical TopoNet. - - \param ptr pointer to the Topology Accessor Object. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIANET_DECLARE int gaiaValidLogicalNet (GaiaNetworkAccessorPtr ptr); - -/** - Creates a temporary table containing a validation report for a given - Spatial TopoNet. - - \param ptr pointer to the Topology Accessor Object. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIANET_DECLARE int gaiaValidSpatialNet (GaiaNetworkAccessorPtr ptr); - -/** - Find the ID of a NetNode at a Point location - - \param ptr pointer to the Topology-Network Accessor Object. - \param pt pointer to the Point Geometry. - \param tolerance approximation factor. - - \return the ID of a NetNode; -1 on failure. - - \sa gaiaNetworkFromDBMS - */ - GAIANET_DECLARE sqlite3_int64 - gaiaGetNetNodeByPoint (GaiaNetworkAccessorPtr ptr, gaiaPointPtr pt, - double tolerance); - -/** - Find the ID of a Link at a Point location - - \param ptr pointer to the Topology-Network Accessor Object. - \param pt pointer to the Point Geometry. - \param tolerance approximation factor. - - \return the ID of a Link; -1 on failure. - - \sa gaiaNetworkFromDBMS - */ - GAIANET_DECLARE sqlite3_int64 - gaiaGetLinkByPoint (GaiaNetworkAccessorPtr ptr, gaiaPointPtr pt, - double tolerance); - -/** - Populates a Network by importing a whole GeoTable - - \param ptr pointer to the Network Accessor Object. - \param db-prefix prefix of the DB containing the input GeoTable. - If NULL the "main" DB will be intended by default. - \param table name of the input GeoTable. - \param column name of the input Geometry Column. - Could be NULL is the input table has just a single Geometry Column. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaNetworkFromDBMS - */ - GAIANET_DECLARE int - gaiaTopoNet_FromGeoTable (GaiaNetworkAccessorPtr ptr, - const char *db_prefix, const char *table, - const char *column); - -/** - Return a Point geometry (seed) identifying a Network Link - - \param ptr pointer to the Network Accessor Object. - \param link the unique identifier of the link. - - \return pointer to Geomtry (point); NULL on failure. - - \sa gaiaNetworkFromDBMS - */ - GAIANET_DECLARE gaiaGeomCollPtr - gaiaGetLinkSeed (GaiaNetworkAccessorPtr ptr, sqlite3_int64 link); - -/** - Will update all Seeds for a Topology-Network - - \param ptr pointer to the Network Accessor Object. - \param mode if set to 0 a full update of all Seeds will be performed, - otherwise an incremental update will happen. - - \return 1 on success; 0 on failure. - - \sa gaiaNetworkFromDBMS - */ - GAIANET_DECLARE int - gaiaTopoNetUpdateSeeds (GaiaNetworkAccessorPtr ptr, int mode); - -/** - Extracts a Simple Features Table out from a Network by matching - Network Seeds to a given reference Table. - - \param ptr pointer to the Network Accessor Object. - \param db-prefix prefix of the DB containing the reference GeoTable. - If NULL the "main" DB will be intended by default. - \param ref_table name of the reference GeoTable. - \param ref_column name of the reference Geometry Column. - Could be NULL is the reference table has just a single Geometry Column. - \param out_table name of the output table to be created and populated. - \param with_spatial_index boolean flag: if set to TRUE (non ZERO) a Spatial - Index supporting the output table will be created. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIANET_DECLARE int - gaiaTopoNet_ToGeoTable (GaiaNetworkAccessorPtr ptr, - const char *db_prefix, const char *ref_table, - const char *ref_column, const char *out_table, - int with_spatial_index); - -/** - Extracts a simplified/generalized Simple Features Table out from a Network - by matching Network Seeds to a given reference Table. - - \param ptr pointer to the Network Accessor Object. - \param db-prefix prefix of the DB containing the reference GeoTable. - If NULL the "main" DB will be intended by default. - \param ref_table name of the reference GeoTable. - \param ref_column name of the reference Geometry Column. - Could be NULL is the reference table has just a single Geometry Column. - \param out_table name of the output table to be created and populated. - \param tolerance approximation radius required by the Douglar-Peucker - simplification algorithm. - \param with_spatial_index boolean flag: if set to TRUE (non ZERO) a Spatial - Index supporting the output table will be created. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIANET_DECLARE int - gaiaTopoNet_ToGeoTableGeneralize (GaiaNetworkAccessorPtr ptr, - const char *db_prefix, - const char *ref_table, - const char *ref_column, - const char *out_table, - double tolerance, - int with_spatial_index); - -#ifdef __cplusplus -} -#endif - - -#endif /* _GAIANET_H */ DELETED src/headers/spatialite/gaia_topology.h Index: src/headers/spatialite/gaia_topology.h ================================================================== --- src/headers/spatialite/gaia_topology.h +++ src/headers/spatialite/gaia_topology.h @@ -1,1119 +0,0 @@ -/* - gaia_topology.h -- Gaia common support for Topology - - version 4.3, 2015 July 15 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - - -/** - \file gaia_topology.h - - Topology handling functions and constants - */ - -#ifndef DOXYGEN_SHOULD_SKIP_THIS -/* stdio.h included for FILE objects. */ -#include -#ifdef DLL_EXPORT -#define GAIATOPO_DECLARE __declspec(dllexport) -#else -#define GAIATOPO_DECLARE extern -#endif -#endif - -#ifndef _GAIATOPO_H -#ifndef DOXYGEN_SHOULD_SKIP_THIS -#define _GAIATOPO_H -#endif - -#ifdef __cplusplus -extern "C" -{ -#endif - -/** - Typedef for Topology Accessor Object (opaque, hidden) - - \sa GaiaTopologyAccessorPtr - */ - typedef struct gaia_topology_accessor GaiaTopologyAccessor; -/** - Typedef for Topology Accessor Object pointer (opaque, hidden) - - \sa GaiaTopologyAccessor - */ - typedef struct gaia_topology_accessor *GaiaTopologyAccessorPtr; - -/** - returns the last Topology exception (if any) - - \param topo_name unique name identifying the Topology. - - \return pointer to the last Topology error message: may be NULL if - no Topology error is currently pending. - */ - GAIATOPO_DECLARE const char *gaiaTopologyGetLastException (const char - *topo_name); - -/** - creates a new Topology and all related DB objects - - \param handle pointer to the current DB connection. - \param topo_name unique name identifying the Topology. - \param srid a spatial reference identifier. - \param tolerance a tolerance factor measuren in the same units defined - by the associated SRID. - \param has_z boolean: if TRUE this Topology supports 3D (XYZ). - - \return 0 on failure: any other value on success. - - \sa gaiaTopologyDrop - */ - GAIATOPO_DECLARE int gaiaTopologyCreate (sqlite3 * handle, - const char *topo_name, int srid, - double tolerance, int has_z); - -/** - completely drops an already existing Topology and removes all related DB objects - - \param handle pointer to the current DB connection. - \param topo_name unique name identifying the Topology. - - \return 0 on failure: any other value on success. - - \sa gaiaTopologyCreate - */ - GAIATOPO_DECLARE int gaiaTopologyDrop (sqlite3 * handle, - const char *topo_name); - -/** - creates an opaque Topology Accessor object starting from its DB configuration - - \param handle pointer to the current DB connection. - \param cache pointer to the opaque Cache Object supporting the DB connection - \param topo_name unique name identifying the Topology. - - \return the pointer to newly created Topology Accessor Object: NULL on failure. - - \sa gaiaTopologyCreate, gaiaTopologyDestroy, gaiaTopologyFromCache, - gaiaGetTopology - - \note you are responsible to destroy (before or after) any allocated - Topology Accessor Object. The Topology Accessor once created will be - preserved within the internal connection cache for future references. - */ - GAIATOPO_DECLARE GaiaTopologyAccessorPtr gaiaTopologyFromDBMS (sqlite3 * - handle, - const void - *cache, - const char - *topo_name); - -/** - retrieves a Topology configuration from DB - - \param handle pointer to the current DB connection. - \param cache pointer to the opaque Cache Object supporting the DB connection - \param topo_name unique name identifying the Topology. - \param topology_name on completion will point to the real Topology name. - \param srid on completion will contain the Topology SRID. - \param tolerance on completion will contain the tolerance argument. - \param has_z on completion will report if the Topology is of the 3D type. - - \return 1 on success: NULL on failure. - - \sa gaiaTopologyCreate, gaiaTopologyDestroy, gaiaTopologyFromCache, - gaiaGetTopology - */ - GAIATOPO_DECLARE int gaiaReadTopologyFromDBMS (sqlite3 * - handle, - const char - *topo_name, - char **topology_name, - int *srid, - double *tolerance, - int *has_z); - -/** - retrieves an already defined opaque Topology Accessor object from the - internal connection cache - - \param cache pointer to the opaque Cache Object supporting the DB connection - \param topo_name unique name identifying the Topology. - - \return pointer to an already existing Topology Accessor Object: NULL on failure. - - \sa gaiaTopologyCreate, gaiaTopologyDestroy, gaiaTopologyFromDBMS, - gaiaGetTopology - */ - GAIATOPO_DECLARE GaiaTopologyAccessorPtr gaiaTopologyFromCache (const void - *cache, - const char - *topo_name); - -/** - will attempt to return a reference to a Topology Accessor object - - \param handle pointer to the current DB connection. - \param cache pointer to the opaque Cache Object supporting the DB connection - \param topo_name unique name identifying the Topology. - - \return pointer to Topology Accessor Object: NULL on failure. - - \sa gaiaTopologyCreate, gaiaTopologyDestroy, gaiaTopologyFromCache, - gaiaTopologyFromDBMS - - \note if a corresponding Topology Accessor Object is already defined - will return a pointer to such Objet. Otherwise an attempt will be made - in order to create a new Topology Accessor object starting from its DB - configuration. - */ - GAIATOPO_DECLARE GaiaTopologyAccessorPtr gaiaGetTopology (sqlite3 * - handle, - const void - *cache, - const char - *topo_name); - -/** - destroys a Topology Accessor object and any related memory allocation - - \param ptr pointer to the Topology Accessor Object to be destroyed. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE void gaiaTopologyDestroy (GaiaTopologyAccessorPtr ptr); - -/** - Adds an isolated node into the Topology - - \param ptr pointer to the Topology Accessor Object. - \param face the unique identifier of containing face or -1 for "unknown". - \param pt pointer to the Node Geometry. - \param skip_checks boolean: if TRUE skips consistency checks - (coincident nodes, crossing edges, actual face containement) - - \return the ID of the inserted Node; a negative number on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaAddIsoNode (GaiaTopologyAccessorPtr - ptr, sqlite3_int64 face, - gaiaPointPtr pt, - int skip_checks); - -/** - Moves an isolated node in a Topology from one point to another - - \param ptr pointer to the Topology Accessor Object. - \param node the unique identifier of node. - \param pt pointer to the Node Geometry. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int gaiaMoveIsoNode (GaiaTopologyAccessorPtr ptr, - sqlite3_int64 node, gaiaPointPtr pt); - -/** - Removes an isolated node from a Topology - - \param ptr pointer to the Topology Accessor Object. - \param node the unique identifier of node. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int gaiaRemIsoNode (GaiaTopologyAccessorPtr ptr, - sqlite3_int64 node); - -/** - Adds an isolated edge into the Topology - - \param ptr pointer to the Topology Accessor Object. - \param start_node the Start Node's unique identifier. - \param end_node the End Node unique identifier. - \param ln pointer to the Edge Geometry. - - \return the ID of the inserted Edge; a negative number on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaAddIsoEdge (GaiaTopologyAccessorPtr - ptr, - sqlite3_int64 start_node, - sqlite3_int64 end_node, - gaiaLinestringPtr ln); - -/** - Removes an isolated edge from a Topology - - \param ptr pointer to the Topology Accessor Object. - \param edge the unique identifier of edge. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int gaiaRemIsoEdge (GaiaTopologyAccessorPtr ptr, - sqlite3_int64 edge); - -/** - Changes the shape of an Edge without affecting the Topology structure - - \param ptr pointer to the Topology Accessor Object. - \param edge_id the Edge unique identifier. - \param ln pointer to the Edge Geometry. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int gaiaChangeEdgeGeom (GaiaTopologyAccessorPtr ptr, - sqlite3_int64 edge_id, - gaiaLinestringPtr ln); - -/** - Split an edge by a node, modifying the original edge and adding a new one. - - \param ptr pointer to the Topology Accessor Object. - \param edge the unique identifier of the edge to be split. - \param pt pointer to the Node Geometry. - \param skip_checks boolean: if TRUE skips consistency checks - (coincident node, point not on edge...) - - \return the ID of the inserted Node; a negative number on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaModEdgeSplit (GaiaTopologyAccessorPtr - ptr, sqlite3_int64 edge, - gaiaPointPtr pt, - int skip_checks); - -/** - Split an edge by a node, replacing it with two new edges. - - \param ptr pointer to the Topology Accessor Object. - \param edge the unique identifier of the edge to be split. - \param pt pointer to the Node Geometry. - \param skip_checks boolean: if TRUE skips consistency checks - (coincident node, point not on edge...) - - \return the ID of the inserted Node; a negative number on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaNewEdgesSplit (GaiaTopologyAccessorPtr - ptr, sqlite3_int64 edge, - gaiaPointPtr pt, - int skip_checks); - -/** - Adds a new edge possibly splitting and modifying a face. - - \param ptr pointer to the Topology Accessor Object. - \param start_node the unique identifier of the starting node. - \param end_node the unique identifier of the ending node. - \param ln pointer to the Edge Geometry. - \param skip_checks boolean: if TRUE skips consistency checks - (curve being simple and valid, start/end nodes, consistency - actual face containement) - - \return the ID of the inserted Edge; a negative number on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaAddEdgeModFace (GaiaTopologyAccessorPtr - ptr, - sqlite3_int64 - start_node, - sqlite3_int64 end_node, - gaiaLinestringPtr ln, - int skip_checks); - -/** - Adds a new edge possibly splitting a face (replacing with two new faces). - - \param ptr pointer to the Topology Accessor Object. - \param start_node the unique identifier of the starting node. - \param end_node the unique identifier of the ending node. - \param ln pointer to the Edge Geometry. - \param skip_checks boolean: if TRUE skips consistency checks - (curve being simple and valid, start/end nodes, consistency - actual face containement) - - \return the ID of the inserted Edge; a negative number on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 - gaiaAddEdgeNewFaces (GaiaTopologyAccessorPtr ptr, - sqlite3_int64 start_node, sqlite3_int64 end_node, - gaiaLinestringPtr ln, int skip_checks); - -/** - Removes an edge, and if the removed edge separated two faces, delete one - of them and modify the other to take the space of both. - - \param ptr pointer to the Topology Accessor Object. - \param edge_id the unique identifier of the edge to be removed. - - \return the ID of face that takes up the space previously occupied - by the removed edge; a negative number on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaRemEdgeModFace (GaiaTopologyAccessorPtr - ptr, - sqlite3_int64 edge_id); - -/** - Removes an edge, and if the removed edge separated two faces, delete the - original faces and replace them with a new face. - - \param ptr pointer to the Topology Accessor Object. - \param edge_id the unique identifier of the edge to be removed. - - \return the ID of the created face; a negative number on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaRemEdgeNewFace (GaiaTopologyAccessorPtr - ptr, - sqlite3_int64 edge_id); - -/** - Heal two edges by removing the node connecting them, modifying the - first edge and removing the second edge - - \param ptr pointer to the Topology Accessor Object. - \param edge_id1 the unique identifier of the first edge to be healed. - \param edge_id2 the unique identifier of the second edge to be healed. - - \return the ID of the removed node. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaModEdgeHeal (GaiaTopologyAccessorPtr - ptr, - sqlite3_int64 edge_id1, - sqlite3_int64 edge_id2); - -/** - Heal two edges by removing the node connecting them, deleting both edges - and replacing them with an edge whose orientation is the same of the - first edge provided - - \param ptr pointer to the Topology Accessor Object. - \param edge_id1 the unique identifier of the first edge to be healed. - \param edge_id2 the unique identifier of the second edge to be healed. - - \return the ID of the removed node. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 gaiaNewEdgeHeal (GaiaTopologyAccessorPtr - ptr, - sqlite3_int64 edge_id1, - sqlite3_int64 edge_id2); - -/** - Return the geometry of a Topology Face - - \param ptr pointer to the Topology Accessor Object. - \param face the unique identifier of the face. - - \return pointer to Geometry (polygon); NULL on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE gaiaGeomCollPtr - gaiaGetFaceGeometry (GaiaTopologyAccessorPtr ptr, sqlite3_int64 face); - -/** - Updates a temporary table containing the ordered list of Edges - (in counterclockwise order) for every Face. - EdgeIDs are signed value; a negative ID intends reverse direction. - - \param ptr pointer to the Topology Accessor Object. - \param face the unique identifier of the face. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaGetFaceEdges (GaiaTopologyAccessorPtr ptr, sqlite3_int64 face); - -/** - Find the ID of a Node at a Point location - - \param ptr pointer to the Topology Accessor Object. - \param pt pointer to the Point Geometry. - \param tolerance approximation factor. - - \return the ID of a Node; -1 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 - gaiaGetNodeByPoint (GaiaTopologyAccessorPtr ptr, gaiaPointPtr pt, - double tolerance); - -/** - Find the ID of an Edge at a Point location - - \param ptr pointer to the Topology Accessor Object. - \param pt pointer to the Point Geometry. - \param tolerance approximation factor. - - \return the ID of an Edge; -1 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 - gaiaGetEdgeByPoint (GaiaTopologyAccessorPtr ptr, gaiaPointPtr pt, - double tolerance); - -/** - Find the ID of a Face at a Point location - - \param ptr pointer to the Topology Accessor Object. - \param pt pointer to the Point Geometry. - \param tolerance approximation factor. - - \return the ID of a Face; -1 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 - gaiaGetFaceByPoint (GaiaTopologyAccessorPtr ptr, gaiaPointPtr pt, - double tolerance); - -/** - Transforms a (multi)Linestring or (multi)Polygon into an new MultiLinestring. - - \param geom pointer to the input Geometry (Linestring, MultiLinestring, - Polygon or MultiPolygon). - \param line_max_points if set to a positive number all input Linestrings - and/or Polygon Rings will be split into simpler Lines having no more than - this maximum number of points. - \param max_length if set to a positive value all input Linestrings - and/or Polygon Rings will be split into simpler Lines having a length - not exceeding this threshold. If both line_max_points and max_legth - are set as the same time the first condition occurring will cause - a new Line to be started. - - \return a MultiLinestring Geometry; NULL on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE gaiaGeomCollPtr - gaiaTopoGeo_SubdivideLines (gaiaGeomCollPtr geom, int line_max_points, - double max_length); - -/** - Adds a Point to an existing Topology and possibly splitting an Edge. - - \param ptr pointer to the Topology Accessor Object. - \param pt pointer to the Point Geometry. - \param tolerance approximation factor. - - \return the ID of the Node; -1 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE sqlite3_int64 - gaiaTopoGeo_AddPoint (GaiaTopologyAccessorPtr ptr, gaiaPointPtr pt, - double tolerance); - -/** - Adds a Linestring to an existing Topology without determining generated faces.. - - \param ptr pointer to the Topology Accessor Object. - \param ln pointer to the Linestring Geometry. - \param tolerance approximation factor. - \param edge_ids on success will point to an array of Edge IDs - \param ids_count on success will report the number of Edge IDs in the - above array - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_AddLineStringNoFace - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_AddLineString (GaiaTopologyAccessorPtr ptr, - gaiaLinestringPtr pt, double tolerance, - sqlite3_int64 ** edge_ids, int *ids_count); - -/** - Adds a Linestring to an existing Topology and possibly splitting Edges/Faces. - - \param ptr pointer to the Topology Accessor Object. - \param ln pointer to the Linestring Geometry. - \param tolerance approximation factor. - \param edge_ids on success will point to an array of Edge IDs - \param ids_count on success will report the number of Edge IDs in the - above array - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_AddLineString, gaiaTopoGeo_Polygonize - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_AddLineStringNoFace (GaiaTopologyAccessorPtr ptr, - gaiaLinestringPtr pt, - double tolerance, - sqlite3_int64 ** edge_ids, - int *ids_count); - -/** - Determine and register all topology faces. - - \param ptr pointer to the Topology Accessor Object. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_AddLineStringNoFace, - gaiaTopoGeo_FromGeoTableNoFace, FromGeoTableNoFaceExt - */ - GAIATOPO_DECLARE int gaiaTopoGeo_Polygonize (GaiaTopologyAccessorPtr ptr); - -/** - Snap Geometry to Topology. - - \param ptr pointer to the Topology Accessor Object. - \param geom pointer to the input Geometry. - \param tolerance approximation factor. - \param iterate if non zero, allows snapping to more than a single - vertex, iteratively - \param remove_vertices if non zero, makes an initial pass removing - vertices within tolerance - - \return pointer to the snapped Geometry; NULL on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE gaiaGeomCollPtr - gaiaTopoSnap (GaiaTopologyAccessorPtr ptr, gaiaGeomCollPtr geom, - double tolerance, int iterate, int remove_vertices); - -/** - Adds a Polygon to an existing Topology and possibly splitting Edges/Faces. - - \param ptr pointer to the Topology Accessor Object. - \param pg pointer to the Polygon Geometry. - \param tolerance approximation factor. - \param face_ids on success will point to an array of Face IDs - \param ids_count on success will report the number of Face IDs in the - above array - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_AddPolygon (GaiaTopologyAccessorPtr ptr, - gaiaPolygonPtr pg, double tolerance, - sqlite3_int64 ** face_ids, int *ids_count); - -/** - Populates a Topology by importing a whole GeoTable - - \param ptr pointer to the Topology Accessor Object. - \param db-prefix prefix of the DB containing the input GeoTable. - If NULL the "main" DB will be intended by default. - \param table name of the input GeoTable. - \param column name of the input Geometry Column. - Could be NULL is the input table has just a single Geometry Column. - \param tolerance approximation factor. - \param line_max_points if set to a positive number all input Linestrings - and/or Polygon Rings will be split into simpler Linestrings having no more - than this maximum number of points. - \param max_length if set to a positive value all input Linestrings - and/or Polygon Rings will be split into simpler Lines having a length - not exceeding this threshold. If both line_max_points and max_legth - are set as the same time the first condition occurring will cause - a new Line to be started. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_FromGeoTableNoFace - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_FromGeoTable (GaiaTopologyAccessorPtr ptr, - const char *db_prefix, const char *table, - const char *column, double tolerance, - int line_max_points, double max_length); - -/** - Populates a Topology by importing a whole GeoTable without - determining generated faces - - \param ptr pointer to the Topology Accessor Object. - \param db-prefix prefix of the DB containing the input GeoTable. - If NULL the "main" DB will be intended by default. - \param table name of the input GeoTable. - \param column name of the input Geometry Column. - Could be NULL is the input table has just a single Geometry Column. - \param tolerance approximation factor. - \param line_max_points if set to a positive number all input Linestrings - and/or Polygon Rings will be split into simpler Linestrings having no more - than this maximum number of points. - \param max_length if set to a positive value all input Linestrings - and/or Polygon Rings will be split into simpler Lines having a length - not exceeding this threshold. If both line_max_points and max_legth - are set as the same time the first condition occurring will cause - a new Line to be started. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_FromGeoTable, gaiaTopoGeo_Polygonize - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_FromGeoTableNoFace (GaiaTopologyAccessorPtr ptr, - const char *db_prefix, - const char *table, const char *column, - double tolerance, int line_max_points, - double max_length); - -/** - Populates a Topology by importing a whole GeoTable - Extended mode - - \param ptr pointer to the Topology Accessor Object. - \param sql_in an SQL statement (SELECT) returning input features - \param sql_out a second SQL statement (INSERT INTO) intended to - store failing features references into the "dustbin" table. - \param sql_in2 an SQL statement (SELECT) returning a single input - feature (used for retrying to insert a failing feature) - \param tolerance approximation factor. - \param line_max_points if set to a positive number all input Linestrings - and/or Polygon Rings will be split into simpler Linestrings having no more - than this maximum number of points. - \param max_length if set to a positive value all input Linestrings - and/or Polygon Rings will be split into simpler Lines having a length - not exceeding this threshold. If both line_max_points and max_legth - are set as the same time the first condition occurring will cause - a new Line to be started. - - \return 0 if all input features were succesfully importer, or a - positive number (total count of failing features raising an exception - and referenced by the "dustbin" table); -1 if some unexpected - error occurred. - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_FromGeoTableNoFaceExtended - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_FromGeoTableExtended (GaiaTopologyAccessorPtr ptr, - const char *sql_in, - const char *sql_out, - const char *sql_in2, - double tolerance, - int line_max_points, - double max_length); - -/** - Populates a Topology by importing a whole GeoTable without - determining generated faces - Extended mode - - \param ptr pointer to the Topology Accessor Object. - \param sql_in an SQL statement (SELECT) returning input features - \param sql_out a second SQL statement (INSERT INTO) intended to - store failing features references into the "dustbin" table. - \param sql_in2 an SQL statement (SELECT) returning a single input - feature (used for retrying to insert a failing feature) - \param tolerance approximation factor. - \param line_max_points if set to a positive number all input Linestrings - and/or Polygon Rings will be split into simpler Linestrings having no more - than this maximum number of points. - \param max_length if set to a positive value all input Linestrings - and/or Polygon Rings will be split into simpler Lines having a length - not exceeding this threshold. If both line_max_points and max_legth - are set as the same time the first condition occurring will cause - a new Line to be started. - - \return 0 if all input features were succesfully importer, or a - positive number (total count of failing features raising an exception - and referenced by the "dustbin" table); -1 if some unexpected - error occurred. - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_FromGeoTableExtended, - gaiaTopoGeo_Polygonize - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_FromGeoTableNoFaceExtended (GaiaTopologyAccessorPtr ptr, - const char *sql_in, - const char *sql_out, - const char *sql_in2, - double tolerance, - int line_max_points, - double max_length); - -/** - Creates and populates a new GeoTable by snapping all Geometries - contained into another GeoTable against a given Topology - - \param ptr pointer to the Topology Accessor Object. - \param db-prefix prefix of the DB containing the input GeoTable. - If NULL the "main" DB will be intended by default. - \param table name of the input GeoTable. - \param column name of the input Geometry Column. - Could be NULL is the input table has just a single Geometry Column. - \param outtable name of the output GeoTable. - \param tolerance approximation factor. - \param iterate if non zero, allows snapping to more than a single - vertex, iteratively - \param remove_vertices if non zero, makes an initial pass removing - vertices within tolerance - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_SnappedGeoTable (GaiaTopologyAccessorPtr ptr, - const char *db_prefix, const char *table, - const char *column, const char *outtable, - double tolerance, int iterate, - int remove_vertices); - -/** - Creates a temporary table containing a validation report for a given TopoGeo. - - \param ptr pointer to the Topology Accessor Object. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int gaiaValidateTopoGeo (GaiaTopologyAccessorPtr ptr); - -/** - Return a Point geometry (seed) identifying a Topology Edge - - \param ptr pointer to the Topology Accessor Object. - \param edge the unique identifier of the edge. - - \return pointer to Geometry (point); NULL on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE gaiaGeomCollPtr - gaiaGetEdgeSeed (GaiaTopologyAccessorPtr ptr, sqlite3_int64 edge); - -/** - Return a Point geometry (seed) identifying a Topology Face - - \param ptr pointer to the Topology Accessor Object. - \param face the unique identifier of the face. - - \return pointer to Geometry (point); NULL on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE gaiaGeomCollPtr - gaiaGetFaceSeed (GaiaTopologyAccessorPtr ptr, sqlite3_int64 face); - -/** - Will update all Seeds for a Topology-Geometry - - \param ptr pointer to the Topology Accessor Object. - \param mode if set to 0 a full update of all Seeds will be performed, - otherwise an incremental update will happen. - - \return 1 on success; 0 on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeoUpdateSeeds (GaiaTopologyAccessorPtr ptr, int mode); - -/** - Will snap a Point geometry to TopoSeeds - - \param ptr pointer to the Topology Accessor Object. - \param pt pointer to the Point Geometry. - \param distance tolerance approximation factor. - - \return pointer to Geometry (point); NULL on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE gaiaGeomCollPtr - gaiaTopoGeoSnapPointToSeed (GaiaTopologyAccessorPtr ptr, - gaiaGeomCollPtr pt, double distance); - -/** - Will snap a Linestring geometry to TopoSeeds - - \param ptr pointer to the Topology Accessor Object. - \param ln pointer to the Linestring Geometry. - \param distance tolerance approximation factor. - - \return pointer to Geometry (linestring); NULL on failure. - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE gaiaGeomCollPtr - gaiaTopoGeoSnapLinestringToSeed (GaiaTopologyAccessorPtr ptr, - gaiaGeomCollPtr ln, double distance); - -/** - Extracts a Simple Features Table out from a Topology by matching - Topology Seeds to a given reference Table. - - \param ptr pointer to the Topology Accessor Object. - \param db-prefix prefix of the DB containing the reference GeoTable. - If NULL the "main" DB will be intended by default. - \param ref_table name of the reference GeoTable. - \param ref_column name of the reference Geometry Column. - Could be NULL is the reference table has just a single Geometry Column. - \param out_table name of the output output table to be created and populated. - \param with_spatial_index boolean flag: if set to TRUE (non ZERO) a Spatial - Index supporting the output table will be created. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_ToGeoTable (GaiaTopologyAccessorPtr ptr, - const char *db_prefix, const char *ref_table, - const char *ref_column, const char *out_table, - int with_spatial_index); - -/** - Extracts a simplified/generalized Simple Features Table out from a Topology - by matching Topology Seeds to a given reference Table. - - \param ptr pointer to the Topology Accessor Object. - \param db-prefix prefix of the DB containing the reference GeoTable. - If NULL the "main" DB will be intended by default. - \param ref_table name of the reference GeoTable. - \param ref_column name of the reference Geometry Column. - Could be NULL is the reference table has just a single Geometry Column. - \param out_table name of the output output table to be created and populated. - \param tolerance approximation radius required by the Douglar-Peucker - simplification algorithm. - \param with_spatial_index boolean flag: if set to TRUE (non ZERO) a Spatial - Index supporting the output table will be created. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_ToGeoTableGeneralize (GaiaTopologyAccessorPtr ptr, - const char *db_prefix, - const char *ref_table, - const char *ref_column, - const char *out_table, - double tolerance, - int with_spatial_index); - -/** - Removes all small Faces from a Topology - - \param ptr pointer to the Topology Accessor Object. - \param min_area threshold area to identify small Faces. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_RemoveSmallFaces (GaiaTopologyAccessorPtr ptr, - double min_area); - -/** - Removes all dangling Edges from a Topology - - \param ptr pointer to the Topology Accessor Object. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_RemoveDanglingEdges (GaiaTopologyAccessorPtr ptr); - -/** - Removes all dangling Nodes from a Topology - - \param ptr pointer to the Topology Accessor Object. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_RemoveDanglingNodes (GaiaTopologyAccessorPtr ptr); - -/** - Removes all useless Nodes from a Topology by calling ST_NewEdgeHeal - - \param ptr pointer to the Topology Accessor Object. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_ModEdgeHeal - */ - GAIATOPO_DECLARE int gaiaTopoGeo_NewEdgeHeal (GaiaTopologyAccessorPtr ptr); - -/** - Removes all useless Nodes from a Topology by calling ST_ModEdgeHeal - - \param ptr pointer to the Topology Accessor Object. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS, gaiaTopoGeo_NewEdgeHeal - */ - GAIATOPO_DECLARE int gaiaTopoGeo_ModEdgeHeal (GaiaTopologyAccessorPtr ptr); - -/** - creates a TopoLayer and its corresponding Feature relations for a given - Topology by matching Topology Seeds to a given reference Table. - - \param ptr pointer to the Topology Accessor Object. - \param db-prefix prefix of the DB containing the reference GeoTable. - If NULL the "main" DB will be intended by default. - \param ref_table name of the reference GeoTable. - \param ref_column name of the reference Geometry Column. - Could be NULL is the reference table has just a single Geometry Column. - \param topolayer_name name of the TopoLayer to be created. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_CreateTopoLayer (GaiaTopologyAccessorPtr ptr, - const char *db_prefix, - const char *ref_table, - const char *ref_column, - const char *topolayer_name); - -/** - initializes a TopoLayer (laking all corresponding Feature relations) for a given - Topology from a given reference Table. - - \param ptr pointer to the Topology Accessor Object. - \param db-prefix prefix of the DB containing the reference GeoTable. - If NULL the "main" DB will be intended by default. - \param ref_table name of the reference GeoTable. - \param topolayer_name name of the TopoLayer to be created. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_InitTopoLayer (GaiaTopologyAccessorPtr ptr, - const char *db_prefix, - const char *ref_table, - const char *topolayer_name); - -/** - completely removes a TopoLayer from a Topology. - - \param ptr pointer to the Topology Accessor Object. - \param topolayer_name name of the TopoLayer to be removed. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_RemoveTopoLayer (GaiaTopologyAccessorPtr ptr, - const char *topolayer_name); - -/** - creates a GeoTable by exporting Features out from a given TopoLayer. - - \param ptr pointer to the Topology Accessor Object. - \param topolayer_name name of an existing TopoLayer. - \param out_table name of the output GeoTable to be created. - \param with_spatial_index boolean flag: if set to TRUE (non ZERO) a Spatial - Index supporting the output table will be created. - \param create_only boolean flag; is set to any value != 0 (TRUE) - just the output table will be creayed but no TopoFeature will - be actually inserted. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_ExportTopoLayer (GaiaTopologyAccessorPtr ptr, - const char *topolayer_name, - const char *out_table, - int with_spatial_index, int create_only); - -/** - inserts into the output GeoTable a single Features extracted out - from a given TopoLayer. - - \param ptr pointer to the Topology Accessor Object. - \param topolayer_name name of an existing TopoLayer. - \param out_table name of the target GeoTable. - \param fid unique identifier of the TopoLayer's Feature to - be inserted. - - \return 1 on success; -1 on failure (will raise an exception). - - \sa gaiaTopologyFromDBMS - */ - GAIATOPO_DECLARE int - gaiaTopoGeo_InsertFeatureFromTopoLayer (GaiaTopologyAccessorPtr ptr, - const char *topolayer_name, - const char *out_table, - sqlite3_int64 fid); - -#ifdef __cplusplus -} -#endif - - -#endif /* _GAIATOPO_H */ Index: src/headers/spatialite/gaiaaux.h ================================================================== --- src/headers/spatialite/gaiaaux.h +++ src/headers/spatialite/gaiaaux.h @@ -1,9 +1,9 @@ /* gaiaaux.h -- Gaia common utility functions - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -293,12 +293,12 @@ \note this function completes an \b event inserted into the SQL Log, and is expected to be invoked immediately \b after executing the SQL statement itself. */ GAIAAUX_DECLARE void gaiaUpdateSqlLog (sqlite3 * sqlite, - sqlite3_int64 sqllog_pk, - int success, const char *errMsg); + sqlite3_int64 sqllog_pk, int success, + const char *errMsg); /** Creates a persistent MD5 checksum object \return the handle of an MD5 checksum object, or NULL on failure Index: src/headers/spatialite/gaiaexif.h ================================================================== --- src/headers/spatialite/gaiaexif.h +++ src/headers/spatialite/gaiaexif.h @@ -1,9 +1,9 @@ /* gaiaexif.h -- Gaia common EXIF Metadata reading functions - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -259,12 +259,11 @@ \return a pointer to the corresponding EXIF tag: NULL if not found \sa gaiaGetExifTags, gaiaExifTagsFree */ - GAIAEXIF_DECLARE gaiaExifTagPtr gaiaGetExifTagById (const - gaiaExifTagListPtr + GAIAEXIF_DECLARE gaiaExifTagPtr gaiaGetExifTagById (const gaiaExifTagListPtr tag_list, const unsigned short tag_id); /** @@ -278,12 +277,12 @@ \sa gaiaGetExifTags, gaiaExifTagsFree */ GAIAEXIF_DECLARE gaiaExifTagPtr gaiaGetExifGpsTagById (const gaiaExifTagListPtr tag_list, - const unsigned - short tag_id); + const unsigned short + tag_id); /** Retrieves an EXIF tag by its name \param tag_list pointer to an EXIF tag list. @@ -370,14 +369,12 @@ \return the BYTE value \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName, gaiaExifTagGetValueType, gaiaExifTagGetNumValues */ - GAIAEXIF_DECLARE unsigned char gaiaExifTagGetByteValue (const - gaiaExifTagPtr - tag, - const int ind, + GAIAEXIF_DECLARE unsigned char gaiaExifTagGetByteValue (const gaiaExifTagPtr + tag, const int ind, int *ok); /** Return a STRING value from an EXIF tag @@ -421,13 +418,12 @@ \return the LONG value \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName, gaiaExifTagGetValueType, gaiaExifTagGetNumValues */ - GAIAEXIF_DECLARE unsigned int gaiaExifTagGetLongValue (const - gaiaExifTagPtr tag, - const int ind, + GAIAEXIF_DECLARE unsigned int gaiaExifTagGetLongValue (const gaiaExifTagPtr + tag, const int ind, int *ok); /** Return a RATIONAL [numerator] value from an EXIF tag @@ -490,13 +486,12 @@ \return the Signed SHORT value \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName, gaiaExifTagGetValueType, gaiaExifTagGetNumValues */ - GAIAEXIF_DECLARE short gaiaExifTagGetSignedShortValue (const - gaiaExifTagPtr tag, - const int ind, + GAIAEXIF_DECLARE short gaiaExifTagGetSignedShortValue (const gaiaExifTagPtr + tag, const int ind, int *ok); /** Return a Signed LONG value from an EXIF tag @@ -524,12 +519,11 @@ \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName, gaiaExifTagGetValueType, gaiaExifTagGetNumValues */ GAIAEXIF_DECLARE int gaiaExifTagGetSignedRational1Value (const - gaiaExifTagPtr - tag, + gaiaExifTagPtr tag, const int ind, int *ok); /** Return a SRATIONAL [denominator] value from an EXIF tag @@ -542,12 +536,11 @@ \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName, gaiaExifTagGetValueType, gaiaExifTagGetNumValues */ GAIAEXIF_DECLARE int gaiaExifTagGetSignedRational2Value (const - gaiaExifTagPtr - tag, + gaiaExifTagPtr tag, const int ind, int *ok); /** Return a Signed RATIONAL value from an EXIF tag @@ -592,13 +585,12 @@ \return the DOUBLE value \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName, gaiaExifTagGetValueType, gaiaExifTagGetNumValues */ - GAIAEXIF_DECLARE double gaiaExifTagGetDoubleValue (const gaiaExifTagPtr - tag, const int ind, - int *ok); + GAIAEXIF_DECLARE double gaiaExifTagGetDoubleValue (const gaiaExifTagPtr tag, + const int ind, int *ok); /** Return a human readable description from an EXIF tag \param tag pointer to an EXIF tag. @@ -606,13 +598,13 @@ \param len length of the receiving buffer \param ok on completion will contain 0 on failure: any other value on success. \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName */ - GAIAEXIF_DECLARE void gaiaExifTagGetHumanReadable (const gaiaExifTagPtr - tag, char *str, - int len, int *ok); + GAIAEXIF_DECLARE void gaiaExifTagGetHumanReadable (const gaiaExifTagPtr tag, + char *str, int len, + int *ok); /** Attempts to guess the actual content-type of some BLOB \param blob the BLOB to be parsed @@ -636,13 +628,12 @@ \return 0 on failure: any other value on success \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName, gaiaIsExifGpsTag */ - GAIAEXIF_DECLARE int gaiaGetGpsCoords (const unsigned char *blob, - int size, double *longitude, - double *latitude); + GAIAEXIF_DECLARE int gaiaGetGpsCoords (const unsigned char *blob, int size, + double *longitude, double *latitude); /** Return a text string representing DMS coordinates from an EXIF-GPS tag \param blob the BLOB to be parsed \param size length of the BLOB (in bytes) @@ -652,14 +643,13 @@ \return 0 on failure: any other value on success \sa gaiaGetExifTagById, gaiaGetExifGpsTagById, gaiaGetExifTagByName, gaiaIsExifGpsTag */ - GAIAEXIF_DECLARE int gaiaGetGpsLatLong (const unsigned char *blob, - int size, char *latlong, - int ll_size); + GAIAEXIF_DECLARE int gaiaGetGpsLatLong (const unsigned char *blob, int size, + char *latlong, int ll_size); #ifdef __cplusplus } #endif #endif /* _GAIAEXIF_H */ Index: src/headers/spatialite/gaiageo.h ================================================================== --- src/headers/spatialite/gaiageo.h +++ src/headers/spatialite/gaiageo.h @@ -1,9 +1,9 @@ /* gaiageo.h -- Gaia common support for geometries - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Klaus Foerster klaus.foerster@svg.cc Index: src/headers/spatialite/gaiamatrix.h ================================================================== --- src/headers/spatialite/gaiamatrix.h +++ src/headers/spatialite/gaiamatrix.h @@ -1,9 +1,9 @@ /* gaiamatrix.h -- Gaia common utility functions: affine trasform Matrix - version 4.3, 2015 June 29 + version 4.3, 2015 April 28 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -128,12 +128,11 @@ (in bytes) \return 0 on failure: any other different value on success. \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_as_text, - gaia_matrix_create_multiply, gaia_matrix_transform_geometry, - gaia_matrix_invert + gaia_matrix_create_multiply, gaia_matrix_transform_geometry \note you are responsible to destroy (before or after) any BLOB returned by this function. */ GAIAMATRIX_DECLARE int gaia_matrix_multiply (const unsigned char *iblob1, @@ -215,14 +214,14 @@ int blob_sz); /** Transforming a Geometry accordingly to an Affine Transform Matrix \param geom the input Geometry - \param blob pointer to a BLOB-encoded Matrix - \param blob_sz BLOB's size (in bytes) + \param iblob pointer to a BLOB-encoded Matrix + \param iblob_sz BLOB's size (in bytes) - \return pointer to the transformed Geometry or NULL on failure. + \return 0 pointer to the transformed Geometry or NULL on failure. \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_as_text, gaia_matrix_multiply, gaia_matrix_create_multiply \note you are responsible to destroy (before or after) any Geometry @@ -230,48 +229,10 @@ */ GAIAMATRIX_DECLARE gaiaGeomCollPtr gaia_matrix_transform_geometry (gaiaGeomCollPtr geom, const unsigned char *blob, int blob_sz); -/** - Computing the Determinant from an Affine Transform Matrix - \param blob pointer to a BLOB-encoded Matrix - \param blob_sz BLOB's size (in bytes) - - \return the Determinant of the Matix; 0.0 on invalid args. - - \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_invert - \note you are responsible to destroy (before or after) any Geometry - returned by this function. - */ - GAIAMATRIX_DECLARE double - gaia_matrix_determinant (const unsigned char *blob, int blob_sz); - -/** - Creating a BLOB-Matrix by applying a further trasformation to a previous BLOB-Matrix - \param iblob pointer to a BLOB-encoded Matrix - \param iblob_sz BLOB's size (in bytes) - \param blob on completion this variable will contain a BLOB-encoded - affine transform Matrix (Inverse) - \param blob_sz on completion this variable will contain the BLOB's size - (in bytes) - - \return 0 on failure: any other different value on success. - Note that not all Matrices can be Inverted, only those having - a valid Determinant. - - \sa gaia_matrix_create, gaia_matrix_is_valid, gaia_matrix_multiply, - gaia_matrix_determinant - - \note you are responsible to destroy (before or after) any BLOB - returned by this function. - */ - GAIAMATRIX_DECLARE int gaia_matrix_invert (const unsigned char - *iblob, int iblob_sz, - unsigned char **blob, - int *blob_sz); - #ifdef __cplusplus } #endif #endif /* _GAIAMATRIX_H */ Index: src/headers/spatialite/geopackage.h ================================================================== --- src/headers/spatialite/geopackage.h +++ src/headers/spatialite/geopackage.h @@ -1,10 +1,10 @@ /* GeoPackage extensions for SpatiaLite / SQLite - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Version: MPL 1.1/GPL 2.0/LGPL 2.1 The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with @@ -18,11 +18,11 @@ The Original Code is GeoPackage Extensions The Initial Developer of the Original Code is Brad Hards (bradh@frogmouth.net) -Portions created by the Initial Developer are Copyright (C) 2012-2015 +Portions created by the Initial Developer are Copyright (C) 2012 the Initial Developer. All Rights Reserved. Contributor(s): Sandro Furieri (a.furieri@lqt.it) @@ -43,22 +43,16 @@ /** \file geopackage.h GeoPackage: supporting functions and constants */ + #ifndef DOXYGEN_SHOULD_SKIP_THIS -#ifdef _WIN32 #ifdef DLL_EXPORT #define GEOPACKAGE_DECLARE __declspec(dllexport) -#define GEOPACKAGE_PRIVATE #else #define GEOPACKAGE_DECLARE extern -#define GEOPACKAGE_PRIVATE -#endif -#else -#define GEOPACKAGE_DECLARE __attribute__ ((visibility("default"))) -#define GEOPACKAGE_PRIVATE __attribute__ ((visibility("hidden"))) #endif #endif #ifndef _GEOPACKAGE_H #ifndef DOXYGEN_SHOULD_SKIP_THIS @@ -73,66 +67,66 @@ #endif #include /* Internal geopackage SQL function implementation */ - GEOPACKAGE_PRIVATE void fnct_gpkgCreateBaseTables (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgCreateBaseTables (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgCreateTilesTable (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgCreateTilesTable (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgCreateTilesZoomLevel (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgCreateTilesZoomLevel (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgInsertEpsgSRID (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgInsertEpsgSRID (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgAddTileTriggers (sqlite3_context * - context, int argc, + GEOPACKAGE_DECLARE void fnct_gpkgAddTileTriggers (sqlite3_context * context, + int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgGetNormalRow (sqlite3_context * context, + GEOPACKAGE_DECLARE void fnct_gpkgGetNormalRow (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgGetNormalZoom (sqlite3_context * context, + GEOPACKAGE_DECLARE void fnct_gpkgGetNormalZoom (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgGetImageType (sqlite3_context * context, + GEOPACKAGE_DECLARE void fnct_gpkgGetImageType (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryColumn (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgAddGeometryColumn (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgMakePoint (sqlite3_context * context, - int argc, + GEOPACKAGE_DECLARE void fnct_gpkgMakePoint (sqlite3_context * + context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgMakePointWithSRID (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgMakePointWithSRID (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZ (sqlite3_context * context, - int argc, + GEOPACKAGE_DECLARE void fnct_gpkgMakePointZ (sqlite3_context * + context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZWithSRID (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgMakePointZWithSRID (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgMakePointM (sqlite3_context * context, - int argc, + GEOPACKAGE_DECLARE void fnct_gpkgMakePointM (sqlite3_context * + context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgMakePointMWithSRID (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgMakePointMWithSRID (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZM (sqlite3_context * context, - int argc, + GEOPACKAGE_DECLARE void fnct_gpkgMakePointZM (sqlite3_context * + context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgMakePointZMWithSRID (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgMakePointZMWithSRID (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_ToGPB (sqlite3_context * context, int argc, + GEOPACKAGE_DECLARE void fnct_ToGPB (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_GeomFromGPB (sqlite3_context * context, + GEOPACKAGE_DECLARE void fnct_GeomFromGPB (sqlite3_context * context, int argc, sqlite3_value ** argv); GEOPACKAGE_DECLARE gaiaGeomCollPtr gaiaFromGeoPackageGeometryBlob (const unsigned char @@ -148,42 +142,34 @@ int gpb_len); GEOPACKAGE_DECLARE int gaiaIsEmptyGPB (const unsigned char *gpb, int gpb_len); GEOPACKAGE_DECLARE int gaiaGetEnvelopeFromGPB (const unsigned char *gpb, int gpb_len, double *min_x, - double *max_x, - double *min_y, + double *max_x, double *min_y, double *max_y, int *has_z, - double *min_z, - double *max_z, int *has_m, - double *min_m, + double *min_z, double *max_z, + int *has_m, double *min_m, double *max_m); GEOPACKAGE_DECLARE char *gaiaGetGeometryTypeFromGPB (const unsigned char *gpb, int gpb_len); - GEOPACKAGE_PRIVATE void fnct_IsValidGPB (sqlite3_context * context, + GEOPACKAGE_DECLARE void fnct_IsValidGPB (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_GPKG_IsAssignable (sqlite3_context * context, + GEOPACKAGE_DECLARE void fnct_GPKG_IsAssignable (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryTriggers (sqlite3_context * + GEOPACKAGE_DECLARE void fnct_gpkgAddGeometryTriggers (sqlite3_context * + context, int argc, + sqlite3_value ** + argv); + GEOPACKAGE_DECLARE void fnct_gpkgAddGeometryTriggers (sqlite3_context * context, int argc, sqlite3_value ** argv); - GEOPACKAGE_PRIVATE void fnct_gpkgAddGeometryTriggers (sqlite3_context * - context, int argc, - sqlite3_value ** - argv); - GEOPACKAGE_PRIVATE void fnct_gpkgAddSpatialIndex (sqlite3_context * - context, int argc, + GEOPACKAGE_DECLARE void fnct_gpkgAddSpatialIndex (sqlite3_context * context, + int argc, sqlite3_value ** argv); /* end Sandro Furieri - 2014-05-19 */ - -/* Sandro Furieri - 2015-06-14 */ - GEOPACKAGE_DECLARE void - gaiaToGPB (gaiaGeomCollPtr geom, unsigned char **result, int *size); -/* end Sandro Furieri - 2015-06-14 */ - /* Markers for unused arguments / variable */ #if __GNUC__ #define UNUSED __attribute__ ((__unused__)) Index: src/headers/spatialite/gg_advanced.h ================================================================== --- src/headers/spatialite/gg_advanced.h +++ src/headers/spatialite/gg_advanced.h @@ -1,9 +1,9 @@ /* gg_advanced.h -- Gaia common support for geometries: advanced - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): @@ -848,30 +848,10 @@ */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetail (gaiaGeomCollPtr geom); /** return a Geometry detail causing a Geometry to be invalid - * - \param geom pointer to the Geometry object to be validated. - \param esri_flag if set to TRUE if set to TRUE all ESRI-like holes (violating - the basic OGC model) will be considered to be valid. - - \return pointer to a Geometry object causing invalidity, or NULL. - - \sa gaiaIsValid, gaiaIsValidReason, gaiaIsValidDetail_r - - \note you are responsible to destroy the returned Geometry\n - not reentrant and thread unsafe. - - \remark \b GEOS support required. - */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetailEx (gaiaGeomCollPtr geom, - int esri_flag); - - -/** - return a Geometry detail causing a Geometry to be invalid \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom pointer to the Geometry object to be validated. \return pointer to a Geometry object causing invalidity, or NULL. @@ -884,33 +864,10 @@ \remark \b GEOS support required. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetail_r (const void *p_cache, gaiaGeomCollPtr geom); - -/** - return a Geometry detail causing a Geometry to be invalid - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param geom pointer to the Geometry object to be validated. - \param esri_flag if set to TRUE all ESRI-like holes (violating - the basic OGC model) will be considered to be valid. - - \return pointer to a Geometry object causing invalidity, or NULL. - - \sa gaiaIsValid_r, gaiaIsValidReason_r, gaiaIsValidDetail - - \note you are responsible to destroy the returned Geometry\n - reentrant and thread-safe. - - \remark \b GEOS support required. - */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaIsValidDetailEx_r (const void - *p_cache, - gaiaGeomCollPtr - geom, int esri_flag); - /** Checks if a Geometry object represents an OGC Valid Geometry \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom pointer to Geometry object. @@ -1618,14 +1575,14 @@ \param geom2 the second Geometry object to be evaluated \param pattern intersection matrix pattern [DE-9IM] \return 0 if false: any other value if true - \sa gaiaGeomCollRelate_r, gaiaGeomCollRelateBoundaryNodeRule, + \sa gaiaGeomCollRelate_r, gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects, gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains, - gaiaGeomCollWithin, gaiaIntersectionMatrixPatternMatch + gaiaGeomCollWithin, gaiaGeomCollRelate \note not reentrant and thread unsafe. \remark \b GEOS support required. */ @@ -1641,14 +1598,14 @@ \param geom2 the second Geometry object to be evaluated \param pattern intersection matrix pattern [DE-9IM] \return 0 if false: any other value if true - \sa gaiaGeomCollRelate, gaiaGeomCollRelateBoundaryNodeRule_r, + \sa gaiaGeomCollRelate, gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects, gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains, - gaiaGeomCollWithin, gaiaIntersectionMatrixPatternMatch + gaiaGeomCollWithin, gaiaGeomCollRelate \note reentrant and thread-safe. \remark \b GEOS support required. */ @@ -1655,110 +1612,10 @@ GAIAGEO_DECLARE int gaiaGeomCollRelate_r (const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, const char *pattern); -/** - Spatial relationship evalution: Relate Boundary Node Rule - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param geom1 the first Geometry object to be evaluated - \param geom2 the second Geometry object to be evaluated - \param mode can be one of: 1=OGC/MOD2 (default); 2=Endpoint; - 3=MultivalentEndpoint; 4=MonovalentEndpoint - - \return a DE-9IM intersection matrix; or NULL on invalid geometries. - - \sa gaiaGeomCollRelate, gaiaGeomCollRelateBoundaryNodeRule_r, - gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects, - gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains, - gaiaGeomCollWithin, gaiaIntersectionMatrixPatternMatch - - \note you are responsible to destroy (before or after) the intesection - matrix returned by gaiaGeomGeollRelateBoundaryNodeRule()\n - not reentrant and thread unsafe. - - \remark \b GEOS support required. - */ - GAIAGEO_DECLARE char *gaiaGeomCollRelateBoundaryNodeRule (gaiaGeomCollPtr - geom1, - gaiaGeomCollPtr - geom2, int mode); - -/** - Spatial relationship evalution: Relate Boundary Node Rule - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param geom1 the first Geometry object to be evaluated - \param geom2 the second Geometry object to be evaluated - \param mode can be one of: 1=OGC/MOD2 (default); 2=Endpoint; - 3=MultivalentEndpoint; 4=MonovalentEndpoint - - \return a DE-9IM intersection matrix; or NULL on invalid geometries. - - \sa gaiaGeomCollRelate_r, gaiaGeomCollRelateBoundaryNodeRule, - gaiaGeomCollEquals, gaiaGeomCollDisjoint, gaiaGeomCollIntersects, - gaiaGeomCollOverlaps, gaiaGeomCollCrosses, gaiaGeomCollContains, - gaiaGeomCollWithin, gaiaIntersectionMatrixPatternMatch - - \note you are responsible to destroy (before or after) the intesection - matrix returned by gaiaGeomGeollRelateBoundaryNodeRule()\n - reentrant and thread-safe. - - \remark \b GEOS support required. - */ - GAIAGEO_DECLARE char *gaiaGeomCollRelateBoundaryNodeRule_r (const void - *p_cache, - gaiaGeomCollPtr - geom1, - gaiaGeomCollPtr - geom2, - int mode); - -/** - Spatial relationship evalution: comparing two intersection matrices - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param matrix first intersection matrix [DE-9IM] to be compared - \param pattern second intersection matrix [DE-9IM] to be compared\n - (reference pattern) - - \return 0 if false: any other value if true; -1 on invalid args - - \sa gaiaGeomCollRelateBoundaryNodeRule, gaiaIntersectionMatrixPatternMatch_r - - \note not reentrant and thread unsafe. - - \remark \b GEOS support required. - */ - GAIAGEO_DECLARE int gaiaIntersectionMatrixPatternMatch (const char *matrix, - const char - *pattern); - -/** - Spatial relationship evalution: comparing two intersection matrices - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param matrix first intersection matrix [DE-9IM] to be compared - \param pattern second intersection matrix [DE-9IM] to be compared\n - (reference pattern) - - \return 0 if false: any other value if true; -1 on invalid args - - \sa gaiaGeomCollRelateBoundaryNodeRule, gaiaIntersectionMatrixPatternMatch - - \note reentrant and thread-safe. - - \remark \b GEOS support required. - */ - GAIAGEO_DECLARE int gaiaIntersectionMatrixPatternMatch_r (const void - *p_cache, - const char - *matrix, - const char - *pattern); - /** Calculates the maximum distance intercurring between two Geometry objects \param geom1 the first Geometry object \param geom2 the second Geometry object @@ -1891,12 +1748,11 @@ reentrant and thread-safe. \remark \b GEOS support required. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeometryUnion_r (const void *p_cache, - gaiaGeomCollPtr - geom1, + gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2); /** Spatial operator: Union Cascaded @@ -2106,12 +1962,12 @@ \note reentrant and thread-safe. \remark \b GEOS support required. */ GAIAGEO_DECLARE int gaiaGeomCollCentroid_r (const void *p_cache, - gaiaGeomCollPtr geom, - double *x, double *y); + gaiaGeomCollPtr geom, double *x, + double *y); /** Spatial operator: PointOnSurface \param geom pointer to Geometry object. @@ -2124,12 +1980,12 @@ \note not reentrant and thread unsafe. \remark \b GEOS support required. */ - GAIAGEO_DECLARE int gaiaGetPointOnSurface (gaiaGeomCollPtr geom, - double *x, double *y); + GAIAGEO_DECLARE int gaiaGetPointOnSurface (gaiaGeomCollPtr geom, double *x, + double *y); /** Spatial operator: PointOnSurface \param p_cache a memory pointer returned by spatialite_alloc_connection() @@ -2165,12 +2021,11 @@ this including any Geometry returned by gaiaGeomCollSimplify()\n not reentrant and thread unsafe. \remark \b GEOS support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify (gaiaGeomCollPtr - geom, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify (gaiaGeomCollPtr geom, double tolerance); /** Spatial operator: Simplify @@ -2188,12 +2043,11 @@ this including any Geometry returned by gaiaGeomCollSimplify_r()\n reentrant and thread safe. \remark \b GEOS support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify_r (const void - *p_cache, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollSimplify_r (const void *p_cache, gaiaGeomCollPtr geom, double tolerance); /** @@ -2322,12 +2176,12 @@ reentrant and thread-safe. \remark \b GEOS support required. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaGeomCollBuffer_r (const void *p_cache, - gaiaGeomCollPtr - geom, double radius, + gaiaGeomCollPtr geom, + double radius, int points); #ifndef DOXYGEN_SHOULD_IGNORE_THIS #ifdef GEOS_ADVANCED #endif @@ -2394,12 +2248,11 @@ not reentrant and thread unsafe. \remark \b GEOS-ADVANCED support required. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaOffsetCurve (gaiaGeomCollPtr geom, - double radius, - int points, + double radius, int points, int left_right); /** Spatial operator: Offset Curve @@ -2447,12 +2300,11 @@ this including any Geometry returned by gaiaSingleSidedBuffer()\n not reentrant and thread unsafe. \remark \b GEOS-ADVANCED support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSingleSidedBuffer (gaiaGeomCollPtr - geom, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSingleSidedBuffer (gaiaGeomCollPtr geom, double radius, int points, int left_right); /** @@ -2648,12 +2500,11 @@ this including any Geometry returned by gaiaLineSubstring()\n not reentrant and thread unsafe. \remark \b GEOS-ADVANCED support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineSubstring (gaiaGeomCollPtr - ln_geom, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineSubstring (gaiaGeomCollPtr ln_geom, double start_fraction, double end_fraction); /** Spatial operator: Line Substring @@ -2678,12 +2529,11 @@ \remark \b GEOS-ADVANCED support required. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLineSubstring_r (const void *p_cache, gaiaGeomCollPtr ln_geom, - double - start_fraction, + double start_fraction, double end_fraction); /** Spatial operator: Shortest Line @@ -2831,12 +2681,11 @@ \note you are responsible to destroy (before or after) any allocated Geometry, this including any Geometry returned by gaiaLinesCutAtNodes() \remark \b GEOS-ADVANCED support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLinesCutAtNodes (gaiaGeomCollPtr - geom1, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaLinesCutAtNodes (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2); /** Spatial operator: Unary Union @@ -3055,13 +2904,12 @@ \param geom the Geometry to be covered by the Grid. \param origin_x the X ccordinate identifying the Grid Origin. \param origin_y the Y coordinate identifiying the Grid Origin. \param size the Grid cell-side size. - \param mode any positive value will return a MULTILINESTRING, any will - return a MULTIPOINT; zero will return a MULTIPOLYGON containing - square POLYGONs. + \param only_edges if non-zero will return a MULTILINESTRING, otherwise it will + return a MULTIPOLYGON containing square POLYGONs. \return the pointer to newly created Geometry object: NULL on failure. \n this function will always return a MultiPolygon \n NULL will be returned if any argument is invalid. @@ -3074,23 +2922,22 @@ */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSquareGrid (gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, - int mode); + int only_edges); /** Utility function: SquareGrid \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom the Geometry to be covered by the Grid. \param origin_x the X ccordinate identifying the Grid Origin. \param origin_y the Y coordinate identifiying the Grid Origin. \param size the Grid cell-side size. - \param mode any positive value will return a MULTILINESTRING, any will - return a MULTIPOINT; zero will return a MULTIPOLYGON containing - square POLYGONs. + \param only_edges if non-zero will return a MULTILINESTRING, otherwise it will + return a MULTIPOLYGON containing square POLYGONs. \return the pointer to newly created Geometry object: NULL on failure. \n this function will always return a MultiPolygon \n NULL will be returned if any argument is invalid. @@ -3104,22 +2951,21 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSquareGrid_r (const void *p_cache, gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, - int mode); + int only_edges); /** Utility function: TriangularGrid \param geom the Geometry to be covered by the Grid. \param origin_x the X ccordinate identifying the Grid Origin. \param origin_y the Y coordinate identifiying the Grid Origin. \param size the Grid cell-side size. - \param mode any positive value will return a MULTILINESTRING, any will - return a MULTIPOINT; zero will return a MULTIPOLYGON containing - triangular POLYGONs. + \param only_edges if non-zero will return a MULTILINESTRING, otherwise it will + return a MULTIPOLYGON containing triangular POLYGONs. \return the pointer to newly created Geometry object: NULL on failure. \n this function will always return a MultiPolygon \n NULL will be returned if any argument is invalid. @@ -3132,23 +2978,22 @@ */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTriangularGrid (gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, - int mode); + int only_edges); /** Utility function: TriangularGrid \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom the Geometry to be covered by the Grid. \param origin_x the X ccordinate identifying the Grid Origin. \param origin_y the Y coordinate identifiying the Grid Origin. \param size the Grid cell-side size. - \param mode any positive value will return a MULTILINESTRING, any will - return a MULTIPOINT; zero will return a MULTIPOLYGON containing - riangular POLYGONs. + \param only_edges if non-zero will return a MULTILINESTRING, otherwise it will + return a MULTIPOLYGON containing triangular POLYGONs. \return the pointer to newly created Geometry object: NULL on failure. \n this function will always return a MultiPolygon \n NULL will be returned if any argument is invalid. @@ -3158,27 +3003,25 @@ this including any Geometry returned by gaiaTriangularGrid_r()\n reentrant and thread-safe. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaTriangularGrid_r (const void *p_cache, - gaiaGeomCollPtr - geom, + gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, - int mode); + int only_edges); /** Utility function: HexagonalGrid \param geom the Geometry to be covered by the Grid. \param origin_x the X ccordinate identifying the Grid Origin. \param origin_y the Y coordinate identifiying the Grid Origin. \param size the Grid cell-side size. - \param mode any positive value will return a MULTILINESTRING, any will - return a MULTIPOINT; zero will return a MULTIPOLYGON containing - hexagonal POLYGONs. + \param only_edges if non-zero will return a MULTILINESTRING, otherwise it will + return a MULTIPOLYGON containing hexagonal POLYGONs. \return the pointer to newly created Geometry object: NULL on failure. \n this function will always return a MultiPolygon \n NULL will be returned if any argument is invalid. @@ -3191,23 +3034,22 @@ */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaHexagonalGrid (gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, - int mode); + int only_edges); /** Utility function: HexagonalGrid \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom the Geometry to be covered by the Grid. \param origin_x the X ccordinate identifying the Grid Origin. \param origin_y the Y coordinate identifiying the Grid Origin. \param size the Grid cell-side size. - \param mode any positive value will return a MULTILINESTRING, any will - return a MULTIPOINT; zero will return a MULTIPOLYGON containing - hexagonal POLYGONs. + \param only_edges if non-zero will return a MULTILINESTRING, otherwise it will + return a MULTIPOLYGON containing hexagonal POLYGONs. \return the pointer to newly created Geometry object: NULL on failure. \n this function will always return a MultiPolygon \n NULL will be returned if any argument is invalid. @@ -3221,11 +3063,11 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaHexagonalGrid_r (const void *p_cache, gaiaGeomCollPtr geom, double origin_x, double origin_y, double size, - int mode); + int only_edges); #endif /* end GEOS advanced features */ #ifndef DOXYGEN_SHOULD_IGNORE_THIS #ifdef GEOS_TRUNK @@ -3251,12 +3093,11 @@ \remark \b GEOS-TRUNK support required. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaDelaunayTriangulation (gaiaGeomCollPtr geom, - double - tolerance, + double tolerance, int only_edges); /** Delaunay Triangulation @@ -3306,12 +3147,11 @@ not reentrant and thread unsafe. \remark \b GEOS-TRUNK support required. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaVoronojDiagram (gaiaGeomCollPtr geom, - double - extra_frame_size, + double extra_frame_size, double tolerance, int only_edges); /** Voronoj Diagram @@ -3333,12 +3173,11 @@ reentrant and thread-safe. \remark \b GEOS-TRUNK support required. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaVoronojDiagram_r (const void *p_cache, - gaiaGeomCollPtr - geom, + gaiaGeomCollPtr geom, double extra_frame_size, double tolerance, int only_edges); @@ -3411,89 +3250,86 @@ int allow_holes); #endif /* end GEOS experimental features */ #ifndef DOXYGEN_SHOULD_IGNORE_THIS -#ifdef ENABLE_RTTOPO +#ifdef ENABLE_LWGEOM #endif /** - Resets the RTTOPO error and warning messages to an empty state - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - - \sa gaiaGetRtTopoErrorMsg, gaiaGetRtTopoWarningMsg, gaiaSetRtTopoErrorMsg, - gaiaSetRtTopoWarningMsg + Resets the LWGEOM error and warning messages to an empty state - \remark \b RTTOPO support required. + \sa gaiaGetLwGeomErrorMsg, gaiaGetLwGeomWarningMsg, gaiaSetLwGeomErrorMsg, + gaiaSetLwGeomWarningMsg + + \note not reentrant and thread unsafe. + + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE void gaiaResetRtTopoMsg (const void *p_cache); + GAIAGEO_DECLARE void gaiaResetLwGeomMsg (void); /** - Return the latest RTTOPO error message (if any) + Return the latest LWGEOM error message (if any) - \return the latest RTTOPO error message: an empty string if no error was + \return the latest LWGEOM error message: an empty string if no error was previoysly found. - \param p_cache a memory pointer returned by spatialite_alloc_connection() - - \sa gaiaResetRtTopoMsg, gaiaGetRtTopoWarningMsg, gaiaSetRtTopoErrorMsg, - gaiaSetRtTopoWarningMsg + \note not reentrant and thread unsafe. - \remark \b RTTOPO support required. + \sa gaiaResetLwGeomMsg, gaiaGetLwGeomWarningMsg, gaiaSetLwGeomErrorMsg, + gaiaSetLwGeomWarningMsg + + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE const char *gaiaGetRtTopoErrorMsg (const void *p_cache); + GAIAGEO_DECLARE const char *gaiaGetLwGeomErrorMsg (void); /** - Return the latest RTTOPO warning message (if any) + Return the latest LWGEOM warning message (if any) - \return the latest RTTOPO warning message: an empty string if no warning was + \return the latest LWGEOM warning message: an empty string if no warning was previoysly found. - \param p_cache a memory pointer returned by spatialite_alloc_connection() + \sa gaiaResetLwGeomMsg, gaiaGetLwGeomErrorMsg, gaiaSetLwGeomErrorMsg, + gaiaSetLwGeomWarningMsg - \sa gaiaResetRtTopoMsg, gaiaGetRtTopoErrorMsg, gaiaSetRtTopoErrorMsg, - gaiaSetRtTopoWarningMsg + \note not reentrant and thread unsafe. + + \remark \b LWGEOM support required. + */ + GAIAGEO_DECLARE const char *gaiaGetLwGeomWarningMsg (void); + +/** + Set the current LWGEOM error message + + \param msg the error message to be set. + + \sa gaiaResetLwGeomMsg, gaiaGetLwGeomErrorMsg, gaiaGetLwGeomWarningMsg, + gaiaSetLwGeomWarningMsg + + \note not reentrant and thread unsafe. + + \remark \b LWGEOM support required. + */ + GAIAGEO_DECLARE void gaiaSetLwGeomErrorMsg (const char *msg); + +/** + Set the current LWGEOM warning message + + \param msg the warning message to be set. + + \sa gaiaResetLwGeomMsg, gaiaGetLwGeomErrorMsg, gaiaGetLwGeomWarningMsg, + gaiaSetLwGeomErrorMsg \note not reentrant and thread unsafe. - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE const char *gaiaGetRtTopoWarningMsg (const void *p_cache); - -/** - Set the current RTTOPO error message - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param msg the error message to be set. - - \sa gaiaResetRtTopoMsg, gaiaGetRtTopoErrorMsg, gaiaGetRtTopoWarningMsg, - gaiaSetRtTopoWarningMsg - - \remark \b RTTOPO support required. - */ - GAIAGEO_DECLARE void gaiaSetRtTopoErrorMsg (const void *p_cache, - const char *msg); - -/** - Set the current RTTOPO warning message - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param msg the warning message to be set. - - \sa gaiaResetRtTopoMsg, gaiaGetRtTopoErrorMsg, gaiaGetRtTopoWarningMsg, - gaiaSetRtTopoErrorMsg - - \remark \b RTTOPO support required. - */ - GAIAGEO_DECLARE void gaiaSetRtTopoWarningMsg (const void *p_cache, - const char *msg); + GAIAGEO_DECLARE void gaiaSetLwGeomWarningMsg (const char *msg); /** Utility function: MakeValid - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom the input Geometry object. \return the pointer to newly created Geometry object: NULL on failure. \n this function will attempt to create a valid representation of a given invalid geometry without loosing any of the input vertices. @@ -3503,19 +3339,17 @@ \sa gaiaFreeGeomColl, gaiaMakeValidDiscarded \note you are responsible to destroy (before or after) any allocated Geometry, this including any Geometry returned by gaiaMakeValid() - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeValid (const void *p_cache, - gaiaGeomCollPtr geom); + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeValid (gaiaGeomCollPtr geom); /** Utility function: MakeValidDiscarded - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom the input Geometry object. \return the pointer to newly created Geometry object: NULL on failure. \n this function will attempt to collect any invalid item (offending geometries) discarded by gaiaMakeValid while building a valid Geometry. @@ -3526,21 +3360,18 @@ \sa gaiaFreeGeomColl, gaiaMakeValid \note you are responsible to destroy (before or after) any allocated Geometry, this including any Geometry returned by gaiaMakeValidDiscarded() - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeValidDiscarded (const void - *p_cache, - gaiaGeomCollPtr + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeValidDiscarded (gaiaGeomCollPtr geom); /** Utility function: Segmentize - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom the input Geometry object. \param dist the meximum segment length. \return the pointer to newly created Geometry object: NULL on failure. \n this function will return a modified geometry having no segment longer than the given distance. @@ -3551,20 +3382,18 @@ \sa gaiaFreeGeomColl \note you are responsible to destroy (before or after) any allocated Geometry, this including any Geometry returned by gaiaSegmentize() - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSegmentize (const void *p_cache, - gaiaGeomCollPtr geom, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSegmentize (gaiaGeomCollPtr geom, double dist); /** Utility function: Azimuth - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param xa the X coordinate of PointA. \param ya the Y coordinate of PointA. \param xb the X ccordinate of PointB. \param yb the Y coordinate of PointB. \param azimuth on completion this variable will contain the angle in radians from @@ -3573,20 +3402,18 @@ \return 0 on failure: any other value on success \sa gaiaProjectedPoint - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE int gaiaAzimuth (const void *p_cache, double xa, - double ya, double xb, double yb, - double *azimuth); + GAIAGEO_DECLARE int gaiaAzimuth (double xa, double ya, double xb, + double yb, double *azimuth); /** Utility function: EllipsoidAzimuth - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param xa the X coordinate of PointA. \param ya the Y coordinate of PointA. \param xb the X ccordinate of PointB. \param yb the Y coordinate of PointB. \param a major axis of the reference spheroid. @@ -3597,21 +3424,19 @@ \return 0 on failure: any other value on success \sa gaiaAzimuth - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE int gaiaEllipsoidAzimuth (const void *p_cache, double xa, - double ya, double xb, double yb, - double a, double b, + GAIAGEO_DECLARE int gaiaEllipsoidAzimuth (double xa, double ya, double xb, + double yb, double a, double b, double *azimuth); /** Utility function: ProjectedPoint - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param x1 the X coordinate of the Start Point. \param y1 the Y coordinate of the Start Point. \param a major axis of the reference spheroid. \param b minor axis of the reference spheroid. \param distance a distance expressed in Meters @@ -3622,38 +3447,35 @@ \param y2 on completion this variable will contain the the Y coordinate of the Projected Point. \return 0 on failure: any other value on success - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE int gaiaProjectedPoint (const void *p_cache, double x1, - double y1, double a, double b, - double distance, double azimuth, - double *x2, double *y2); + GAIAGEO_DECLARE int gaiaProjectedPoint (double x1, double y1, double a, + double b, double distance, + double azimuth, double *x2, + double *y2); /** Utility function: GeoHash - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom the input geometry. \param precision the expected precision: if <= 0 will be automatically determined. \return NULL on failure: a null-terminated text string on success \note you are responsible to free (before or after) any text string returned by gaiaGeoHash() - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE char *gaiaGeoHash (const void *p_cache, - gaiaGeomCollPtr geom, int precision); + GAIAGEO_DECLARE char *gaiaGeoHash (gaiaGeomCollPtr geom, int precision); /** Utility function: AsX3D - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom the input geometry. \param srs the WKT SRS definition. \param precision the expected precision (coord decimal digits). \param options \param refid the X3D namespace @@ -3661,21 +3483,19 @@ \return NULL on failure: a null-terminated text string on success \note you are responsible to free (before or after) any text string returned by gaiaAsX3D() - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE char *gaiaAsX3D (const void *p_cache, - gaiaGeomCollPtr geom, const char *srs, + GAIAGEO_DECLARE char *gaiaAsX3D (gaiaGeomCollPtr geom, const char *srs, int precision, int options, const char *refid); /** Calculates the minimum 3D distance intercurring between two Geometry objects - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom1 the first Geometry object \param geom2 the second Geometry object \param dist on completion this variable will contain the calculated distance \return 0 on failure: any other value on success. @@ -3682,20 +3502,18 @@ \sa gaiaGeomCollDistance, gaiaMaxDistance, gaia3DMaxDisance \note this function computes the 3D cartesian distance (if Z is supported) - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE int gaia3DDistance (const void *p_cache, - gaiaGeomCollPtr geom1, + GAIAGEO_DECLARE int gaia3DDistance (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist); /** Calculates the maximum 2D distance intercurring between two Geometry objects - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom1 the first Geometry object \param geom2 the second Geometry object \param dist on completion this variable will contain the calculated distance \return 0 on failure: any other value on success. @@ -3702,20 +3520,18 @@ \sa gaiaGeomCollDistance, gaia3DDistance, gaia3DMaxDistance \note this function computes the 2D maximum cartesian distance (Z is always ignored) - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE int gaiaMaxDistance (const void *p_cache, - gaiaGeomCollPtr geom1, + GAIAGEO_DECLARE int gaiaMaxDistance (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist); /** Calculates the maximum 3D distance intercurring between two Geometry objects - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom1 the first Geometry object \param geom2 the second Geometry object \param dist on completion this variable will contain the calculated distance \return 0 on failure: any other value on success. @@ -3722,37 +3538,18 @@ \sa gaiaGeomCollDistance, gaia3DDistance, gaiaMaxDistance \note this function computes the 3D maximum cartesian distance (if Z is supported) - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE int gaia3DMaxDistance (const void *p_cache, - gaiaGeomCollPtr geom1, + GAIAGEO_DECLARE int gaia3DMaxDistance (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2, double *dist); -/** - Calculates the 2D or 3D Length for a Linestring or Multilinestring - accordingly to the dimensions of Geometry - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param geom the Geometry object - \param length on completion this variable will contain the calculated length - - \return 0 on failure: any other value on success. - - \sa gaiaGeomCollDistance - - \remark \b RTTOPO support required. - */ - GAIAGEO_DECLARE int gaia3dLength (const void *p_cache, - gaiaGeomCollPtr geom, double *length); - /** Utility function: Split - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param input the input Geometry object. \param blade the blade Geometry object. \return the pointer to newly created Geometry object: NULL on failure. \n The function supports splitting a line by point, a line by line, a polygon by line. @@ -3762,20 +3559,18 @@ \note you are responsible to destroy (before or after) any allocated Geometry, this including any Geometry returned by gaiaSplit() \note gaiaSplit will return both the \b left and the \b right split halves at the same time. - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplit (const void *p_cache, - gaiaGeomCollPtr input, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplit (gaiaGeomCollPtr input, gaiaGeomCollPtr blade); /** Utility function: SplitLeft - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param input the input Geometry object. \param blade the blade Geometry object. \return the pointer to newly created Geometry object: NULL on failure. \n The function supports splitting a line by point, a line by line, a polygon by line. @@ -3786,20 +3581,18 @@ this including any Geometry returned by gaiaSplitLeft() \note gaiaSplitLeft will only return the \b left split half; NULL may be eventually returned if empty. - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplitLeft (const void *p_cache, - gaiaGeomCollPtr input, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplitLeft (gaiaGeomCollPtr input, gaiaGeomCollPtr blade); /** Utility function: SplitRight - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param input the input Geometry object. \param blade the blade Geometry object. \return the pointer to newly created Geometry object: NULL on failure. \n The function supports splitting a line by point, a line by line, a polygon by line. @@ -3810,20 +3603,18 @@ this including any Geometry returned by gaiaSplitRight() \note gaiaSplitLeft will only return the \b right split half; NULL may be eventually returned if empty. - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplitRight (const void *p_cache, - gaiaGeomCollPtr input, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSplitRight (gaiaGeomCollPtr input, gaiaGeomCollPtr blade); /** Measures the total Area for a Geometry object (geodesic) - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param geom pointer to Geometry object \param a major axis of the reference spheroid. \param b minor axis of the reference spheroid. \param use_ellipsoid if TRUE will measure the Area on the Ellipsoid, otherwise on the Sphere @@ -3831,21 +3622,19 @@ \return 0 on failure: any other value on success \sa gaiaGeomCollLength, gaiaMeasureArea, gaiaGeomCollArea - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE int gaiaGeodesicArea (const void *p_cache, - gaiaGeomCollPtr geom, double a, + GAIAGEO_DECLARE int gaiaGeodesicArea (gaiaGeomCollPtr geom, double a, double b, int use_ellipsoid, double *area); /** Utility function: re-noding lines - \param p_cache a memory pointer returned by spatialite_alloc_connection() \param input the input Geometry object. \return the pointer to newly created Geometry object: NULL on failure. \n The function fully nodes a set of linestrings, using the least nodes preserving all the input ones. @@ -3853,16 +3642,15 @@ \sa gaiaFreeGeomColl \note you are responsible to destroy (before or after) any allocated Geometry, this including any Geometry returned by gaiaNode() - \remark \b RTTOPO support required. + \remark \b LWGEOM support required. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaNodeLines (const void *p_cache, - gaiaGeomCollPtr input); + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaNodeLines (gaiaGeomCollPtr input); -#endif /* end RTTOPO support */ +#endif /* end LWGEOM support */ #endif /* end including GEOS */ /** Utility function: SnapToGrid Index: src/headers/spatialite/gg_const.h ================================================================== --- src/headers/spatialite/gg_const.h +++ src/headers/spatialite/gg_const.h @@ -1,9 +1,9 @@ /* gg_const.h -- Gaia common support for geometries: constants - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Klaus Foerster klaus.foerster@svg.cc @@ -409,18 +409,10 @@ /** Clone Special Mode: Reversed Order */ #define GAIA_REVERSE_ORDER -1 /** Clone Special Mode: apply Left Handle Rule to Polygon Rings */ #define GAIA_LHR_ORDER -2 -/* constants used for DBF column-names case */ -/** Leave all DBF column-names as they are */ -#define GAIA_DBF_COLNAME_CASE_IGNORE 0 -/** Convert all DBF column names to LowerCase */ -#define GAIA_DBF_COLNAME_LOWERCASE 1 -/** Convert all DBF column names to UpperCase */ -#define GAIA_DBF_COLNAME_UPPERCASE 2 - /* macros */ /** macro extracting XY coordinates \param xy pointer [const void *] to COORD mem-array Index: src/headers/spatialite/gg_core.h ================================================================== --- src/headers/spatialite/gg_core.h +++ src/headers/spatialite/gg_core.h @@ -1,9 +1,9 @@ /* gg_core.h -- Gaia common support for geometries: core functions - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): @@ -269,12 +269,11 @@ \note both LINESTRING objects must have exactly the same number of points: if dimensions aren't the same for both objects, then the appropriate conversion will be silently applied. */ - GAIAGEO_DECLARE void gaiaCopyLinestringCoordsReverse (gaiaLinestringPtr - dst, + GAIAGEO_DECLARE void gaiaCopyLinestringCoordsReverse (gaiaLinestringPtr dst, gaiaLinestringPtr src); /** Allocates a 2D RING [XY] @@ -587,13 +586,12 @@ \param z Z coordinate of the Point to be created \note ownership of the newly created POINT object belongs to the Geometry object. */ - GAIAGEO_DECLARE void gaiaAddPointToGeomCollXYZ (gaiaGeomCollPtr p, - double x, double y, - double z); + GAIAGEO_DECLARE void gaiaAddPointToGeomCollXYZ (gaiaGeomCollPtr p, double x, + double y, double z); /** Creates a new 2D Point [XYM] object into a Geometry object \param p pointer to the Geometry object @@ -602,13 +600,12 @@ \param m M measure of the Point to be created \note ownership of the newly created POINT object belongs to the Geometry object. */ - GAIAGEO_DECLARE void gaiaAddPointToGeomCollXYM (gaiaGeomCollPtr p, - double x, double y, - double m); + GAIAGEO_DECLARE void gaiaAddPointToGeomCollXYM (gaiaGeomCollPtr p, double x, + double y, double m); /** Creates a new 3D Point [XYZM] object into a Geometry object \param p pointer to the Geometry object @@ -661,12 +658,12 @@ \return the pointer to newly created Polygon: NULL on failure. \note ownership of the newly created Polygon object belongs to the Geometry object. \n the newly created Polygon will have the same dimensions as the Geometry has. */ - GAIAGEO_DECLARE gaiaPolygonPtr gaiaAddPolygonToGeomColl (gaiaGeomCollPtr - p, int vert, + GAIAGEO_DECLARE gaiaPolygonPtr gaiaAddPolygonToGeomColl (gaiaGeomCollPtr p, + int vert, int interiors); /** Creates a new Polygon object into a Geometry object starting from an already existing Ring object @@ -679,12 +676,14 @@ \note ownership of the Ring object will be transferred to the Polygon object, and the Polygon object ownerships belongs to the Geometry object. \n the Polygon object will have the same dimensions as the Ring object has. */ - GAIAGEO_DECLARE gaiaPolygonPtr - gaiaInsertPolygonInGeomColl (gaiaGeomCollPtr p, gaiaRingPtr ring); + GAIAGEO_DECLARE gaiaPolygonPtr gaiaInsertPolygonInGeomColl (gaiaGeomCollPtr + p, + gaiaRingPtr + ring); /** Creates a new Interior Ring object into a Polygon object \param p pointer to the Polygon object. @@ -697,12 +696,12 @@ gaiaAllocPolygonXYZM \note ownership of the Ring object belongs to the Polygon object. \n the newly created Ring will have the same dimensions the Polygon has. */ - GAIAGEO_DECLARE gaiaRingPtr gaiaAddInteriorRing (gaiaPolygonPtr p, - int pos, int vert); + GAIAGEO_DECLARE gaiaRingPtr gaiaAddInteriorRing (gaiaPolygonPtr p, int pos, + int vert); /** Inserts an already existing Ring object into a Polygon object \param p pointer to the Polygon object @@ -1036,13 +1035,12 @@ intrinsically safest, because misused macros can easily cause severe memory corruption. \n gaiaLineSetPoint() instead will always ensure that the appropriate dimensions (as declared by the Linestring object) will be correctly used. */ - GAIAGEO_DECLARE int gaiaLineSetPoint (gaiaLinestringPtr ln, int v, - double x, double y, double z, - double m); + GAIAGEO_DECLARE int gaiaLineSetPoint (gaiaLinestringPtr ln, int v, double x, + double y, double z, double m); /** Gets coordinates from a Ring's Point \param rng pointer to Ring object. @@ -1276,11 +1274,11 @@ \param org pointer to Geometry object. \return the pointer to newly created Geometry: NULL on failure. - \sa gaiaIsToxic, gaiaEnsureClosedRings, gaiaRemoveRepeatedPoints + \sa gaiaIsToxic \note you are responsible to destroy (before or after) any allocated Geometry, this including any Geometry created by gaiaSanitize() \n the output Geometry will surely have: \li no repeated Points on Linestrings or Rings (i.e. consecutive Points @@ -1289,46 +1287,10 @@ \li proper Ring closure: for sure any Ring will have exactly coinciding first and last Points. */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaSanitize (gaiaGeomCollPtr org); -/** - Attempts to sanitize a possibly malformed Geometry object - - \param org pointer to Geometry object. - - \return the pointer to newly created Geometry: NULL on failure. - - \sa gaiaIsToxic, gaiaSanitize, gaiaRemoveRepeatedPoint - - \note you are responsible to destroy (before or after) any allocated Geometry, - this including any Geometry created by gaiaSanitize() - \n the output Geometry will surely have proper Ring closure: for sure any - Ring will have exactly coinciding first and last Points. - */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaEnsureClosedRings (gaiaGeomCollPtr org); - -/** - Attempts to sanitize a possibly malformed Geometry object - - \param org pointer to Geometry object. - \param tolerance - - \return the pointer to newly created Geometry: NULL on failure. - - \sa gaiaIsToxic, gaiaSanitizeGeometry, gaiaEnsureClosedRings - - \note you are responsible to destroy (before or after) any allocated Geometry, - this including any Geometry created by gaiaSanitize() - \n the output Geometry will surely have no repeated Points on Linestrings or Rings - or MultiPoints (i.e. consecutive Points sharing exactly the same coordinates or - falling within the given tolerace): any repeated Point will be suppressed, - simply leaving only the first occurrence. - */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaRemoveRepeatedPoints (gaiaGeomCollPtr - org, - double tolerance); /** Attempts to resolve a (Multi)Linestring from a Geometry object \param geom pointer to Geometry object. @@ -1454,12 +1416,11 @@ this including any Geometry created by gaiaMergeGeometries() \n the newly created Geometry will contain any Point, Linestring and/or Polygon contained in both input Geometries.\n not reentrant and thread unsafe. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMergeGeometries (gaiaGeomCollPtr - geom1, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMergeGeometries (gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2); /** Merges two Geometry objects into a single one @@ -1475,12 +1436,11 @@ this including any Geometry created by gaiaMergeGeometries() \n the newly created Geometry will contain any Point, Linestring and/or Polygon contained in both input Geometries.\n reentrant and thread-safe. */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMergeGeometries_r (const void - *p_cache, + GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMergeGeometries_r (const void *p_cache, gaiaGeomCollPtr geom1, gaiaGeomCollPtr geom2); @@ -1570,12 +1530,12 @@ \param pt_x Point X coordinate \param pt_y Point Y coordinate \return 0 if false: any other value if true */ - GAIAGEO_DECLARE int gaiaIsPointOnRingSurface (gaiaRingPtr ring, - double pt_x, double pt_y); + GAIAGEO_DECLARE int gaiaIsPointOnRingSurface (gaiaRingPtr ring, double pt_x, + double pt_y); /** Checks if a Point lays on a Polygon surface \param polyg pointer to Polygon object @@ -1635,12 +1595,12 @@ \param shift_y Y axis shift factor. \sa gaiaScaleCoords, gaiaRotateCoords, gaiaReflectCoords, gaiaSwapCoords, gaiaShiftCoords3D, gaiaShiftLongitude */ - GAIAGEO_DECLARE void gaiaShiftCoords (gaiaGeomCollPtr geom, - double shift_x, double shift_y); + GAIAGEO_DECLARE void gaiaShiftCoords (gaiaGeomCollPtr geom, double shift_x, + double shift_y); /** Shifts any coordinate within a 3D Geometry object \param geom pointer to Geometry object. @@ -1689,12 +1649,12 @@ \param scale_x X axis scale factor. \param scale_y Y axis scale factor. \sa gaiaShiftCoords, gaiaRotateCoords, gaiaReflectCoords, gaiaSwapCoords */ - GAIAGEO_DECLARE void gaiaScaleCoords (gaiaGeomCollPtr geom, - double scale_x, double scale_y); + GAIAGEO_DECLARE void gaiaScaleCoords (gaiaGeomCollPtr geom, double scale_x, + double scale_y); /** Rotates any coordinate within a Geometry object \param geom pointer to Geometry object. @@ -1825,14 +1785,13 @@ gaiaGeodesicTotalLength \note the returned distance is expressed in Kilometers. \n the Geodesic method is much more accurate but slowest to be calculated. */ - GAIAGEO_DECLARE double gaiaGeodesicDistance (double a, double b, - double rf, double lat1, - double lon1, double lat2, - double lon2); + GAIAGEO_DECLARE double gaiaGeodesicDistance (double a, double b, double rf, + double lat1, double lon1, + double lat2, double lon2); /** Calculates the Great Circle Total Length for a Linestring / Ring \param a first geodesic parameter. @@ -1851,12 +1810,11 @@ \n \b dims, \b coords and \b vert are usually expected to correspond to \b DimensionModel, \b Coords and \b Points members from a gaiaLinestringStruct or gaiaRingStruct */ GAIAGEO_DECLARE double gaiaGreatCircleTotalLength (double a, double b, - int dims, - double *coords, + int dims, double *coords, int vert); /** Calculates the Geodesic Total Length for a Linestring / Ring @@ -1947,13 +1905,13 @@ \note simply a convenience method defaulting to gaiaMakeEllipticArc with both axes set to radius value */ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaMakeArc (double center_x, - double center_y, - double radius, double start, - double stop, double step); + double center_y, double radius, + double start, double stop, + double step); /** Creates an Elliptic Arc (Linestring) Geometry \param center_x center point X coordinate. Index: src/headers/spatialite/gg_dxf.h ================================================================== --- src/headers/spatialite/gg_dxf.h +++ src/headers/spatialite/gg_dxf.h @@ -1,9 +1,9 @@ /* gg_dxf.h -- Gaia common support for DXF files - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -898,12 +898,11 @@ \sa gaiaDxfWriteEntities, gaiaDxfWriteEndSection, gaiaDxfWritePoint, gaiaDxfWriteLine, gaiaDxfWriteRing, gaiaDxfWriteGeometry */ GAIAGEO_DECLARE int gaiaDxfWriteText (gaiaDxfWriterPtr dxf, const char *layer_name, double x, - double y, double z, - const char *label, + double y, double z, const char *label, double text_height, double angle); /** Writing a DXF Polyline (opened) Entity Index: src/headers/spatialite/gg_dynamic.h ================================================================== --- src/headers/spatialite/gg_dynamic.h +++ src/headers/spatialite/gg_dynamic.h @@ -1,9 +1,9 @@ /* gg_dynamic.h -- Gaia common support for geometries: DynamicLine functions - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): @@ -106,12 +106,12 @@ \param z Z coordinate of the Point \return the pointer to newly created Point */ GAIAGEO_DECLARE gaiaPointPtr - gaiaAppendPointZToDynamicLine (gaiaDynamicLinePtr p, double x, - double y, double z); + gaiaAppendPointZToDynamicLine (gaiaDynamicLinePtr p, double x, double y, + double z); /** Appends a new 2D Point [XYM] at the end of a dynamically growing line/ring object @@ -121,12 +121,12 @@ \param m M measure of the Point \return the pointer to newly created Point */ GAIAGEO_DECLARE gaiaPointPtr - gaiaAppendPointMToDynamicLine (gaiaDynamicLinePtr p, double x, - double y, double m); + gaiaAppendPointMToDynamicLine (gaiaDynamicLinePtr p, double x, double y, + double m); /** Appends a new 3D Point [XYZM] at the end of a dynamically growing line/ring object @@ -213,13 +213,14 @@ \sa gaiaDynamicLiceInsertBefore \return the pointer to newly created Point */ - GAIAGEO_DECLARE gaiaPointPtr - gaiaDynamicLineInsertAfter (gaiaDynamicLinePtr p, gaiaPointPtr pt, - double x, double y); + GAIAGEO_DECLARE gaiaPointPtr gaiaDynamicLineInsertAfter (gaiaDynamicLinePtr + p, gaiaPointPtr pt, + double x, + double y); /** Appends a new 2D Point [XY] immediately before the given Point into a dynamically growing line/ring object @@ -230,13 +231,15 @@ \sa gaiaDynamicLiceInsertBeforeAfter \return the pointer to newly created Point */ - GAIAGEO_DECLARE gaiaPointPtr - gaiaDynamicLineInsertBefore (gaiaDynamicLinePtr p, gaiaPointPtr pt, - double x, double y); + GAIAGEO_DECLARE gaiaPointPtr gaiaDynamicLineInsertBefore (gaiaDynamicLinePtr + p, + gaiaPointPtr pt, + double x, + double y); /** Removes a given Point from a dynamically growing line/ring object \param p pointer to dynamically growing line/ring object. @@ -257,12 +260,12 @@ \return the pointer to newly created dynamic growing line/ring object: NULL on failure. \note the newly created object is an exact copy of the original one. */ - GAIAGEO_DECLARE gaiaDynamicLinePtr - gaiaCloneDynamicLine (gaiaDynamicLinePtr org); + GAIAGEO_DECLARE gaiaDynamicLinePtr gaiaCloneDynamicLine (gaiaDynamicLinePtr + org); /** Duplicates and reverts a dynamically growing line/ring object \param org pointer to dynamically growing line/ring object [origin]. @@ -372,12 +375,13 @@ \sa gaiaDynamicLineFindByPos \note if the line object contains more Points sharing the same coordinates, a reference to the first one found will be returned. */ - GAIAGEO_DECLARE gaiaPointPtr - gaiaDynamicLineFindByCoords (gaiaDynamicLinePtr p, double x, double y); + GAIAGEO_DECLARE gaiaPointPtr gaiaDynamicLineFindByCoords (gaiaDynamicLinePtr + p, double x, + double y); /** Finds a Point within a dymically growing line/ring object [by position] \param p pointer to dymamically line/ring object. @@ -385,12 +389,12 @@ \return the pointer to the corresponding Point object: NULL on failure. \sa gaiaDynamicLineFindByCoords */ - GAIAGEO_DECLARE gaiaPointPtr gaiaDynamicLineFindByPos (gaiaDynamicLinePtr - p, int pos); + GAIAGEO_DECLARE gaiaPointPtr gaiaDynamicLineFindByPos (gaiaDynamicLinePtr p, + int pos); /** Creates a new dynamicly growing line/ring object \param coords an array of COORDs, any dimension [XY, XYZ, XYM, XYZM] Index: src/headers/spatialite/gg_formats.h ================================================================== --- src/headers/spatialite/gg_formats.h +++ src/headers/spatialite/gg_formats.h @@ -1,9 +1,9 @@ /* gg_formats.h -- Gaia common support for geometries: formats - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Klaus Foerster klaus.foerster@svg.cc @@ -101,12 +101,11 @@ \sa gaiaEndianArch, gaiaExport32 \note you are expected to pass an input buffer corresponding to an allocation size of (at least) 4 bytes. */ - GAIAGEO_DECLARE int gaiaImport32 (const unsigned char *p, - int little_endian, + GAIAGEO_DECLARE int gaiaImport32 (const unsigned char *p, int little_endian, int little_endian_arch); /** Import an UINT-32 value in endian-aware fashion @@ -371,13 +370,12 @@ \note the BLOB buffer corresponds to dynamically allocated memory: so you are responsible to free() it [unless SQLite will take care of memory cleanup via buffer binding]. */ - GAIAGEO_DECLARE void gaiaMakePointZ (double x, double y, double z, - int srid, unsigned char **result, - int *size); + GAIAGEO_DECLARE void gaiaMakePointZ (double x, double y, double z, int srid, + unsigned char **result, int *size); /** Creates a BLOB-Geometry representing a PointM \param x Point X coordinate. @@ -392,13 +390,12 @@ \note the BLOB buffer corresponds to dynamically allocated memory: so you are responsible to free() it [unless SQLite will take care of memory cleanup via buffer binding]. */ - GAIAGEO_DECLARE void gaiaMakePointM (double x, double y, double m, - int srid, unsigned char **result, - int *size); + GAIAGEO_DECLARE void gaiaMakePointM (double x, double y, double m, int srid, + unsigned char **result, int *size); /** Creates a BLOB-Geometry representing a PointZM \param x Point X coordinate. @@ -445,12 +442,11 @@ \param blob pointer to BLOB-Geometry \param size the BLOB's size \return the pointer to the newly created Geometry object: NULL on failure - \sa gaiaFreeGeomColl, gaiaToSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb, - gaiaFromSpatiaLiteBlobWkbEx + \sa gaiaFreeGeomColl, gaiaToSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb \note you are responsible to destroy (before or after) any allocated Geometry, unless you've passed ownership of the Geometry object to some further object: in this case destroying the higher order object will implicitly destroy any contained child object. @@ -458,38 +454,10 @@ GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromSpatiaLiteBlobWkb (const unsigned char *blob, unsigned int size); -/** - Creates a Geometry object from the corresponding BLOB-Geometry - - \param blob pointer to BLOB-Geometry - \param size the BLOB's size - \param gpkg_mode is set to TRUE will accept only GPKG Geometry-BLOBs - \param gpkg_amphibious is set to TRUE will indifferenctly accept - either SpatiaLite Geometry-BLOBs or GPKG Geometry-BLOBs - - \return the pointer to the newly created Geometry object: NULL on failure - - \sa gaiaFreeGeomColl, gaiaToSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb - - \note you are responsible to destroy (before or after) any allocated Geometry, - unless you've passed ownership of the Geometry object to some further object: - in this case destroying the higher order object will implicitly destroy any - contained child object. - */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaFromSpatiaLiteBlobWkbEx (const - unsigned char - *blob, - unsigned int - size, - int - gpkg_mode, - int - gpkg_amphibious); - /** Creates a BLOB-Geometry corresponding to a Geometry object \param geom pointer to the Geometry object. \param result on completion will containt a pointer to BLOB-Geometry: @@ -504,29 +472,10 @@ */ GAIAGEO_DECLARE void gaiaToSpatiaLiteBlobWkb (gaiaGeomCollPtr geom, unsigned char **result, int *size); -/** - Creates a BLOB-Geometry corresponding to a Geometry object - - \param geom pointer to the Geometry object. - \param result on completion will containt a pointer to BLOB-Geometry: - NULL on failure. - \param size on completion this variable will contain the BLOB's size (in bytes) - \param gpkg_mode is set to TRUE will always return GPKG Geometry-BLOBs - - \sa gaiaFromSpatiaLiteBlobWkb, gaiaToCompressedBlobWkb - - \note the BLOB buffer corresponds to dynamically allocated memory: - so you are responsible to free() it [unless SQLite will take care - of memory cleanup via buffer binding]. - */ - GAIAGEO_DECLARE void gaiaToSpatiaLiteBlobWkbEx (gaiaGeomCollPtr geom, - unsigned char **result, - int *size, int gpkg_mode); - /** Creates a Compressed BLOB-Geometry corresponding to a Geometry object \param geom pointer to the Geometry object. \param result on completion will containt a pointer to Compressed BLOB-Geometry: @@ -799,36 +748,19 @@ Encodes a Geometry object into WKT notation \param out_buf pointer to dynamically growing Text buffer \param geom pointer to Geometry object - \sa gaiaParseWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT, - gaiaOutWktEx + \sa gaiaParseWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT \note this function will apply 3D WKT encoding as internally intended by SpatiaLite: not necessarily intended by other OGC-like implementations. \n Anyway, 2D WKT is surely standard and safely interoperable. */ GAIAGEO_DECLARE void gaiaOutWkt (gaiaOutBufferPtr out_buf, gaiaGeomCollPtr geom); -/** - Encodes a Geometry object into WKT notation - - \param out_buf pointer to dynamically growing Text buffer - \param geom pointer to Geometry object - \param precision decimal digits to be used for coordinates - - \sa gaiaParseWkt, gaiaOutWktStrict, gaiaParseEWKT, gaiaToEWKT - - \note this function will apply 3D WKT encoding as internally intended by - SpatiaLite: not necessarily intended by other OGC-like implementations. - \n Anyway, 2D WKT is surely standard and safely interoperable. - */ - GAIAGEO_DECLARE void gaiaOutWktEx (gaiaOutBufferPtr out_buf, - gaiaGeomCollPtr geom, int precision); - /** Encodes a Geometry object into strict 2D WKT notation \param out_buf pointer to dynamically growing Text buffer \param geom pointer to Geometry object @@ -877,87 +809,42 @@ Encodes a WKT 3D Point [XYZ] \param out_buf pointer to dynamically growing Text buffer \param point pointer to Point object - \sa gaiaOutLinestringZ, gaiaOutPolygonZ, gaiaOutPointZex + \sa gaiaOutLinestringZ, gaiaOutPolygonZ \remark mainly intended for internal usage. */ GAIAGEO_DECLARE void gaiaOutPointZ (gaiaOutBufferPtr out_buf, gaiaPointPtr point); -/** - Encodes a WKT 3D Point [XYZ] - - \param out_buf pointer to dynamically growing Text buffer - \param point pointer to Point object - \param precision decimal digits to be used for coordinates - - \sa gaiaOutLinestringZ, gaiaOutPolygonZ - - \remark mainly intended for internal usage. - */ - GAIAGEO_DECLARE void gaiaOutPointZex (gaiaOutBufferPtr out_buf, - gaiaPointPtr point, int precision); - /** Encodes a WKT 3D Linestring [XYZ] \param out_buf pointer to dynamically growing Text buffer \param linestring pointer to Linestring object - \sa gaiaOutPointZ, gaiaOutPolygonZ, gaiaOutLinestringZex + \sa gaiaOutPointZ, gaiaOutPolygonZ \remark mainly intended for internal usage. */ GAIAGEO_DECLARE void gaiaOutLinestringZ (gaiaOutBufferPtr out_buf, gaiaLinestringPtr linestring); -/** - Encodes a WKT 3D Linestring [XYZ] - - \param out_buf pointer to dynamically growing Text buffer - \param linestring pointer to Linestring object - \param precision decimal digits to be used for coordinates - - \sa gaiaOutPointZ, gaiaOutPolygonZ - - \remark mainly intended for internal usage. - */ - GAIAGEO_DECLARE void gaiaOutLinestringZex (gaiaOutBufferPtr out_buf, - gaiaLinestringPtr linestring, - int precision); - /** Encodes a WKT 3D Polygon [XYZ] \param out_buf pointer to dynamically growing Text buffer \param polygon pointer to Point object - \sa gaiaOutPointZ, gaiaOutLinestringZ, gaiaOutPolygonZex + \sa gaiaOutPointZ, gaiaOutLinestringZ \remark mainly intended for internal usage. */ GAIAGEO_DECLARE void gaiaOutPolygonZ (gaiaOutBufferPtr out_buf, gaiaPolygonPtr polygon); - -/** - Encodes a WKT 3D Polygon [XYZ] - - \param out_buf pointer to dynamically growing Text buffer - \param polygon pointer to Point object - \param precision decimal digits to be used for coordinates - - \sa gaiaOutPointZ, gaiaOutLinestringZ - - \remark mainly intended for internal usage. - */ - GAIAGEO_DECLARE void gaiaOutPolygonZex (gaiaOutBufferPtr out_buf, - gaiaPolygonPtr polygon, - int precision); - /** Creates a Geometry object from KML notation \param in_buffer pointer to KML buffer @@ -1384,42 +1271,11 @@ const char *path, const char *charFrom, const char *charTo); /** - Open a Shapefile in write mode - extended - - \param shp pointer to the Shapefile object. - \param path \e abstract pathname to the corresponding file-system files. - \param shape the SHAPE code; expected to be one of GAIA_SHP_POINT, - GAIA_SHP_POLYLINE, GAIA_SHP_POLYGON, GAIA_SHP_MULTIPOINT, GAIA_SHP_POINTZ, - GAIA_SHP_POLYLINEZ, GAIA_SHP_POLYGONZ, GAIA_SHP_MULTIPOINTZ, - GAIA_SHP_POINTM, GAIA_SHP_POLYLINEM, GAIA_SHP_POLYGONM, GAIA_SHP_MULTIPOINTM - \param list pointer to DBF List object representing the corresponding - data attributes. - \param charFrom GNU ICONV name identifying the input charset encoding. - \param charTo GNU ICONV name identifying the output charset encoding. - \param colname_case one between GAIA_DBF_COLNAME_LOWERCASE, - GAIA_DBF_COLNAME_UPPERCASE or GAIA_DBF_COLNAME_CASE_IGNORE. - - \sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead, - gaiaReadShpEntity, gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders, - gaiaOpenShpWrite - - \note on failure the object member \e Valid will be set to 0; and the - object member \e LastError will contain the appropriate error message. - \n the \e abstract pathname should not contain any suffix at all. - */ - GAIAGEO_DECLARE void gaiaOpenShpWriteEx (gaiaShapefilePtr shp, - const char *path, int shape, - gaiaDbfListPtr list, - const char *charFrom, - const char *charTo, - int colname_case); - -/** - Open a Shapefile in write mode + Open a Shapefile in read mode \param shp pointer to the Shapefile object. \param path \e abstract pathname to the corresponding file-system files. \param shape the SHAPE code; expected to be one of GAIA_SHP_POINT, GAIA_SHP_POLYLINE, GAIA_SHP_POLYGON, GAIA_SHP_MULTIPOINT, GAIA_SHP_POINTZ, @@ -1429,14 +1285,15 @@ data attributes. \param charFrom GNU ICONV name identifying the input charset encoding. \param charTo GNU ICONV name identifying the output charset encoding. \sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead, - gaiaReadShpEntity, gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders, - gaiaOpenShpWriteEx + gaiaReadShpEntity, gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders - \note simply calls gaiaOpenShpWriteEx() by specifying GAIA_DBF_COLNAME_LOWERCASE + \note on failure the object member \e Valid will be set to 0; and the + object member \e LastError will contain the appropriate error message. + \n the \e abstract pathname should not contain any suffix at all. */ GAIAGEO_DECLARE void gaiaOpenShpWrite (gaiaShapefilePtr shp, const char *path, int shape, gaiaDbfListPtr list, const char *charFrom, @@ -1448,11 +1305,10 @@ \param shp pointer to the Shapefile object. \param current_row the row number identifying the feature to be read. \param srid feature's SRID \return 0 on failure: any other value on success. - -1 when the corresponding DBF record is marked as DELETED. \sa gaiaAllocShapefile, gaiaFreeShapefile, gaiaOpenShpRead, gaiaOpenShpWrite, gaiaShpAnalyze, gaiaWriteShpEntity, gaiaFlushShpHeaders \note on completion the Shapefile's \e Dbf member will contain the feature @@ -1582,47 +1438,23 @@ GAIAGEO_DECLARE void gaiaOpenDbfRead (gaiaDbfPtr dbf, const char *path, const char *charFrom, const char *charTo); -/** - Open a DBF File in write mode,- extended - - \param dbf pointer to the DBF File object. - \param path pathname to the corresponding file-system file. - \param charFrom GNU ICONV name identifying the input charset encoding. - \param charTo GNU ICONV name identifying the output charset encoding. - \param colname_case one between GAIA_DBF_COLNAME_LOWERCASE, - GAIA_DBF_COLNAME_UPPERCASE or GAIA_DBF_COLNAME_CASE_IGNORE. - - \sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfRead, - gaiaReadDbfEntity, gaiaWriteDbfEntity, gaiaFlushDbfHeader, - gaiaOpenDbfWrite - - \note on failure the object member \e Valid will be set to 0; and the - object member \e LastError will contain the appropriate error message. - */ - GAIAGEO_DECLARE void gaiaOpenDbfWriteEx (gaiaDbfPtr dbf, - const char *path, - const char *charFrom, - const char *charTo, - int colname_case); - /** Open a DBF File in write mode \param dbf pointer to the DBF File object. \param path pathname to the corresponding file-system file. \param charFrom GNU ICONV name identifying the input charset encoding. \param charTo GNU ICONV name identifying the output charset encoding. \sa gaiaAllocDbf, gaiaFreeDbf, gaiaOpenDbfRead, - gaiaReadDbfEntity, gaiaWriteDbfEntity, gaiaFlushDbfHeader, - gaiaOpenDbfWriteEx + gaiaReadDbfEntity, gaiaWriteDbfEntity, gaiaFlushDbfHeader - - \note simply calls gaiaOpenDbfWriteEx() by specifying GAIA_DBF_COLNAME_LOWERCASE + \note on failure the object member \e Valid will be set to 0; and the + object member \e LastError will contain the appropriate error message. */ GAIAGEO_DECLARE void gaiaOpenDbfWrite (gaiaDbfPtr dbf, const char *path, const char *charFrom, const char *charTo); @@ -1729,14 +1561,12 @@ \note you are responsible to destroy (before or after) any allocated Text Reader object. */ GAIAGEO_DECLARE gaiaTextReaderPtr gaiaTextReaderAlloc (const char *path, - char - field_separator, - char - text_separator, + char field_separator, + char text_separator, char decimal_separator, int first_line_titles, const char Index: src/headers/spatialite/gg_mbr.h ================================================================== --- src/headers/spatialite/gg_mbr.h +++ src/headers/spatialite/gg_mbr.h @@ -1,9 +1,9 @@ /* gg_mbr.h -- Gaia common support for geometries: MBR functions - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): @@ -305,13 +305,13 @@ \sa gaiaBuildMbr \note the \e circle of givern \e radius and \e centre will be used so to determine the corresponding \e square Envelope */ - GAIAGEO_DECLARE void gaiaBuildCircleMbr (double x, double y, - double radius, int srid, - unsigned char **result, int *size); + GAIAGEO_DECLARE void gaiaBuildCircleMbr (double x, double y, double radius, + int srid, unsigned char **result, + int *size); /** Creates a BLOB-FilterMBR \param x1 first X coordinate. @@ -403,12 +403,12 @@ \param min on completion this variable will contain the min Z value found \param max on completion this variable will contain the max Z value found \note if the Geometry has XY or XYM dims, the Z-Range is meaningless */ - GAIAGEO_DECLARE void gaiaZRangeGeometry (gaiaGeomCollPtr geom, - double *min, double *max); + GAIAGEO_DECLARE void gaiaZRangeGeometry (gaiaGeomCollPtr geom, double *min, + double *max); /** Computes the M-Range for a Linestring object \param line pointer to the Linestring object @@ -451,14 +451,14 @@ \param min on completion this variable will contain the min M value found \param max on completion this variable will contain the max M value found \note if the Geometry has XY or XYZ dims, the M-Range is meaningless */ - GAIAGEO_DECLARE void gaiaMRangeGeometry (gaiaGeomCollPtr geom, - double *min, double *max); + GAIAGEO_DECLARE void gaiaMRangeGeometry (gaiaGeomCollPtr geom, double *min, + double *max); #ifdef __cplusplus } #endif #endif /* _GG_MBR_H */ DELETED src/headers/spatialite/gg_sequence.h Index: src/headers/spatialite/gg_sequence.h ================================================================== --- src/headers/spatialite/gg_sequence.h +++ src/headers/spatialite/gg_sequence.h @@ -1,173 +0,0 @@ -/* - gg_sequence.h -- Gaia support for Spatialite's own Sequence - - version 4.4, 2016 August 12 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2008-2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - - -/** - \file gg_sequence.h - - Spatialite's own Sequence - */ - -#ifndef DOXYGEN_SHOULD_SKIP_THIS -/* stdio.h included for FILE objects. */ -#include -#ifdef DLL_EXPORT -#define GAIASEQ_DECLARE __declspec(dllexport) -#else -#define GAIASEQ_DECLARE extern -#endif -#endif - -#ifndef _GG_SEQUENCE_H -#ifndef DOXYGEN_SHOULD_SKIP_THIS -#define _GG_SEQUENCE_H -#endif - -#ifdef __cplusplus -extern "C" -{ -#endif - -/** - Typedef for Spatialite's own Sequence - */ - typedef struct gaia_sequence - { -/** name of the Sequence; NULL for the generic unnamed Sequence */ - char *seq_name; -/** current value */ - int value; -/** pointer to next Sequence (linked list) */ - struct gaia_sequence *next; - } gaiaSequence; - -/** - Typedef for Spatialite's own Sequence - */ - typedef gaiaSequence *gaiaSequencePtr; -/** -/ Creates a new SpatiaLite's own Sequence or retrieves an already - existing Sequence of the same name - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param seq_name name of the Sequence (may be NULL) - - \return a pointer to the Sequence or NULL on failure - - \sa gaiaFindSequence(), gaiaLastUsedSequence(), gaiaSequenceNext(), - gaiaResetSequence() - */ - GAIASEQ_DECLARE gaiaSequencePtr gaiaCreateSequence (const void *p_cache, - const char *seq_name); - -/** -/ Finds an existing SpatiaLite's own Sequence - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param seq_name name of the Sequence (may be NULL) - - \return a pointer to the Sequence or NULL on failure - - \sa gaiaCreateSequence(), gaiaLastUsedSequence(), gaiaSequenceNext(), - gaiaResetSequence() - */ - GAIASEQ_DECLARE gaiaSequencePtr gaiaFindSequence (const void *p_cache, - const char *seq_name); - -/** -/ Finds an existing SpatiaLite's own Sequence - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param last_value on sucess will contain the most recently used Sequence value - - \return ZERO on failure, any other value on success. - - \sa gaiaCreateSequence(), gaiaLastUsedSequence(), gaiaSequenceNext(), - gaiaResetSequence() - */ - GAIASEQ_DECLARE int gaiaLastUsedSequence (const void *p_cache, - int *last_value); - -/** -/ Increases by 1 the value of some SpatiaLite's own Sequence - - \param p_cache a memory pointer returned by spatialite_alloc_connection() - \param sequence a memory pointer returned by gaiaFindSequence() or - gaiaFindCreateSequence() - \param value new value to be set for the given Sequence - - \return ZERO on failure, any other value on success. - - \sa gaiaFindSequence(), gaiaCreateSequence(), gaiaLastUsedSequence(), - gaiaResetSequence() - - \note this method will reset an existing Sequence. The initial - value will be increased by the next call to gaiaSequenceNext() - */ - GAIASEQ_DECLARE int gaiaSequenceNext (const void *p_cache, - gaiaSequencePtr sequence); - -/** -/ Resets a SpatiaLite's own Sequence - - \param sequence a memory pointer returned by gaiaFindSequence() or - gaiaCreateSequence() - \param value new value to be set for the given Sequence - - \return ZERO on failure, any other value on success. - - \sa gaiaFindSequence(), gaiaCreateSequence(), gaiaSequenceNext(), - gaiaLastUsedSequence() - - \note this method will reset an existing Sequence. The initial - value will be increased by the next call to gaiaSequenceNext() - */ - GAIASEQ_DECLARE int gaiaResetSequence (gaiaSequencePtr sequence, int value); - -#ifdef __cplusplus -} -#endif - -#endif /* _GG_SEQUENCE_H */ Index: src/headers/spatialite/gg_structs.h ================================================================== --- src/headers/spatialite/gg_structs.h +++ src/headers/spatialite/gg_structs.h @@ -1,9 +1,9 @@ /* gg_structs.h -- Gaia common support for geometries: structures - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Index: src/headers/spatialite/gg_wfs.h ================================================================== --- src/headers/spatialite/gg_wfs.h +++ src/headers/spatialite/gg_wfs.h @@ -1,9 +1,9 @@ /* gg_wfs.h -- Gaia common support for WFS - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -101,12 +101,12 @@ to load_from_wfs_paged() setting a negative page size. */ SPATIALITE_DECLARE int load_from_wfs (sqlite3 * sqlite, const char *path_or_url, const char *alt_describe_uri, - const char *layer_name, - int swap_axes, const char *table, + const char *layer_name, int swap_axes, + const char *table, const char *pk_column_name, int spatial_index, int *rows, char **err_msg, void (*progress_callback) (int, void *), @@ -132,24 +132,20 @@ \param progress_callback pointer to a callback function to be invoked immediately after processing each WFS page (could be NULL) \param callback_ptr an arbitrary pointer (to be passed as the second argument by the callback function). - \sa create_wfs_catalog, load_from_wfs, reset_wfs_http_connection, - load_from_wfs_paged_ex + \sa create_wfs_catalog, load_from_wfs, reset_wfs_http_connection \return 0 on failure, any other value on success \note an eventual error message returned via err_msg requires to be deallocated by invoking free() \note the progress_callback function must have this signature: \b void \b myfunct(\b int \b count, \b void \b *ptr); \n and will cyclically report how many features have been processed since the initial call start. - - \note this function is now deprecated and simply defaults to a call to - load_from_wfs_paged_ex assuming WFS version 1.1.0 */ SPATIALITE_DECLARE int load_from_wfs_paged (sqlite3 * sqlite, const char *path_or_url, const char *alt_describe_uri, const char *layer_name, @@ -157,60 +153,13 @@ const char *table, const char *pk_column_name, int spatial_index, int page_size, int *rows, char **err_msg, - void (*progress_callback) - (int, void *), - void *callback_ptr); - -/** - Loads data from some WFS source (using WFS paging) - Extended - - \param sqlite handle to current DB connection - \param wfs_version one of "1.0.0", "1.1.0", "2.0.0" or "2.0.2" - \param path_or_url pointer to some WFS-GetFeature XML Document (could be a pathname or an URL). - \param alt_describe_uri an alternative URI for DescribeFeatureType to be used - if no one is found within the XML document returned by GetFeature. - \param layer_name the name of the WFS layer. - \param swap_axes if TRUE the X and Y axes will be swapped - \param table the name of the table to be created - \param pk_column name of the Primary Key column; if NULL or mismatching - then "PK_UID" will be assumed by default. - \param spatial_index if TRUE an R*Tree Spatial Index will be created - \param page_size max number of features for each single WFS call; if zero or - negative a single monolithic page is assumed (i.e. paging will not be applied). - \param rows on completion will contain the total number of actually imported rows - \param err_msg on completion will contain an error message (if any) - \param progress_callback pointer to a callback function to be invoked immediately - after processing each WFS page (could be NULL) - \param callback_ptr an arbitrary pointer (to be passed as the second argument - by the callback function). - - \sa create_wfs_catalog, load_from_wfs, reset_wfs_http_connection - - \return 0 on failure, any other value on success - - \note an eventual error message returned via err_msg requires to be deallocated - by invoking free() - - \note the progress_callback function must have this signature: - \b void \b myfunct(\b int \b count, \b void \b *ptr); - \n and will cyclically report how many features have been processed since the initial call start. - */ - SPATIALITE_DECLARE int load_from_wfs_paged_ex(sqlite3 * sqlite, const char *wfs_version, - const char *path_or_url, - const char *alt_describe_uri, - const char *layer_name, - int swap_axes, - const char *table, - const char *pk_column_name, - int spatial_index, - int page_size, int *rows, - char **err_msg, - void (*progress_callback) - (int, void *), + void (*progress_callback) (int, + void + *), void *callback_ptr); /** Creates a Catalog for some WFS service @@ -273,12 +222,12 @@ \return the base URL for any WFS-DescribeFeatureType call: NULL is undefined \sa create_wfs_catalog, get_wfs_base_request_url, get_wfs_describe_url */ - SPATIALITE_DECLARE const char - *get_wfs_base_describe_url (gaiaWFScatalogPtr handle); + SPATIALITE_DECLARE const char *get_wfs_base_describe_url (gaiaWFScatalogPtr + handle); /** Return a GetFeature URL (GET) \param handle the pointer to a valid WFS-Item returned by a previous call @@ -540,12 +489,13 @@ isn't valid \sa create_wfs_schema, get_wfs_schema_geometry_info, get_wfs_schema_column_count, get_wfs_schema_column_info */ - SPATIALITE_DECLARE gaiaWFScolumnPtr - get_wfs_schema_column (gaiaWFSschemaPtr handle, int index); + SPATIALITE_DECLARE gaiaWFScolumnPtr get_wfs_schema_column (gaiaWFSschemaPtr + handle, + int index); /** Return the infos describing some WFS-Column object \param handle the pointer to a valid WFS-Column returned by a previous call @@ -558,12 +508,11 @@ \return TRUE on success, FALSE if any error is encountered \sa get_wfs_schema_column, get_wfs_schema_geometry_info */ - SPATIALITE_DECLARE int get_wfs_schema_column_info (gaiaWFScolumnPtr - handle, + SPATIALITE_DECLARE int get_wfs_schema_column_info (gaiaWFScolumnPtr handle, const char **name, int *type, int *nullable); /** Index: src/headers/spatialite/gg_xml.h ================================================================== --- src/headers/spatialite/gg_xml.h +++ src/headers/spatialite/gg_xml.h @@ -1,9 +1,9 @@ /* gg_xml.h -- Gaia common support for XML documents - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -104,12 +104,10 @@ #define GAIA_XML_SLD_SE_VECTOR_STYLE 0x40 /** XmlBLOB FLAG - SLD STYLE bitmask */ #define GAIA_XML_SLD_STYLE 0x48 /** XmlBLOB FLAG - SVG bitmask */ #define GAIA_XML_SVG 0x20 -/** XmlBLOB FLAG - GPX bitmask */ -#define GAIA_XML_GPX 0x08 /* function prototypes */ #ifndef DOXYGEN_SHOULD_IGNORE_THIS @@ -218,11 +216,11 @@ \return TRUE or FALSE \sa gaiaIsCompressedXmlBlob, gaiaIsSchemaValidatedXmlBlob, gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob, - gaiaIsSvgXmlBlob, gaiaIsGpxXmlBlob + gaiaIsSvgXmlBlob */ GAIAGEO_DECLARE int gaiaIsValidXmlBlob (const unsigned char *blob, int size); /** @@ -234,11 +232,11 @@ \return TRUE or FALSE if the BLOB actually is a valid XmlBLOB; -1 in any other case. \sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob, gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob, - gaiaIsSvgXmlBlob, gaiaIsGpxXmlBlob + gaiaIsSvgXmlBlob */ GAIAGEO_DECLARE int gaiaIsCompressedXmlBlob (const unsigned char *blob, int size); /** @@ -250,11 +248,11 @@ \return TRUE or FALSE if the BLOB actually is a valid XmlBLOB; -1 in any other case. \sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob, gaiaIsCompressedXmlBlob, gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob, - gaiaIsSvgXmlBlob, gaiaIsGpxXmlBlob + gaiaIsSvgXmlBlob */ GAIAGEO_DECLARE int gaiaIsIsoMetadataXmlBlob (const unsigned char *blob, int size); /** @@ -266,11 +264,11 @@ \return TRUE or FALSE if the BLOB actually is a valid XmlBLOB of the Vector type; -1 in any other case. \sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob, gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob, - gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSvgXmlBlob, gaiaIsGpxXmlBlob + gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSvgXmlBlob */ GAIAGEO_DECLARE int gaiaIsSldSeVectorStyleXmlBlob (const unsigned char *blob, int size); /** @@ -283,11 +281,11 @@ Raster type; -1 in any other case. \sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob, gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldStyleXmlBlob, - gaiaIsSvgXmlBlob, gaiaIsGpxXmlBlob + gaiaIsSvgXmlBlob */ GAIAGEO_DECLARE int gaiaIsSldSeRasterStyleXmlBlob (const unsigned char *blob, int size); /** @@ -300,11 +298,11 @@ SLD type; -1 in any other case. \sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob, gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldSeRasterXmlBlob, - gaiaIsSvgXmlBlob, gaiaIsGpxXmlBlob + gaiaIsSvgXmlBlob */ GAIAGEO_DECLARE int gaiaIsSldStyleXmlBlob (const unsigned char *blob, int size); /** @@ -316,29 +314,14 @@ \return TRUE or FALSE if the BLOB actually is a valid XmlBLOB; -1 in any other case. \sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob, gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldStyleXmlBlob, - gaiaIsSldSeRasterStyleXmlBlob, gaiaIsGpxXmlBlob + gaiaIsSldSeRasterStyleXmlBlob */ GAIAGEO_DECLARE int gaiaIsSvgXmlBlob (const unsigned char *blob, int size); -/** - Checks if a valid XmlBLOB buffer does contain a GPX document or not - - \param blob pointer to the XmlBLOB buffer. - \param size XmlBLOB's size (in bytes). - - \return TRUE or FALSE if the BLOB actually is a valid XmlBLOB; -1 in any other case. - - \sa gaiaIsValidXmlBlob, gaiaIsSchemaValidatedXmlBlob, - gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob, - gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldStyleXmlBlob, - gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSvgXmlBlob - */ - GAIAGEO_DECLARE int gaiaIsGpxXmlBlob (const unsigned char *blob, int size); - /** Return another XmlBLOB buffer compressed / uncompressed \param blob pointer to the input XmlBLOB buffer. \param in_size input XmlBLOB's size (in bytes). @@ -370,12 +353,12 @@ \sa gaiaIsValidXmlBlob, gaiaIsSvgXmlBlob, gaiaIsCompressedXmlBlob, gaiaIsIsoMetadataXmlBlob, gaiaIsSldSeVectorStyleXmlBlob, gaiaIsSldSeRasterStyleXmlBlob, gaiaIsSldStyleXmlBlob */ - GAIAGEO_DECLARE int gaiaIsSchemaValidatedXmlBlob (const unsigned char - *blob, int size); + GAIAGEO_DECLARE int gaiaIsSchemaValidatedXmlBlob (const unsigned char *blob, + int size); /** Return the XMLDocument size (in bytes) from a valid XmlBLOB buffer \param blob pointer to the XmlBLOB buffer. @@ -418,12 +401,12 @@ \note the returned SchemaURI corresponds to dynamically allocated memory: so you are responsible to free() it before or after. */ GAIAGEO_DECLARE char *gaiaXmlGetInternalSchemaURI (const void *p_cache, - const unsigned char - *xml, int xml_len); + const unsigned char *xml, + int xml_len); /** Return the FileIdentifier from a valid XmlBLOB buffer \param blob pointer to the XmlBLOB buffer. @@ -474,12 +457,11 @@ \note the output XmlBLOB corresponds to dynamically allocated memory: so you are responsible to free() it before or after. */ GAIAGEO_DECLARE int gaiaXmlBlobSetFileId (const void *p_cache, const unsigned char *blob, - int size, - const char *identifier, + int size, const char *identifier, unsigned char **new_blob, int *new_size); /** Return a new XmlBLOB (ISO Metadata) by replacing the ParentId value @@ -526,12 +508,11 @@ \note the output XmlBLOB corresponds to dynamically allocated memory: so you are responsible to free() it before or after. */ GAIAGEO_DECLARE int gaiaXmlBlobAddFileId (const void *p_cache, const unsigned char *blob, - int size, - const char *identifier, + int size, const char *identifier, const char *ns_id, const char *uri_id, const char *ns_charstr, const char *uri_charstr, unsigned char **new_blob, @@ -622,50 +603,30 @@ */ GAIAGEO_DECLARE char *gaiaXmlBlobGetAbstract (const unsigned char *blob, int size); /** - Return the Geometry buffer from a valid XmlBLOB buffer + Return the Geometry Buffer from a valid XmlBLOB buffer \param blob pointer to the XmlBLOB buffer. \param size XmlBLOB's size (in bytes). \param blob_geom on completion this variable will contain - a pointer to the returned Geometry buffer (NULL if no Geometry + a pointer to the returned Geometry Buffer (NULL if no Geometry was defined within the XmlBLOB) \param blob_size on completion this variable will contain - the size (in bytes) of the returned Geometry buffer + the size (in bytes) of the returned Geometry Buffer \sa gaiaIsIsoMetadataXmlBlob - \note the returned Geometry buffer corresponds to dynamically allocated memory: + \note the returned Geometry Buffer corresponds to dynamically allocated memory: so you are responsible to free() it before or after. */ GAIAGEO_DECLARE void gaiaXmlBlobGetGeometry (const unsigned char *blob, int size, unsigned char **blob_geom, int *blob_size); -/** - Return a MultiLinestring Geometry from a valid GPX XmlBLOB buffer - - \param blob pointer to the XmlBLOB buffer. - \param size XmlBLOB's size (in bytes). - \param db_handle handle to the current SQLite connection - - \return a Geometry of the MultiLinestring type, or NULL - - \sa gaiaIsIsoMetadataXmlBlob - - \note the returned Geometry corresponds to dynamically allocated memory: - so you are responsible to free() it before or after. - */ - GAIAGEO_DECLARE gaiaGeomCollPtr gaiaXmlBlobMLineFromGPX (const unsigned - char *blob, - int size, - sqlite3 * - db_handle); - /** Return the Charset Encoding from a valid XmlBLOB buffer \param blob pointer to the XmlBLOB buffer. \param size XmlBLOB's size (in bytes). Index: src/headers/spatialite/spatialite.h ================================================================== --- src/headers/spatialite/spatialite.h +++ src/headers/spatialite/spatialite.h @@ -1,9 +1,9 @@ /* spatialite.h -- Gaia support for SQLite extensions - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -47,16 +47,14 @@ SPATIALITE_PRIVATE int virtualshape_extension_init (void *db); SPATIALITE_PRIVATE int virtualdbf_extension_init (void *db); SPATIALITE_PRIVATE int virtualtext_extension_init (void *db); SPATIALITE_PRIVATE int virtualXL_extension_init (void *db); SPATIALITE_PRIVATE int virtualnetwork_extension_init (void *db); -SPATIALITE_PRIVATE int virtualrouting_extension_init (void *db); SPATIALITE_PRIVATE int virtualfdo_extension_init (void *db); SPATIALITE_PRIVATE int virtualbbox_extension_init (void *db, const void *p_cache); SPATIALITE_PRIVATE int mbrcache_extension_init (void *db); SPATIALITE_PRIVATE int virtual_spatialindex_extension_init (void *db); SPATIALITE_PRIVATE int virtual_elementary_extension_init (void *db); -SPATIALITE_PRIVATE int virtual_knn_extension_init (void *db); SPATIALITE_PRIVATE int virtual_xpath_extension_init (void *db, const void *p_cache); SPATIALITE_PRIVATE int virtualgpkg_extension_init (void *db); Index: src/headers/spatialite/sqlite.h ================================================================== --- src/headers/spatialite/sqlite.h +++ src/headers/spatialite/sqlite.h @@ -1,9 +1,9 @@ /* sqlite.h -- supporting SQLite headers in a flexible way - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2013-2015 +Portions created by the Initial Developer are Copyright (C) 2013 the Initial Developer. All Rights Reserved. Contributor(s): Pepijn Van Eeckhoudt Index: src/headers/spatialite_private.h ================================================================== --- src/headers/spatialite_private.h +++ src/headers/spatialite_private.h @@ -1,9 +1,9 @@ /* spatialite.h -- Gaia spatial support for SQLite - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -21,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -45,12 +45,10 @@ #include #include #include -#include "spatialite/gg_sequence.h" - /** \file spatialite_private.h SpatiaLite private header file */ @@ -125,58 +123,26 @@ void *schemaDoc; void *parserCtxt; void *schema; }; - struct splite_savepoint - { - char *savepoint_name; - struct splite_savepoint *prev; - struct splite_savepoint *next; - }; - #define MAX_XMLSCHEMA_CACHE 16 struct splite_internal_cache { unsigned char magic1; - int gpkg_mode; - int gpkg_amphibious_mode; - int decimal_precision; void *GEOS_handle; void *PROJ_handle; - void *RTTOPO_handle; void *xmlParsingErrors; void *xmlSchemaValidationErrors; void *xmlXPathErrors; - char *cutterMessage; struct splite_geos_cache_item cacheItem1; struct splite_geos_cache_item cacheItem2; struct splite_xmlSchema_cache_item xmlSchemaCache[MAX_XMLSCHEMA_CACHE]; int pool_index; void (*geos_warning) (const char *fmt, ...); void (*geos_error) (const char *fmt, ...); - char *gaia_geos_error_msg; - char *gaia_geos_warning_msg; - char *gaia_geosaux_error_msg; - char *gaia_rttopo_error_msg; - char *gaia_rttopo_warning_msg; - int silent_mode; - void *firstTopology; - void *lastTopology; - void *firstNetwork; - void *lastNetwork; - unsigned int next_topo_savepoint; - struct splite_savepoint *first_topo_svpt; - struct splite_savepoint *last_topo_svpt; - unsigned int next_network_savepoint; - struct splite_savepoint *first_net_svpt; - struct splite_savepoint *last_net_svpt; - gaiaSequencePtr first_seq; - gaiaSequencePtr last_seq; - int ok_last_used_sequence; - int last_used_sequence_val; unsigned char magic2; }; struct epsg_defs { @@ -206,11 +172,10 @@ int count; int allocation_incr; int allocated_items; int has3d; int tps; - int order; /* point set A */ double *x0; double *y0; double *z0; /* point set B */ @@ -234,19 +199,14 @@ }; SPATIALITE_PRIVATE void free_internal_cache (struct splite_internal_cache *cache); - SPATIALITE_PRIVATE void free_internal_cache_topologies (void *first); - - SPATIALITE_PRIVATE void free_internal_cache_networks (void *first); - SPATIALITE_PRIVATE struct epsg_defs *add_epsg_def (int filter_srid, - struct epsg_defs - **first, - struct epsg_defs - **last, int srid, + struct epsg_defs **first, + struct epsg_defs **last, + int srid, const char *auth_name, int auth_srid, const char *ref_sys_name); @@ -253,19 +213,17 @@ SPATIALITE_PRIVATE struct epsg_defs *add_epsg_def_ex (int filter_srid, struct epsg_defs **first, struct epsg_defs **last, int srid, - const char - *auth_name, + const char *auth_name, int auth_srid, const char *ref_sys_name, int is_geographic, int flipped_axes, - const char - *spheroid, + const char *spheroid, const char *prime_meridian, const char *datum, const char *projection, @@ -287,12 +245,10 @@ struct epsg_defs **first, struct epsg_defs **last); SPATIALITE_PRIVATE void free_epsg (struct epsg_defs *first); - SPATIALITE_PRIVATE int exists_spatial_ref_sys (void *handle); - SPATIALITE_PRIVATE int checkSpatialMetaData (const void *sqlite); SPATIALITE_PRIVATE int delaunay_triangle_check (void *pg); SPATIALITE_PRIVATE void *voronoj_build (int pgs, void *first, @@ -369,12 +325,11 @@ SPATIALITE_PRIVATE int getEllipsoidParams (void *p_sqlite, int srid, double *a, double *b, double *rf); - SPATIALITE_PRIVATE void addVectorLayer (void *list, - const char *layer_type, + SPATIALITE_PRIVATE void addVectorLayer (void *list, const char *layer_type, const char *table_name, const char *geometry_column, int geometry_type, int srid, int spatial_index); @@ -385,12 +340,11 @@ double min_y, double max_x, double max_y); SPATIALITE_PRIVATE void addLayerAttributeField (void *list, const char *table_name, - const char - *geometry_column, + const char *geometry_column, int ordinal, const char *column_name, int null_values, int integer_values, int double_values, @@ -404,12 +358,11 @@ int null_double_range, double double_min, double double_max); SPATIALITE_PRIVATE int createStylingTables (void *p_sqlite, int relaxed); - SPATIALITE_PRIVATE int createStylingTables_ex (void *p_sqlite, - int relaxed, + SPATIALITE_PRIVATE int createStylingTables_ex (void *p_sqlite, int relaxed, int transaction); SPATIALITE_PRIVATE int register_external_graphic (void *p_sqlite, const char *xlink_href, const unsigned char @@ -503,22 +456,10 @@ SPATIALITE_PRIVATE int unregister_raster_coverage_srid (void *p_sqlite, const char *coverage_name, int srid); - SPATIALITE_PRIVATE int register_raster_coverage_keyword (void *p_sqlite, - const char - *coverage_name, - const char - *keyword); - - SPATIALITE_PRIVATE int unregister_raster_coverage_keyword (void *p_sqlite, - const char - *coverage_name, - const char - *keyword); - SPATIALITE_PRIVATE int update_raster_coverage_extent (void *p_sqlite, const void *cache, const char *coverage_name, int transaction); @@ -525,12 +466,11 @@ /* DEPRECATED - always use register_styled_group_ex */ SPATIALITE_PRIVATE int register_styled_group (void *p_sqlite, const char *group_name, const char *f_table_name, - const char - *f_geometry_column, + const char *f_geometry_column, const char *coverage_name, int paint_order); SPATIALITE_PRIVATE int register_styled_group_ex (void *p_sqlite, const char *group_name, @@ -572,26 +512,24 @@ int style_id, const unsigned char *p_blob, int n_bytes); SPATIALITE_PRIVATE int register_group_style_ex (void *p_sqlite, - const unsigned char - *p_blob, int n_bytes); + const unsigned char *p_blob, + int n_bytes); - SPATIALITE_PRIVATE int unregister_group_style (void *p_sqlite, - int style_id, + SPATIALITE_PRIVATE int unregister_group_style (void *p_sqlite, int style_id, const char *style_name, int remove_all); SPATIALITE_PRIVATE int reload_group_style (void *p_sqlite, int style_id, const char *style_name, const unsigned char *p_blob, int n_bytes); SPATIALITE_PRIVATE int register_styled_group_style (void *p_sqlite, - const char - *group_name, + const char *group_name, int style_id, const char *style_name); SPATIALITE_PRIVATE int unregister_styled_group_style (void *p_sqlite, const char @@ -619,12 +557,11 @@ const char *coverage_name); SPATIALITE_PRIVATE int createVectorCoveragesTable (void *p_sqlite); SPATIALITE_PRIVATE int register_vector_coverage (void *p_sqlite, - const char - *coverage_name, + const char *coverage_name, const char *f_table_name, const char *f_geometry_column, const char *title, const char *abstract); @@ -632,12 +569,11 @@ SPATIALITE_PRIVATE int unregister_vector_coverage (void *p_sqlite, const char *coverage_name); SPATIALITE_PRIVATE int set_vector_coverage_infos (void *p_sqlite, - const char - *coverage_name, + const char *coverage_name, const char *title, const char *abstract); SPATIALITE_PRIVATE int register_vector_coverage_srid (void *p_sqlite, const char @@ -647,162 +583,25 @@ SPATIALITE_PRIVATE int unregister_vector_coverage_srid (void *p_sqlite, const char *coverage_name, int srid); - SPATIALITE_PRIVATE int register_vector_coverage_keyword (void *p_sqlite, - const char - *coverage_name, - const char - *keyword); - - SPATIALITE_PRIVATE int unregister_vector_coverage_keyword (void *p_sqlite, - const char - *coverage_name, - const char - *keyword); - SPATIALITE_PRIVATE int update_vector_coverage_extent (void *p_sqlite, const void *cache, const char *coverage_name, int transaction); - SPATIALITE_PRIVATE int createWMSTables (void *p_sqlite); + SPATIALITE_PRIVATE const char *splite_lwgeom_version (void); - SPATIALITE_PRIVATE int register_wms_getcapabilities (void *p_sqlite, - const char *url, - const char *title, - const char *abstract); - - SPATIALITE_PRIVATE int unregister_wms_getcapabilities (void *p_sqlite, - const char *url); - - SPATIALITE_PRIVATE int set_wms_getcapabilities_infos (void *p_sqlite, - const char *url, - const char *title, - const char *abstract); - - SPATIALITE_PRIVATE int register_wms_getmap (void *p_sqlite, - const char *getcapabilities_url, - const char *getmap_url, - const char *layer_name, - const char *title, - const char *abstract, - const char *version, - const char *ref_sys, - const char *image_format, - const char *style, - int transparent, - int flip_axes, - int tiled, - int cached, - int tile_width, - int tile_height, - const char *bgcolor, - int is_queryable, - const char *getfeatureinfo_url); - - SPATIALITE_PRIVATE int unregister_wms_getmap (void *p_sqlite, - const char *url, - const char *layer_name); - - SPATIALITE_PRIVATE int set_wms_getmap_infos (void *p_sqlite, - const char *url, - const char *layer_name, - const char *title, - const char *abstract); - - SPATIALITE_PRIVATE int set_wms_getmap_bgcolor (void *p_sqlite, - const char *url, - const char *layer_name, - const char *bgcolor); - - SPATIALITE_PRIVATE int set_wms_getmap_queryable (void *p_sqlite, - const char *url, - const char *layer_name, - int is_queryable, - const char - *getfeatureifo_url); - - SPATIALITE_PRIVATE int set_wms_getmap_options (void *p_sqlite, - const char *url, - const char *layer_name, - int transparent, - int flip_axes); - - SPATIALITE_PRIVATE int set_wms_getmap_tiled (void *p_sqlite, - const char *url, - const char *layer_name, - int tiled, int cached, - int tile_width, - int tile_height); - - SPATIALITE_PRIVATE int register_wms_setting (void *p_sqlite, - const char *url, - const char *layer_name, - const char *key, - const char *value, - int is_default); - - SPATIALITE_PRIVATE int unregister_wms_setting (void *p_sqlite, - const char *url, - const char *layer_name, - const char *key, - const char *value); - - SPATIALITE_PRIVATE int set_wms_default_setting (void *p_sqlite, - const char *url, - const char *layer_name, - const char *key, - const char *value); - - SPATIALITE_PRIVATE int register_wms_srs (void *p_sqlite, - const char *url, - const char *layer_name, - const char *ref_sys, double minx, - double miny, double maxx, - double maxy, int is_default); - - SPATIALITE_PRIVATE int unregister_wms_srs (void *p_sqlite, - const char *url, - const char *layer_name, - const char *ref_sys); - - SPATIALITE_PRIVATE int set_wms_default_srs (void *p_sqlite, - const char *url, - const char *layer_name, - const char *ref_sys); - - SPATIALITE_PRIVATE char *wms_getmap_request_url (void *p_sqlite, - const char *getmap_url, - const char *layer_name, - int width, int height, - double minx, double miny, - double maxx, double maxy); - - SPATIALITE_PRIVATE char *wms_getfeatureinfo_request_url (void *p_sqlite, - const char - *getmap_url, - const char - *layer_name, - int width, - int height, int x, - int y, double minx, - double miny, - double maxx, - double maxy, - int feature_count); - - SPATIALITE_PRIVATE const char *splite_rttopo_version (void); + SPATIALITE_PRIVATE void splite_lwgeom_init (void); SPATIALITE_PRIVATE void splite_free_geos_cache_item (struct splite_geos_cache_item *p); - SPATIALITE_PRIVATE void splite_free_geos_cache_item_r (const void - *p_cache, + SPATIALITE_PRIVATE void splite_free_geos_cache_item_r (const void *p_cache, struct splite_geos_cache_item *p); SPATIALITE_PRIVATE void splite_free_xml_schema_cache_item (struct @@ -813,12 +612,11 @@ *ns_list); SPATIALITE_PRIVATE struct vxpath_namespaces *vxpath_get_namespaces (void *p_xml_doc); - SPATIALITE_PRIVATE int vxpath_eval_expr (const void *p_cache, - void *xml_doc, + SPATIALITE_PRIVATE int vxpath_eval_expr (const void *p_cache, void *xml_doc, const char *xpath_expr, void *p_xpathCtx, void *p_xpathObj); SPATIALITE_PRIVATE void *register_spatialite_sql_functions (void *db, @@ -836,399 +634,28 @@ SPATIALITE_PRIVATE void splite_cache_semaphore_lock (void); SPATIALITE_PRIVATE void splite_cache_semaphore_unlock (void); + SPATIALITE_PRIVATE void splite_lwgeom_semaphore_lock (void); + + SPATIALITE_PRIVATE void splite_lwgeom_semaphore_unlock (void); + SPATIALITE_PRIVATE const void *gaiaAuxClonerCreate (const void *sqlite, const char *db_prefix, const char *in_table, const char *out_table); - SPATIALITE_PRIVATE const void *gaiaAuxClonerCreateEx (const void *sqlite, - const char - *db_prefix, - const char - *in_table, - const char - *out_table, - int create_only); - SPATIALITE_PRIVATE void gaiaAuxClonerDestroy (const void *cloner); SPATIALITE_PRIVATE void gaiaAuxClonerAddOption (const void *cloner, const char *option); SPATIALITE_PRIVATE int gaiaAuxClonerCheckValidTarget (const void *cloner); SPATIALITE_PRIVATE int gaiaAuxClonerExecute (const void *cloner); - SPATIALITE_PRIVATE int gaia_matrix_to_arrays (const unsigned char *blob, - int blob_sz, double *E, - double *N, double *Z); - -/* Topology SQL functions */ - SPATIALITE_PRIVATE void *fromRTGeom (const void *ctx, const void *rtgeom, - const int dimension_model, - const int declared_type); - - SPATIALITE_PRIVATE void *toRTGeom (const void *ctx, const void *gaia); - - SPATIALITE_PRIVATE void fnctaux_GetLastTopologyException (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_CreateTopology (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_DropTopology (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_AddIsoNode (const void *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_MoveIsoNode (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_RemIsoNode (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_AddIsoEdge (const void *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_AddEdgeModFace (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_AddEdgeNewFaces (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_RemEdgeNewFace (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_RemEdgeModFace (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ChangeEdgeGeom (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_RemIsoEdge (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_AddIsoEdge (const void *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ModEdgeSplit (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_NewEdgesSplit (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ModEdgeHeal (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_NewEdgeHeal (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_GetFaceEdges (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_GetFaceGeometry (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ValidateTopoGeo (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_CreateTopoGeo (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_GetNodeByPoint (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_GetEdgeByPoint (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_GetFaceByPoint (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_AddPoint (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_AddLineString (const void - *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_AddLineStringNoFace (const void - *context, - int argc, - const void - *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_Polygonize (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_FromGeoTable (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_FromGeoTableNoFace (const void - *context, - int argc, - const void - *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_FromGeoTableExt (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_FromGeoTableNoFaceExt (const void - *context, - int argc, - const void - *argv); - - SPATIALITE_PRIVATE void fnctaux_Polygonize (const void - *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_TopoSnap (const void - *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_SnappedGeoTable (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_ToGeoTable (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_ToGeoTableGeneralize (const void - *context, - int argc, - const void - *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_RemoveSmallFaces (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_RemoveDanglingEdges (const void - *context, - int argc, - const void - *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_RemoveDanglingNodes (const void - *context, - int argc, - const void - *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_NewEdgeHeal (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_ModEdgeHeal (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_CreateTopoLayer (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_InitTopoLayer (const void - *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_RemoveTopoLayer (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_ExportTopoLayer (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_InsertFeatureFromTopoLayer (const - void - *context, - int - argc, - const - void - *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_Clone (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_SubdivideLines (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_GetEdgeSeed (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_GetFaceSeed (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_UpdateSeeds (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_SnapPointToSeed (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoGeo_SnapLineToSeed (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void start_topo_savepoint (const void *handle, - const void *cache); - - SPATIALITE_PRIVATE void release_topo_savepoint (const void *handle, - const void *cache); - - SPATIALITE_PRIVATE void rollback_topo_savepoint (const void *handle, - const void *cache); - -/* Topology-Network SQL functions */ - SPATIALITE_PRIVATE void fnctaux_GetLastNetworkException (const void - *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_CreateNetwork (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_DropNetwork (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_AddIsoNetNode (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_MoveIsoNetNode (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_RemIsoNetNode (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_AddLink (const void *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ChangeLinkGeom (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_RemoveLink (const void *context, int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_NewLogLinkSplit (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ModLogLinkSplit (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_NewGeoLinkSplit (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ModGeoLinkSplit (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_NewLinkHeal (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ModLinkHeal (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_LogiNetFromTGeo (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_SpatNetFromTGeo (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_SpatNetFromGeom (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ValidLogicalNet (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_ValidSpatialNet (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_GetNetNodeByPoint (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_GetLinkByPoint (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoNet_FromGeoTable (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoNet_ToGeoTable (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoNet_ToGeoTableGeneralize (const void - *context, - int argc, - const void - *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoNet_ToGeoTableGeneralize (const void - *context, - int argc, - const void - *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoNet_Clone (const void *context, - int argc, const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoNet_GetLinkSeed (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void fnctaux_TopoNet_UpdateSeeds (const void *context, - int argc, - const void *argv); - - SPATIALITE_PRIVATE void start_net_savepoint (const void *handle, - const void *cache); - - SPATIALITE_PRIVATE void release_net_savepoint (const void *handle, - const void *cache); - - SPATIALITE_PRIVATE void rollback_net_savepoint (const void *handle, - const void *cache); - - SPATIALITE_PRIVATE int test_inconsistent_topology (const void *handle); - #ifdef __cplusplus } #endif #endif /* _SPATIALITE_PRIVATE_H */ Index: src/md5/Makefile.in ================================================================== --- src/md5/Makefile.in +++ src/md5/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -14,21 +14,11 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -88,19 +78,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/md5 +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp $(noinst_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -176,11 +166,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -333,10 +322,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/md5/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/md5/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -624,11 +614,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/md5/gaia_md5.c ================================================================== --- src/md5/gaia_md5.c +++ src/md5/gaia_md5.c @@ -2,11 +2,11 @@ gaia_md5.c -- a thin wrapper built around the original MD5 implementation from Alexander Peslyak (released on the Public Domain) - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -24,11 +24,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -86,11 +86,11 @@ { /* progressively updating the MD5 checksum */ MD5_CTX *md5 = (MD5_CTX *) p_md5; if (md5 == NULL || blob == NULL) return; - splite_MD5_Update (md5, (void *) blob, blob_len); + splite_MD5_Update (md5, (void *)blob, blob_len); } GAIAAUX_DECLARE char * gaiaFinalizeMD5Checksum (void *p_md5) { Index: src/md5/md5.c ================================================================== --- src/md5/md5.c +++ src/md5/md5.c @@ -87,221 +87,216 @@ /* * This processes one or more 64-byte data blocks, but does NOT update * the bit counters. There are no alignment requirements. */ -static void * -body (MD5_CTX * ctx, void *data, unsigned long size) +static void *body(MD5_CTX *ctx, void *data, unsigned long size) { - unsigned char *ptr; - MD5_u32plus a, b, c, d; - MD5_u32plus saved_a, saved_b, saved_c, saved_d; + unsigned char *ptr; + MD5_u32plus a, b, c, d; + MD5_u32plus saved_a, saved_b, saved_c, saved_d; - ptr = data; + ptr = data; - a = ctx->a; - b = ctx->b; - c = ctx->c; - d = ctx->d; + a = ctx->a; + b = ctx->b; + c = ctx->c; + d = ctx->d; - do - { - saved_a = a; - saved_b = b; - saved_c = c; - saved_d = d; + do { + saved_a = a; + saved_b = b; + saved_c = c; + saved_d = d; /* Round 1 */ - STEP (F, a, b, c, d, SET (0), 0xd76aa478, 7) - STEP (F, d, a, b, c, SET (1), 0xe8c7b756, 12) - STEP (F, c, d, a, b, SET (2), 0x242070db, 17) - STEP (F, b, c, d, a, SET (3), 0xc1bdceee, 22) - STEP (F, a, b, c, d, SET (4), 0xf57c0faf, 7) - STEP (F, d, a, b, c, SET (5), 0x4787c62a, 12) - STEP (F, c, d, a, b, SET (6), 0xa8304613, 17) - STEP (F, b, c, d, a, SET (7), 0xfd469501, 22) - STEP (F, a, b, c, d, SET (8), 0x698098d8, 7) - STEP (F, d, a, b, c, SET (9), 0x8b44f7af, 12) - STEP (F, c, d, a, b, SET (10), 0xffff5bb1, 17) - STEP (F, b, c, d, a, SET (11), 0x895cd7be, 22) - STEP (F, a, b, c, d, SET (12), 0x6b901122, 7) - STEP (F, d, a, b, c, SET (13), 0xfd987193, 12) - STEP (F, c, d, a, b, SET (14), 0xa679438e, 17) - STEP (F, b, c, d, a, SET (15), 0x49b40821, 22) + STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7) + STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12) + STEP(F, c, d, a, b, SET(2), 0x242070db, 17) + STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22) + STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7) + STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12) + STEP(F, c, d, a, b, SET(6), 0xa8304613, 17) + STEP(F, b, c, d, a, SET(7), 0xfd469501, 22) + STEP(F, a, b, c, d, SET(8), 0x698098d8, 7) + STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12) + STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17) + STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22) + STEP(F, a, b, c, d, SET(12), 0x6b901122, 7) + STEP(F, d, a, b, c, SET(13), 0xfd987193, 12) + STEP(F, c, d, a, b, SET(14), 0xa679438e, 17) + STEP(F, b, c, d, a, SET(15), 0x49b40821, 22) + /* Round 2 */ - STEP (G, a, b, c, d, GET (1), 0xf61e2562, 5) - STEP (G, d, a, b, c, GET (6), 0xc040b340, 9) - STEP (G, c, d, a, b, GET (11), 0x265e5a51, 14) - STEP (G, b, c, d, a, GET (0), 0xe9b6c7aa, 20) - STEP (G, a, b, c, d, GET (5), 0xd62f105d, 5) - STEP (G, d, a, b, c, GET (10), 0x02441453, 9) - STEP (G, c, d, a, b, GET (15), 0xd8a1e681, 14) - STEP (G, b, c, d, a, GET (4), 0xe7d3fbc8, 20) - STEP (G, a, b, c, d, GET (9), 0x21e1cde6, 5) - STEP (G, d, a, b, c, GET (14), 0xc33707d6, 9) - STEP (G, c, d, a, b, GET (3), 0xf4d50d87, 14) - STEP (G, b, c, d, a, GET (8), 0x455a14ed, 20) - STEP (G, a, b, c, d, GET (13), 0xa9e3e905, 5) - STEP (G, d, a, b, c, GET (2), 0xfcefa3f8, 9) - STEP (G, c, d, a, b, GET (7), 0x676f02d9, 14) - STEP (G, b, c, d, a, GET (12), 0x8d2a4c8a, 20) + STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5) + STEP(G, d, a, b, c, GET(6), 0xc040b340, 9) + STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14) + STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20) + STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5) + STEP(G, d, a, b, c, GET(10), 0x02441453, 9) + STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14) + STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20) + STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5) + STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9) + STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14) + STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20) + STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5) + STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9) + STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14) + STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20) + /* Round 3 */ - STEP (H, a, b, c, d, GET (5), 0xfffa3942, 4) - STEP (H, d, a, b, c, GET (8), 0x8771f681, 11) - STEP (H, c, d, a, b, GET (11), 0x6d9d6122, 16) - STEP (H, b, c, d, a, GET (14), 0xfde5380c, 23) - STEP (H, a, b, c, d, GET (1), 0xa4beea44, 4) - STEP (H, d, a, b, c, GET (4), 0x4bdecfa9, 11) - STEP (H, c, d, a, b, GET (7), 0xf6bb4b60, 16) - STEP (H, b, c, d, a, GET (10), 0xbebfbc70, 23) - STEP (H, a, b, c, d, GET (13), 0x289b7ec6, 4) - STEP (H, d, a, b, c, GET (0), 0xeaa127fa, 11) - STEP (H, c, d, a, b, GET (3), 0xd4ef3085, 16) - STEP (H, b, c, d, a, GET (6), 0x04881d05, 23) - STEP (H, a, b, c, d, GET (9), 0xd9d4d039, 4) - STEP (H, d, a, b, c, GET (12), 0xe6db99e5, 11) - STEP (H, c, d, a, b, GET (15), 0x1fa27cf8, 16) - STEP (H, b, c, d, a, GET (2), 0xc4ac5665, 23) + STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4) + STEP(H, d, a, b, c, GET(8), 0x8771f681, 11) + STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16) + STEP(H, b, c, d, a, GET(14), 0xfde5380c, 23) + STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4) + STEP(H, d, a, b, c, GET(4), 0x4bdecfa9, 11) + STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16) + STEP(H, b, c, d, a, GET(10), 0xbebfbc70, 23) + STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4) + STEP(H, d, a, b, c, GET(0), 0xeaa127fa, 11) + STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16) + STEP(H, b, c, d, a, GET(6), 0x04881d05, 23) + STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4) + STEP(H, d, a, b, c, GET(12), 0xe6db99e5, 11) + STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16) + STEP(H, b, c, d, a, GET(2), 0xc4ac5665, 23) + /* Round 4 */ - STEP (I, a, b, c, d, GET (0), 0xf4292244, 6) - STEP (I, d, a, b, c, GET (7), 0x432aff97, 10) - STEP (I, c, d, a, b, GET (14), 0xab9423a7, 15) - STEP (I, b, c, d, a, GET (5), 0xfc93a039, 21) - STEP (I, a, b, c, d, GET (12), 0x655b59c3, 6) - STEP (I, d, a, b, c, GET (3), 0x8f0ccc92, 10) - STEP (I, c, d, a, b, GET (10), 0xffeff47d, 15) - STEP (I, b, c, d, a, GET (1), 0x85845dd1, 21) - STEP (I, a, b, c, d, GET (8), 0x6fa87e4f, 6) - STEP (I, d, a, b, c, GET (15), 0xfe2ce6e0, 10) - STEP (I, c, d, a, b, GET (6), 0xa3014314, 15) - STEP (I, b, c, d, a, GET (13), 0x4e0811a1, 21) - STEP (I, a, b, c, d, GET (4), 0xf7537e82, 6) - STEP (I, d, a, b, c, GET (11), 0xbd3af235, 10) - STEP (I, c, d, a, b, GET (2), 0x2ad7d2bb, 15) - STEP (I, b, c, d, a, GET (9), 0xeb86d391, 21) a += saved_a; - b += saved_b; - c += saved_c; - d += saved_d; - - ptr += 64; - } - while (size -= 64); - - ctx->a = a; - ctx->b = b; - ctx->c = c; - ctx->d = d; - - return ptr; + STEP(I, a, b, c, d, GET(0), 0xf4292244, 6) + STEP(I, d, a, b, c, GET(7), 0x432aff97, 10) + STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15) + STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21) + STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6) + STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10) + STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15) + STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21) + STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6) + STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10) + STEP(I, c, d, a, b, GET(6), 0xa3014314, 15) + STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21) + STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6) + STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10) + STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15) + STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21) + + a += saved_a; + b += saved_b; + c += saved_c; + d += saved_d; + + ptr += 64; + } while (size -= 64); + + ctx->a = a; + ctx->b = b; + ctx->c = c; + ctx->d = d; + + return ptr; } /* Sandro Furieri - SpatiaLite - 2013-06-03 simply re-declaring all these functions as PRIVATE (not externally visible outside libspatialite itself) */ -MD5_PRIVATE void -splite_MD5_Init (MD5_CTX * ctx) +MD5_PRIVATE void splite_MD5_Init(MD5_CTX *ctx) { - ctx->a = 0x67452301; - ctx->b = 0xefcdab89; - ctx->c = 0x98badcfe; - ctx->d = 0x10325476; + ctx->a = 0x67452301; + ctx->b = 0xefcdab89; + ctx->c = 0x98badcfe; + ctx->d = 0x10325476; - ctx->lo = 0; - ctx->hi = 0; + ctx->lo = 0; + ctx->hi = 0; } -MD5_PRIVATE void -splite_MD5_Update (MD5_CTX * ctx, void *data, unsigned long size) +MD5_PRIVATE void splite_MD5_Update(MD5_CTX *ctx, void *data, unsigned long size) { - MD5_u32plus saved_lo; - unsigned long used, free; - - saved_lo = ctx->lo; - if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) - ctx->hi++; - ctx->hi += size >> 29; - - used = saved_lo & 0x3f; - - if (used) - { - free = 64 - used; - - if (size < free) - { - memcpy (&ctx->buffer[used], data, size); - return; - } + MD5_u32plus saved_lo; + unsigned long used, free; + + saved_lo = ctx->lo; + if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) + ctx->hi++; + ctx->hi += size >> 29; + + used = saved_lo & 0x3f; + + if (used) { + free = 64 - used; + + if (size < free) { + memcpy(&ctx->buffer[used], data, size); + return; + } + + memcpy(&ctx->buffer[used], data, free); + data = (unsigned char *)data + free; + size -= free; + body(ctx, ctx->buffer, 64); + } + + if (size >= 64) { + data = body(ctx, data, size & ~(unsigned long)0x3f); + size &= 0x3f; + } - memcpy (&ctx->buffer[used], data, free); - data = (unsigned char *) data + free; - size -= free; - body (ctx, ctx->buffer, 64); - } - - if (size >= 64) - { - data = body (ctx, data, size & ~(unsigned long) 0x3f); - size &= 0x3f; - } - - memcpy (ctx->buffer, data, size); + memcpy(ctx->buffer, data, size); } -MD5_PRIVATE void -splite_MD5_Final (unsigned char *result, MD5_CTX * ctx) +MD5_PRIVATE void splite_MD5_Final(unsigned char *result, MD5_CTX *ctx) { - unsigned long used, free; + unsigned long used, free; + + used = ctx->lo & 0x3f; + + ctx->buffer[used++] = 0x80; + + free = 64 - used; + + if (free < 8) { + memset(&ctx->buffer[used], 0, free); + body(ctx, ctx->buffer, 64); + used = 0; + free = 64; + } - used = ctx->lo & 0x3f; + memset(&ctx->buffer[used], 0, free - 8); - ctx->buffer[used++] = 0x80; - - free = 64 - used; + ctx->lo <<= 3; + ctx->buffer[56] = ctx->lo; + ctx->buffer[57] = ctx->lo >> 8; + ctx->buffer[58] = ctx->lo >> 16; + ctx->buffer[59] = ctx->lo >> 24; + ctx->buffer[60] = ctx->hi; + ctx->buffer[61] = ctx->hi >> 8; + ctx->buffer[62] = ctx->hi >> 16; + ctx->buffer[63] = ctx->hi >> 24; - if (free < 8) - { - memset (&ctx->buffer[used], 0, free); - body (ctx, ctx->buffer, 64); - used = 0; - free = 64; - } + body(ctx, ctx->buffer, 64); - memset (&ctx->buffer[used], 0, free - 8); - - ctx->lo <<= 3; - ctx->buffer[56] = (char) (ctx->lo); - ctx->buffer[57] = (char) (ctx->lo >> 8); - ctx->buffer[58] = (char) (ctx->lo >> 16); - ctx->buffer[59] = (char) (ctx->lo >> 24); - ctx->buffer[60] = (char) (ctx->hi); - ctx->buffer[61] = (char) (ctx->hi >> 8); - ctx->buffer[62] = (char) (ctx->hi >> 16); - ctx->buffer[63] = (char) (ctx->hi >> 24); + result[0] = ctx->a; + result[1] = ctx->a >> 8; + result[2] = ctx->a >> 16; + result[3] = ctx->a >> 24; + result[4] = ctx->b; + result[5] = ctx->b >> 8; + result[6] = ctx->b >> 16; + result[7] = ctx->b >> 24; + result[8] = ctx->c; + result[9] = ctx->c >> 8; + result[10] = ctx->c >> 16; + result[11] = ctx->c >> 24; + result[12] = ctx->d; + result[13] = ctx->d >> 8; + result[14] = ctx->d >> 16; + result[15] = ctx->d >> 24; - body (ctx, ctx->buffer, 64); - - result[0] = (char) (ctx->a); - result[1] = (char) (ctx->a >> 8); - result[2] = (char) (ctx->a >> 16); - result[3] = (char) (ctx->a >> 24); - result[4] = (char) (ctx->b); - result[5] = (char) (ctx->b >> 8); - result[6] = (char) (ctx->b >> 16); - result[7] = (char) (ctx->b >> 24); - result[8] = (char) (ctx->c); - result[9] = (char) (ctx->c >> 8); - result[10] = (char) (ctx->c >> 16); - result[11] = (char) (ctx->c >> 24); - result[12] = (char) (ctx->d); - result[13] = (char) (ctx->d >> 8); - result[14] = (char) (ctx->d >> 16); - result[15] = (char) (ctx->d >> 24); - - memset (ctx, 0, sizeof (*ctx)); + memset(ctx, 0, sizeof(*ctx)); } #endif Index: src/shapefiles/Makefile.in ================================================================== --- src/shapefiles/Makefile.in +++ src/shapefiles/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,18 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/shapefiles +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -175,11 +166,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -331,10 +321,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/shapefiles/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/shapefiles/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -622,11 +613,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/shapefiles/shapefiles.c ================================================================== --- src/shapefiles/shapefiles.c +++ src/shapefiles/shapefiles.c @@ -1,10 +1,10 @@ /* shapefiles.c -- implements shapefile support [import - export] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Brad Hards Alternatively, the contents of this file may be used under the terms of @@ -372,152 +372,10 @@ return NULL; } #ifndef OMIT_ICONV /* ICONV enabled: supporting SHP */ -static int -do_check_shp_unique_pk_values (sqlite3 * sqlite, gaiaShapefilePtr shp, int srid, - int text_dates, const char *pk_name, int pk_type) -{ -/* checking for duplicate PK values */ - char *sql; - sqlite3_stmt *stmt = NULL; - gaiaDbfFieldPtr dbf_field; - int ret; - int duplicates = 0; - int current_row = 0; - - sql = "CREATE TABLE TEMP.check_unique_pk (pkey ANYVALUE)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, NULL); - if (ret != SQLITE_OK) - return 0; - - sql = "INSERT INTO TEMP.check_unique_pk (pkey) VALUES (?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - goto error; - - sqlite3_exec (sqlite, "BEGIN", NULL, NULL, NULL); - - while (1) - { - /* reading rows from shapefile */ - int ok_insert = 0; - ret = gaiaReadShpEntity_ex (shp, current_row, srid, text_dates); - if (ret < 0) - { - /* found a DBF deleted record */ - current_row++; - continue; - } - if (!ret) - break; - current_row++; - /* binding query params */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - dbf_field = shp->Dbf->First; - while (dbf_field) - { - /* Primary Key value */ - if (strcasecmp (pk_name, dbf_field->Name) == 0) - { - if (pk_type == SQLITE_TEXT) - { - ok_insert = 1; - sqlite3_bind_text (stmt, 1, - dbf_field->Value->TxtValue, - strlen (dbf_field-> - Value->TxtValue), - SQLITE_STATIC); - } - else if (pk_type == SQLITE_FLOAT) - { - ok_insert = 1; - sqlite3_bind_double (stmt, 1, - dbf_field->Value->DblValue); - } - else - { - ok_insert = 1; - sqlite3_bind_int64 (stmt, 1, - dbf_field->Value->IntValue); - } - } - dbf_field = dbf_field->Next; - } - if (ok_insert) - { - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - goto error; - } - } - sqlite3_finalize (stmt); - stmt = NULL; - sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL); - - sql = "SELECT Count(*) FROM TEMP.check_unique_pk GROUP BY pkey"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - goto error; - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_int (stmt, 0) > 1) - duplicates = 1; - } - } - sqlite3_finalize (stmt); - - sqlite3_exec (sqlite, "DROP TABLE TEMP.check_unique_pk", NULL, NULL, NULL); - if (duplicates) - return 0; - else - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL); - sqlite3_exec (sqlite, "DROP TABLE TEMP.check_unique_pk", NULL, NULL, NULL); - return 0; -} - -static char * -convert_dbf_colname_case (const char *buf, int colname_case) -{ -/* converts a DBF column-name to Lower- or Upper-case */ - int len = strlen (buf); - char *clean = malloc (len + 1); - char *p = clean; - strcpy (clean, buf); - while (*p != '\0') - { - if (colname_case == GAIA_DBF_COLNAME_LOWERCASE) - { - if (*p >= 'A' && *p <= 'Z') - *p = *p - 'A' + 'a'; - } - if (colname_case == GAIA_DBF_COLNAME_UPPERCASE) - { - if (*p >= 'a' && *p <= 'z') - *p = *p - 'a' + 'A'; - } - p++; - } - return clean; -} - SPATIALITE_DECLARE int load_shapefile (sqlite3 * sqlite, char *shp_path, char *table, char *charset, int srid, char *column, int coerce2d, int compressed, int verbose, int spatial_index, int *rows, char *err_msg) { @@ -542,23 +400,10 @@ char *charset, int srid, char *g_column, char *gtype, char *pk_column, int coerce2d, int compressed, int verbose, int spatial_index, int text_dates, int *rows, char *err_msg) { - return load_shapefile_ex3 (sqlite, shp_path, table, charset, srid, g_column, - gtype, pk_column, coerce2d, compressed, verbose, - spatial_index, text_dates, rows, - GAIA_DBF_COLNAME_LOWERCASE, err_msg); -} - -SPATIALITE_DECLARE int -load_shapefile_ex3 (sqlite3 * sqlite, char *shp_path, char *table, - char *charset, int srid, char *g_column, char *gtype, - char *pk_column, int coerce2d, int compressed, - int verbose, int spatial_index, int text_dates, int *rows, - int colname_case, char *err_msg) -{ sqlite3_stmt *stmt = NULL; int ret; char *errMsg = NULL; char *sql; char *dummy; @@ -566,36 +411,30 @@ int metadata = 0; int sqlError = 0; gaiaShapefilePtr shp = NULL; gaiaDbfFieldPtr dbf_field; int cnt; - int col_cnt = 0; + int col_cnt; int seed; int len; int dup; int idup; - int current_row = 0; - int deleted = 0; + int current_row; char **col_name = NULL; unsigned char *blob; int blob_size; - char *geom_type = NULL; + char *geom_type; char *txt_dims; char *geo_column = g_column; char *xgtype = gtype; char *qtable = NULL; char *qpk_name = NULL; - const char *pk_name = NULL; - char *casename; + char *pk_name = NULL; int pk_autoincr = 1; char *xname; int pk_type = SQLITE_INTEGER; int pk_set; - const char *alt_pk[10] = - { "PK_ALT0", "PK_ALT1", "PK_ALT2", "PK_ALT3", "PK_ALT4", "PK_ALT5", - "PK_ALT6", "PK_ALT7", "PK_ALT8", "PK_ALT9" - }; gaiaOutBuffer sql_statement; if (!geo_column) geo_column = "Geometry"; if (rows) *rows = -1; @@ -810,39 +649,11 @@ if (pk_column != NULL) pk_name = pk_column; else pk_name = "PK_UID"; } - if (!do_check_shp_unique_pk_values - (sqlite, shp, srid, text_dates, pk_name, pk_type)) - { - const char *old_pk = pk_name; - int antialias; - for (antialias = 0; antialias < 10; antialias++) - { - /* searching an alternative Primary Key column name */ - int found = 0; - pk_name = alt_pk[antialias]; - dbf_field = shp->Dbf->First; - while (dbf_field) - { - if (strcasecmp (pk_name, dbf_field->Name) == 0) - found = 1; - dbf_field = dbf_field->Next; - } - if (!found) - { - pk_autoincr = 1; - goto ok_pk; - } - } - pk_name = old_pk; - } - ok_pk: - casename = convert_dbf_colname_case (pk_name, colname_case); - qpk_name = gaiaDoubleQuotedSql (casename); - free (casename); + qpk_name = gaiaDoubleQuotedSql (pk_name); dbf_field = shp->Dbf->First; while (dbf_field) { /* preparing column names */ char *xdummy = NULL; @@ -871,11 +682,11 @@ if (dup) { xdummy = sqlite3_mprintf ("COL_%d", seed++); spatialite_e ("Warning: duplicated fieldName \"%s\" in shapefile \"%s\": " - "renaming the second occurrence in table \"%s\" as \"%s\".\n", + "renaming the second occurence in table \"%s\" as \"%s\".\n", dummy, shp_path, table, xdummy); dummy = xdummy; } len = strlen (dummy); *(col_name + cnt) = malloc (len + 1); @@ -938,13 +749,11 @@ /* skipping the Primary Key field */ dbf_field = dbf_field->Next; cnt++; continue; } - casename = convert_dbf_colname_case (*(col_name + cnt), colname_case); - xname = gaiaDoubleQuotedSql (casename); - free (casename); + xname = gaiaDoubleQuotedSql (*(col_name + cnt)); sql = sqlite3_mprintf (",\n\"%s\"", xname); free (xname); gaiaAppendToOutBuffer (&sql_statement, sql); sqlite3_free (sql); cnt++; @@ -981,13 +790,11 @@ } if (metadata) gaiaAppendToOutBuffer (&sql_statement, ")"); else { - casename = convert_dbf_colname_case (geo_column, colname_case); - xname = gaiaDoubleQuotedSql (casename); - free (casename); + xname = gaiaDoubleQuotedSql (geo_column); sql = sqlite3_mprintf (",\n\"%s\" BLOB)", xname); free (xname); gaiaAppendToOutBuffer (&sql_statement, sql); sqlite3_free (sql); } @@ -1171,58 +978,12 @@ break; default: txt_dims = "XY"; break; }; - if (geom_type == NULL) - { - /* undefined Geometry Type */ - const char *gt = "UNKNOWN"; - switch (shp->Shape) - { - case GAIA_SHP_POINT: - case GAIA_SHP_POINTM: - case GAIA_SHP_POINTZ: - gt = "POINT"; - break; - case GAIA_SHP_MULTIPOINT: - case GAIA_SHP_MULTIPOINTM: - case GAIA_SHP_MULTIPOINTZ: - gt = "MULTIPOINT"; - break; - case GAIA_SHP_POLYLINE: - case GAIA_SHP_POLYLINEM: - case GAIA_SHP_POLYLINEZ: - if (shp->EffectiveType == GAIA_LINESTRING) - gt = "LINESTRING"; - else - gt = "MULTILINESTRING"; - break; - case GAIA_SHP_POLYGON: - case GAIA_SHP_POLYGONM: - case GAIA_SHP_POLYGONZ: - if (shp->EffectiveType == GAIA_POLYGON) - gt = "POLYGON"; - else - gt = "MULTIPOLYGON"; - break; - }; - if (!err_msg) - spatialite_e - ("Error: mismatching type: requested %s but Shape is %s %s\n", - xgtype, gt, txt_dims); - else - sprintf (err_msg, - "Error: mismatching type: requested %s but Shape is %s %s\n", - xgtype, gt, txt_dims); - sqlError = 1; - goto clean_up; - } - casename = convert_dbf_colname_case (geo_column, colname_case); sql = sqlite3_mprintf ("SELECT AddGeometryColumn(%Q, %Q, %d, %Q, %Q)", - table, casename, srid, geom_type, txt_dims); - free (casename); + table, geo_column, srid, geom_type, txt_dims); if (verbose) spatialite_e ("%s;\n", sql); ret = sqlite3_exec (sqlite, sql, NULL, 0, &errMsg); sqlite3_free (sql); if (ret != SQLITE_OK) @@ -1337,17 +1098,10 @@ current_row = 0; while (1) { /* inserting rows from shapefile */ ret = gaiaReadShpEntity_ex (shp, current_row, srid, text_dates); - if (ret < 0) - { - /* found a DBF deleted record */ - current_row++; - deleted++; - continue; - } if (!ret) { if (!(shp->LastError)) /* normal SHP EOF */ break; if (!err_msg) @@ -1500,18 +1254,18 @@ sprintf (err_msg, "load shapefile error: <%s>\n", errMsg); sqlite3_free (errMsg); return 0; } if (rows) - *rows = current_row - deleted; + *rows = current_row; if (verbose) spatialite_e ("\nInserted %d rows into '%s' from SHAPEFILE\n========\n", - current_row - deleted, table); + current_row, table); if (err_msg) sprintf (err_msg, "Inserted %d rows into '%s' from SHAPEFILE", - current_row - deleted, table); + current_row, table); return 1; } } #endif /* end ICONV (SHP) */ @@ -1742,12 +1496,11 @@ gaiaAddDbfField (list, name, 'N', offset, 18, 0); offset += 18; } else { - gaiaAddDbfField (list, name, 'C', offset, (char) length, - 0); + gaiaAddDbfField (list, name, 'C', offset, length, 0); offset += length; } row++; } else @@ -1853,21 +1606,21 @@ /* determining the buffer size for some DOUBLE */ int pos_len = 0; int neg_len = 1; sqlite3_int64 value; if (max >= 0.0) - value = (sqlite3_int64) floor (max); + value = floor (max); else - value = (sqlite3_int64) ceil (max); + value = ceil (max); while (value != 0) { pos_len++; value /= 10; } if (min >= 0.0) return pos_len + 7; - value = (sqlite3_int64) ceil (min); + value = ceil (min); while (value != 0) { neg_len++; value /= 10; } @@ -1996,15 +1749,15 @@ int is_null = 0; const char *table_name = (const char *) sqlite3_column_text (stmt, 0); const char *geometry_column = (const char *) sqlite3_column_text (stmt, 1); - int count = 0; - double min_x = 0.0; - double min_y = 0.0; - double max_x = 0.0; - double max_y = 0.0; + int count; + double min_x; + double min_y; + double max_x; + double max_y; if (sqlite3_column_type (stmt, 2) == SQLITE_NULL) is_null = 1; else count = sqlite3_column_int (stmt, 2); if (sqlite3_column_type (stmt, 3) == SQLITE_NULL) @@ -2060,15 +1813,15 @@ { /* processing a VectorLayer row */ int null_max_size = 0; int null_int_range = 0; int null_double_range = 0; - int max_size = 0; + int max_size; sqlite3_int64 integer_min; sqlite3_int64 integer_max; - double double_min = DBL_MAX; - double double_max = 0.0 - DBL_MAX; + double double_min; + double double_max; const char *table_name = (const char *) sqlite3_column_text (stmt, 0); const char *geometry_column = (const char *) sqlite3_column_text (stmt, 1); int ordinal = sqlite3_column_int (stmt, 2); @@ -2637,15 +2390,15 @@ int is_null = 0; const char *table_name = (const char *) sqlite3_column_text (stmt, 0); const char *geometry_column = (const char *) sqlite3_column_text (stmt, 1); - int count = 0; - double min_x = 0.0; - double min_y = 0.0; - double max_x = 0.0; - double max_y = 0.0; + int count; + double min_x; + double min_y; + double max_x; + double max_y; if (sqlite3_column_type (stmt, 2) == SQLITE_NULL) is_null = 1; else count = sqlite3_column_int (stmt, 2); if (sqlite3_column_type (stmt, 3) == SQLITE_NULL) @@ -2858,20 +2611,10 @@ SPATIALITE_DECLARE int dump_shapefile (sqlite3 * sqlite, char *table, char *column, char *shp_path, char *charset, char *geom_type, int verbose, int *xrows, char *err_msg) { - return dump_shapefile_ex (sqlite, table, column, shp_path, charset, - geom_type, verbose, xrows, - GAIA_DBF_COLNAME_CASE_IGNORE, err_msg); -} - -SPATIALITE_DECLARE int -dump_shapefile_ex (sqlite3 * sqlite, char *table, char *column, char *shp_path, - char *charset, char *geom_type, int verbose, int *xrows, - int colname_case, char *err_msg) -{ /* SHAPEFILE dump */ char *sql; char *dummy; int shape = -1; int len; @@ -2884,11 +2627,11 @@ char buf[256]; char *xtable; char *xcolumn; const void *blob_value; gaiaShapefilePtr shp = NULL; - gaiaDbfListPtr dbf_list = NULL; + gaiaDbfListPtr dbf_list; gaiaDbfListPtr dbf_write; gaiaDbfFieldPtr dbf_field; gaiaVectorLayerPtr lyr = NULL; gaiaLayerAttributeFieldPtr fld; gaiaVectorLayersListPtr list; @@ -3182,11 +2925,11 @@ offset = 0; fld = lyr->First; while (fld) { int sql_type = SQLITE_NULL; - int max_len = 0; + int max_len; if (strcasecmp (fld->AttributeFieldName, column) == 0) { /* ignoring the Geometry itself */ fld = fld->Next; continue; @@ -3232,29 +2975,29 @@ { /* DBF C: max allowed lenght */ max_len = 254; } gaiaAddDbfField (dbf_list, fld->AttributeFieldName, 'C', offset, - (unsigned char) max_len, 0); + max_len, 0); offset += max_len; } if (sql_type == SQLITE_FLOAT) { if (max_len > 19) max_len = 19; if (max_len < 8) max_len = 8; gaiaAddDbfField (dbf_list, fld->AttributeFieldName, 'N', offset, - (unsigned char) max_len, 6); + max_len, 6); offset += max_len; } if (sql_type == SQLITE_INTEGER) { if (max_len > 18) max_len = 18; gaiaAddDbfField (dbf_list, fld->AttributeFieldName, 'N', offset, - (unsigned char) max_len, 0); + max_len, 0); offset += max_len; } fld = fld->Next; } @@ -3263,12 +3006,11 @@ ret = sqlite3_reset (stmt); if (ret != SQLITE_OK) goto sql_error; /* trying to open shapefile files */ shp = gaiaAllocShapefile (); - gaiaOpenShpWriteEx (shp, shp_path, shape, dbf_list, "UTF-8", charset, - colname_case); + gaiaOpenShpWrite (shp, shp_path, shape, dbf_list, "UTF-8", charset); if (!(shp->Valid)) goto no_file; /* trying to export the .PRJ file */ output_prj_file (sqlite, shp_path, table, column); while (1) @@ -3433,127 +3175,10 @@ if (table_name != NULL) free (table_name); return 0; } -static int -do_check_dbf_unique_pk_values (sqlite3 * sqlite, gaiaDbfPtr dbf, int text_dates, - const char *pk_name, int pk_type) -{ -/* checking for duplicate PK values */ - char *sql; - sqlite3_stmt *stmt = NULL; - gaiaDbfFieldPtr dbf_field; - int ret; - int deleted; - int duplicates = 0; - int current_row = 0; - - sql = "CREATE TABLE TEMP.check_unique_pk (pkey ANYVALUE)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, NULL); - if (ret != SQLITE_OK) - return 0; - - sql = "INSERT INTO TEMP.check_unique_pk (pkey) VALUES (?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - goto error; - - sqlite3_exec (sqlite, "BEGIN", NULL, NULL, NULL); - - while (1) - { - /* reading rows from shapefile */ - int ok_insert = 0; - ret = gaiaReadDbfEntity_ex (dbf, current_row, &deleted, text_dates); - if (!ret) - break; - current_row++; - if (deleted) - { - /* skipping DBF deleted row */ - continue; - } - /* binding query params */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - dbf_field = dbf->Dbf->First; - while (dbf_field) - { - /* Primary Key value */ - if (strcasecmp (pk_name, dbf_field->Name) == 0) - { - if (pk_type == SQLITE_TEXT) - { - ok_insert = 1; - sqlite3_bind_text (stmt, 1, - dbf_field->Value->TxtValue, - strlen (dbf_field-> - Value->TxtValue), - SQLITE_STATIC); - } - else if (pk_type == SQLITE_FLOAT) - { - ok_insert = 1; - sqlite3_bind_double (stmt, 1, - dbf_field->Value->DblValue); - } - else - { - ok_insert = 1; - sqlite3_bind_int64 (stmt, 1, - dbf_field->Value->IntValue); - } - } - dbf_field = dbf_field->Next; - } - if (ok_insert) - { - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - goto error; - } - } - sqlite3_finalize (stmt); - stmt = NULL; - sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL); - - sql = "SELECT Count(*) FROM TEMP.check_unique_pk GROUP BY pkey"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - goto error; - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_int (stmt, 0) > 1) - duplicates = 1; - } - } - sqlite3_finalize (stmt); - - sqlite3_exec (sqlite, "DROP TABLE TEMP.check_unique_pk", NULL, NULL, NULL); - if (duplicates) - return 0; - else - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL); - sqlite3_exec (sqlite, "DROP TABLE TEMP.check_unique_pk", NULL, NULL, NULL); - return 0; -} - SPATIALITE_DECLARE int load_dbf (sqlite3 * sqlite, char *dbf_path, char *table, char *charset, int verbose, int *rows, char *err_msg) { return load_dbf_ex (sqlite, dbf_path, table, NULL, charset, verbose, rows, @@ -3571,19 +3196,10 @@ SPATIALITE_DECLARE int load_dbf_ex2 (sqlite3 * sqlite, char *dbf_path, char *table, char *pk_column, char *charset, int verbose, int text_dates, int *rows, char *err_msg) { - return load_dbf_ex3 (sqlite, dbf_path, table, pk_column, charset, verbose, - text_dates, rows, GAIA_DBF_COLNAME_LOWERCASE, err_msg); -} - -SPATIALITE_DECLARE int -load_dbf_ex3 (sqlite3 * sqlite, char *dbf_path, char *table, char *pk_column, - char *charset, int verbose, int text_dates, int *rows, - int colname_case, char *err_msg) -{ sqlite3_stmt *stmt; int ret; char *errMsg = NULL; char *sql; char *dummy; @@ -3596,25 +3212,20 @@ int col_cnt; int seed; int len; int dup; int idup; - int current_row = 0; + int current_row; char **col_name = NULL; int deleted; char *qtable = NULL; char *qpk_name = NULL; - const char *pk_name = NULL; - char *casename; + char *pk_name = NULL; int pk_autoincr = 1; gaiaOutBuffer sql_statement; int pk_type = SQLITE_INTEGER; int pk_set; - const char *alt_pk[10] = - { "PK_ALT0", "PK_ALT1", "PK_ALT2", "PK_ALT3", "PK_ALT4", "PK_ALT5", - "PK_ALT6", "PK_ALT7", "PK_ALT8", "PK_ALT9" - }; qtable = gaiaDoubleQuotedSql (table); if (rows) *rows = -1; /* checking if TABLE already exists */ sql = sqlite3_mprintf ("SELECT name FROM sqlite_master WHERE " @@ -3751,39 +3362,11 @@ if (pk_column != NULL) pk_name = pk_column; else pk_name = "PK_UID"; } - if (!do_check_dbf_unique_pk_values - (sqlite, dbf, text_dates, pk_name, pk_type)) - { - const char *old_pk = pk_name; - int antialias; - for (antialias = 0; antialias < 10; antialias++) - { - /* searching an alternative Primary Key column name */ - int found = 0; - pk_name = alt_pk[antialias]; - dbf_field = dbf->Dbf->First; - while (dbf_field) - { - if (strcasecmp (pk_name, dbf_field->Name) == 0) - found = 1; - dbf_field = dbf_field->Next; - } - if (!found) - { - pk_autoincr = 1; - goto ok_pk; - } - } - pk_name = old_pk; - } - ok_pk: - casename = convert_dbf_colname_case (pk_name, colname_case); - qpk_name = gaiaDoubleQuotedSql (casename); - free (casename); + qpk_name = gaiaDoubleQuotedSql (pk_name); dbf_field = dbf->Dbf->First; while (dbf_field) { /* preparing column names */ char *xdummy = NULL; @@ -3870,13 +3453,11 @@ /* skipping the Primary Key field */ dbf_field = dbf_field->Next; cnt++; continue; } - casename = convert_dbf_colname_case (*(col_name + cnt), colname_case); - xname = gaiaDoubleQuotedSql (casename); - free (casename); + xname = gaiaDoubleQuotedSql (*(col_name + cnt)); sql = sqlite3_mprintf (",\n\"%s\"", xname); free (xname); gaiaAppendToOutBuffer (&sql_statement, sql); sqlite3_free (sql); cnt++; @@ -4095,14 +3676,12 @@ } sqlite3_finalize (stmt); clean_up: if (qtable) free (qtable); - qtable = NULL; if (qpk_name) free (qpk_name); - qpk_name = NULL; gaiaFreeDbf (dbf); if (col_name) { /* releasing memory allocation for column names */ for (cnt = 0; cnt < col_cnt; cnt++) @@ -4160,23 +3739,15 @@ SPATIALITE_DECLARE int dump_dbf_ex (sqlite3 * sqlite, char *table, char *dbf_path, char *charset, int *xrows, char *err_msg) { - return dump_dbf_ex2 (sqlite, table, dbf_path, charset, xrows, - GAIA_DBF_COLNAME_CASE_IGNORE, err_msg); -} - -SPATIALITE_DECLARE int -dump_dbf_ex2 (sqlite3 * sqlite, char *table, char *dbf_path, char *charset, - int *xrows, int colname_case, char *err_msg) -{ /* DBF dump */ int rows; int i; char *sql; - char *xtable = NULL; + char *xtable; sqlite3_stmt *stmt; int row1 = 0; int n_cols = 0; int offset = 0; int type; @@ -4300,11 +3871,11 @@ continue; } if (sql_type[i] == SQLITE_TEXT) { gaiaAddDbfField (dbf_list, dbf_field->Name, 'C', offset, - (unsigned char) (max_length[i]), 0); + max_length[i], 0); offset += max_length[i]; } if (sql_type[i] == SQLITE_FLOAT) { gaiaAddDbfField (dbf_list, dbf_field->Name, 'N', offset, 19, 6); @@ -4331,11 +3902,11 @@ /* trying to open the DBF file */ dbf = gaiaAllocDbf (); /* xfering export-list ownership */ dbf->Dbf = dbf_list; dbf_list = NULL; - gaiaOpenDbfWriteEx (dbf, dbf_path, "UTF-8", charset, colname_case); + gaiaOpenDbfWrite (dbf, dbf_path, "UTF-8", charset); if (!(dbf->Valid)) goto no_file; while (1) { /* Pass II - scrolling the result set to dump data into DBF */ @@ -4848,11 +4419,11 @@ return 1; } static int do_delete_duplicates (sqlite3 * sqlite, const char *sql1, const char *sql2, - int *count, int transaction) + int *count) { /* deleting duplicate rows */ struct resultset_comparator *rs_obj = NULL; sqlite3_stmt *stmt1 = NULL; sqlite3_stmt *stmt2 = NULL; @@ -4860,22 +4431,18 @@ int cnt = 0; char *sql_err = NULL; *count = 0; - if (transaction) +/* the complete operation is handled as an unique SQL Transaction */ + ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &sql_err); + if (ret != SQLITE_OK) { - /* the complete operation is handled as an unique SQL Transaction */ - ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &sql_err); - if (ret != SQLITE_OK) - { - spatialite_e ("BEGIN TRANSACTION error: %s\n", sql_err); - sqlite3_free (sql_err); - return 0; - } + spatialite_e ("BEGIN TRANSACTION error: %s\n", sql_err); + sqlite3_free (sql_err); + return 0; } - /* preparing the main SELECT statement */ ret = sqlite3_prepare_v2 (sqlite, sql1, strlen (sql1), &stmt1, NULL); if (ret != SQLITE_OK) { spatialite_e ("SQL error: %s\n", sqlite3_errmsg (sqlite)); @@ -4923,20 +4490,17 @@ sqlite3_finalize (stmt1); sqlite3_finalize (stmt2); destroy_resultset_comparator (rs_obj); - if (transaction) +/* confirm the still pending Transaction */ + ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &sql_err); + if (ret != SQLITE_OK) { - /* confirm the still pending Transaction */ - ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &sql_err); - if (ret != SQLITE_OK) - { - spatialite_e ("COMMIT TRANSACTION error: %s\n", sql_err); - sqlite3_free (sql_err); - return 0; - } + spatialite_e ("COMMIT TRANSACTION error: %s\n", sql_err); + sqlite3_free (sql_err); + return 0; } *count = cnt; return 1; @@ -4945,28 +4509,24 @@ if (stmt1) sqlite3_finalize (stmt1); if (stmt2) sqlite3_finalize (stmt2); - if (transaction) +/* performing a ROLLBACK anyway */ + ret = sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, &sql_err); + if (ret != SQLITE_OK) { - /* performing a ROLLBACK anyway */ - ret = sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, &sql_err); - if (ret != SQLITE_OK) - { - spatialite_e ("ROLLBACK TRANSACTION error: %s\n", sql_err); - sqlite3_free (sql_err); - return 0; - } + spatialite_e ("ROLLBACK TRANSACTION error: %s\n", sql_err); + sqlite3_free (sql_err); + return 0; } return 0; } SPATIALITE_DECLARE void -remove_duplicated_rows_ex2 (sqlite3 * sqlite, char *table, int *removed, - int transaction) +remove_duplicated_rows_ex (sqlite3 * sqlite, char *table, int *removed) { /* attempting to delete Duplicate rows from a table */ char *sql; char *sql2; int first = 1; @@ -5049,11 +4609,11 @@ if (sql_statement.Error == 0 && sql_statement.Buffer != NULL) sql = sql_statement.Buffer; else sql = "NULL-SELECT"; - if (do_delete_duplicates (sqlite, sql, sql2, &count, transaction)) + if (do_delete_duplicates (sqlite, sql, sql2, &count)) { if (removed == NULL) { if (!count) spatialite_e ("No duplicated rows have been identified\n"); @@ -5066,17 +4626,10 @@ } gaiaOutBufferReset (&sql_statement); sqlite3_free (sql2); } -SPATIALITE_DECLARE void -remove_duplicated_rows_ex (sqlite3 * sqlite, char *table, int *removed) -{ -/* attempting to delete Duplicate rows from a table */ - remove_duplicated_rows_ex2 (sqlite, table, removed, 1); -} - SPATIALITE_DECLARE void remove_duplicated_rows (sqlite3 * sqlite, char *table) { /* attempting to delete Duplicate rows from a table */ remove_duplicated_rows_ex (sqlite, table, NULL); @@ -5606,21 +5159,10 @@ SPATIALITE_DECLARE void elementary_geometries_ex (sqlite3 * sqlite, char *inTable, char *geometry, char *outTable, char *pKey, char *multiId, int *xrows) { -/* attempting to create a derived table surely containing elemetary Geoms */ - elementary_geometries_ex2 (sqlite, inTable, geometry, outTable, pKey, - multiId, xrows, 1); -} - -SPATIALITE_DECLARE void -elementary_geometries_ex2 (sqlite3 * sqlite, - char *inTable, char *geometry, char *outTable, - char *pKey, char *multiId, int *xrows, - int transaction) -{ /* attempting to create a derived table surely containing elemetary Geoms */ char type[128]; int srid; char dims[64]; char *sql; @@ -5653,20 +5195,17 @@ spatialite_e (".elemgeo: invalid args\n"); *xrows = 0; return; } - if (transaction) +/* starts a transaction */ + ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { - /* starts a transaction */ - ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", errMsg); - sqlite3_free (errMsg); - goto abort; - } + spatialite_e ("SQL error: %s\n", errMsg); + sqlite3_free (errMsg); + goto abort; } gaiaOutBufferInitialize (&sql_statement); gaiaOutBufferInitialize (&sql2); gaiaOutBufferInitialize (&sql3); @@ -6121,40 +5660,26 @@ } } sqlite3_finalize (stmt_in); sqlite3_finalize (stmt_out); - if (transaction) +/* commits the transaction */ + ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &errMsg); + if (ret != SQLITE_OK) { - /* commits the transaction */ - ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", errMsg); - sqlite3_free (errMsg); - goto abort; - } + spatialite_e ("SQL error: %s\n", errMsg); + sqlite3_free (errMsg); + goto abort; } *xrows = inserted; return; abort: if (stmt_in) sqlite3_finalize (stmt_in); if (stmt_out) sqlite3_finalize (stmt_out); - - if (transaction) - { - /* rolling bacj the transaction */ - ret = sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", errMsg); - sqlite3_free (errMsg); - } - } *xrows = 0; } #ifndef OMIT_FREEXL /* including FreeXL */ @@ -6240,13 +5765,11 @@ goto error; if (worksheetIndex < info) ; else goto error; - ret = - freexl_select_active_worksheet (xl_handle, - (unsigned short) worksheetIndex); + ret = freexl_select_active_worksheet (xl_handle, worksheetIndex); if (ret != FREEXL_OK) goto error; ret = freexl_worksheet_dimensions (xl_handle, rows, &columns); if (ret != FREEXL_OK) goto error; Index: src/shapefiles/validator.c ================================================================== --- src/shapefiles/validator.c +++ src/shapefiles/validator.c @@ -1,10 +1,10 @@ /* validator.c -- implements geometry validation and repair - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), @@ -292,11 +292,11 @@ } sqlite3_free_table (results); return ok; } -#ifdef ENABLE_RTTOPO /* only if RTTOPO is supported */ +#ifdef ENABLE_LWGEOM /* only if LWGEOM is supported */ static struct sanitize_report * alloc_sanitize_report (void) { /* allocating the report container struct */ @@ -1673,12 +1673,10 @@ const char *tmp_table, const char *report_path, int *n_invalids, int *n_repaired, int *n_discarded, int *n_failures, char **err_msg) { -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - /* attempts to repair invalid Geometries from a Geometry Column */ char *sql; char *xtable; char *xgeom; char *xtmp_table; @@ -2003,15 +2001,15 @@ const char *error; const char *warning; gaiaGeomCollPtr repaired; gaiaGeomCollPtr discarded; report->n_invalids += 1; - gaiaResetRtTopoMsg (p_cache); - repaired = gaiaMakeValid (p_cache, geom); - discarded = gaiaMakeValidDiscarded (p_cache, geom); - error = gaiaGetRtTopoErrorMsg (p_cache); - warning = gaiaGetRtTopoWarningMsg (p_cache); + gaiaResetLwGeomMsg (); + repaired = gaiaMakeValid (geom); + discarded = gaiaMakeValidDiscarded (geom); + error = gaiaGetLwGeomErrorMsg (); + warning = gaiaGetLwGeomWarningMsg (); if (discarded == NULL) p_summary = NULL; else p_summary = createDiscardedSummary (discarded, summary); @@ -2407,13 +2405,10 @@ return 1; stop: free_sanitize_report (report); if (out) fclose (out); - -#endif /* end RTTOPO conditional */ - return 0; } SPATIALITE_DECLARE int sanitize_geometry_column (sqlite3 * sqlite, const char *table, const char *geom, @@ -2714,13 +2709,13 @@ sanitize_all_geometry_columns (sqlite3 * sqlite, const char *tmp_prefix, const char *output_dir, int *x_not_repaired, char **err_msg) { -/* RTTOPO isn't enabled: always returning an error */ +/* LWGEOM isn't enabled: always returning an error */ int len; - const char *msg = "Sorry ... libspatialite was built disabling RTTOPO\n" + const char *msg = "Sorry ... libspatialite was built disabling LWGEOM\n" "and is thus unable to support MakeValid"; /* silencing stupid compiler warnings */ if (sqlite == NULL || tmp_prefix == NULL || output_dir == NULL || x_not_repaired == NULL) @@ -2738,13 +2733,13 @@ sanitize_all_geometry_columns_r (const void *p_cache, sqlite3 * sqlite, const char *tmp_prefix, const char *output_dir, int *x_not_repaired, char **err_msg) { -/* RTTOPO isn't enabled: always returning an error */ +/* LWGEOM isn't enabled: always returning an error */ int len; - const char *msg = "Sorry ... libspatialite was built disabling RTTOPO\n" + const char *msg = "Sorry ... libspatialite was built disabling LWGEOM\n" "and is thus unable to support MakeValid"; /* silencing stupid compiler warnings */ if (p_cache == NULL || sqlite == NULL || tmp_prefix == NULL || output_dir == NULL || x_not_repaired == NULL) @@ -2762,13 +2757,13 @@ sanitize_geometry_column (sqlite3 * sqlite, const char *table, const char *geom, const char *tmp_table, const char *report_path, int *n_invalids, int *n_repaired, int *n_discarded, int *n_failures, char **err_msg) { -/* RTTOPO isn't enabled: always returning an error */ +/* LWGEOM isn't enabled: always returning an error */ int len; - const char *msg = "Sorry ... libspatialite was built disabling RTTOPO\n" + const char *msg = "Sorry ... libspatialite was built disabling LWGEOM\n" "and is thus unable to support MakeValid"; /* silencing stupid compiler warnings */ if (sqlite == NULL || table == NULL || geom == NULL || tmp_table == NULL || report_path == NULL || n_invalids == NULL || n_repaired == NULL @@ -2789,13 +2784,13 @@ const char *table, const char *geom, const char *tmp_table, const char *report_path, int *n_invalids, int *n_repaired, int *n_discarded, int *n_failures, char **err_msg) { -/* RTTOPO isn't enabled: always returning an error */ +/* LWGEOM isn't enabled: always returning an error */ int len; - const char *msg = "Sorry ... libspatialite was built disabling RTTOPO\n" + const char *msg = "Sorry ... libspatialite was built disabling LWGEOM\n" "and is thus unable to support MakeValid"; /* silencing stupid compiler warnings */ if (p_cache == NULL || sqlite == NULL || table == NULL || geom == NULL || tmp_table == NULL || report_path == NULL || n_invalids == NULL @@ -2809,11 +2804,11 @@ *err_msg = malloc (len + 1); strcpy (*err_msg, msg); return 0; } -#endif /* end RTTOPO conditionals */ +#endif /* end LWGEOM conditionals */ #ifndef OMIT_GEOS /* only if GEOS is supported */ static struct validity_report * @@ -2914,12 +2909,12 @@ const char *x_type; const char *x_dims; char num[256]; time_t v_time; struct tm *v_tm; - const char *day = ""; - const char *month = ""; + const char *day; + const char *month; FILE *out = NULL; const char *p_msg; int len; struct validity_report_row *p_r; struct validity_report *report = alloc_validity_report (); @@ -3453,12 +3448,12 @@ int n_invalids; char *report; FILE *out = NULL; time_t v_time; struct tm *v_tm; - const char *day = ""; - const char *month = ""; + const char *day; + const char *month; int sum_invalids = 0; /* attempting to create the output directory */ #if defined(_WIN32) _mkdir (output_dir); @@ -3659,11 +3654,11 @@ const char *output_dir, int *x_invalids, char **err_msg) { /* GEOS isn't enabled: always returning an error */ int len; - const char *msg = "Sorry ... libspatialite was built disabling RTTOPOM\n" + const char *msg = "Sorry ... libspatialite was built disabling LWGEOM\n" "and is thus unable to support IsValid"; /* silencing stupid compiler warnings */ if (sqlite == NULL || output_dir == NULL || x_invalids == NULL) output_dir = NULL; @@ -3680,11 +3675,11 @@ const char *output_dir, int *x_invalids, char **err_msg) { /* GEOS isn't enabled: always returning an error */ int len; - const char *msg = "Sorry ... libspatialite was built disabling RTTOPO\n" + const char *msg = "Sorry ... libspatialite was built disabling LWGEOM\n" "and is thus unable to support IsValid"; /* silencing stupid compiler warnings */ if (p_cache == NULL || sqlite == NULL || output_dir == NULL || x_invalids == NULL) output_dir = NULL; Index: src/spatialite/Makefile.am ================================================================== --- src/spatialite/Makefile.am +++ src/spatialite/Makefile.am @@ -18,15 +18,13 @@ virtualfdo.c \ virtualgpkg.c \ virtualbbox.c \ virtualspatialindex.c \ virtualnetwork.c \ - virtualrouting.c \ virtualshape.c \ virtualxpath.c \ - virtualelementary.c \ - virtualknn.c + virtualelementary.c libsplite_la_SOURCES = $(SPATIALITE_COMMON_SOURCES) libsplite_la_CFLAGS = -fvisibility=hidden Index: src/spatialite/Makefile.in ================================================================== --- src/spatialite/Makefile.in +++ src/spatialite/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,18 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/spatialite +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -109,13 +100,12 @@ libsplite_la-se_helpers.lo libsplite_la-srid_aux.lo \ libsplite_la-table_cloner.lo libsplite_la-virtualdbf.lo \ libsplite_la-virtualXL.lo libsplite_la-virtualfdo.lo \ libsplite_la-virtualgpkg.lo libsplite_la-virtualbbox.lo \ libsplite_la-virtualspatialindex.lo \ - libsplite_la-virtualnetwork.lo libsplite_la-virtualrouting.lo \ - libsplite_la-virtualshape.lo libsplite_la-virtualxpath.lo \ - libsplite_la-virtualelementary.lo libsplite_la-virtualknn.lo + libsplite_la-virtualnetwork.lo libsplite_la-virtualshape.lo \ + libsplite_la-virtualxpath.lo libsplite_la-virtualelementary.lo am_libsplite_la_OBJECTS = $(am__objects_1) libsplite_la_OBJECTS = $(am_libsplite_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -130,13 +120,12 @@ splite_la-se_helpers.lo splite_la-srid_aux.lo \ splite_la-table_cloner.lo splite_la-virtualdbf.lo \ splite_la-virtualXL.lo splite_la-virtualfdo.lo \ splite_la-virtualgpkg.lo splite_la-virtualbbox.lo \ splite_la-virtualspatialindex.lo splite_la-virtualnetwork.lo \ - splite_la-virtualrouting.lo splite_la-virtualshape.lo \ - splite_la-virtualxpath.lo splite_la-virtualelementary.lo \ - splite_la-virtualknn.lo + splite_la-virtualshape.lo splite_la-virtualxpath.lo \ + splite_la-virtualelementary.lo am_splite_la_OBJECTS = $(am__objects_2) splite_la_OBJECTS = $(am_splite_la_OBJECTS) splite_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(splite_la_LDFLAGS) $(LDFLAGS) -o $@ @@ -198,11 +187,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -348,15 +336,13 @@ virtualfdo.c \ virtualgpkg.c \ virtualbbox.c \ virtualspatialindex.c \ virtualnetwork.c \ - virtualrouting.c \ virtualshape.c \ virtualxpath.c \ - virtualelementary.c \ - virtualknn.c + virtualelementary.c libsplite_la_SOURCES = $(SPATIALITE_COMMON_SOURCES) libsplite_la_CFLAGS = -fvisibility=hidden splite_la_SOURCES = $(SPATIALITE_COMMON_SOURCES) splite_la_CPPFLAGS = @CFLAGS@ @GEOS_CFLAGS@ @LIBXML2_CFLAGS@ \ @@ -379,10 +365,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/spatialite/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/spatialite/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -435,13 +422,11 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualbbox.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualdbf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualelementary.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualfdo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualgpkg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualknn.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualnetwork.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualrouting.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualshape.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualspatialindex.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libsplite_la-virtualxpath.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-extra_tables.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-mbrcache.Plo@am__quote@ @@ -456,13 +441,11 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualbbox.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualdbf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualelementary.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualfdo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualgpkg.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualknn.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualnetwork.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualrouting.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualshape.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualspatialindex.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/splite_la-virtualxpath.Plo@am__quote@ .c.o: @@ -596,17 +579,10 @@ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsplite_la-virtualnetwork.Tpo $(DEPDIR)/libsplite_la-virtualnetwork.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualnetwork.c' object='libsplite_la-virtualnetwork.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -c -o libsplite_la-virtualnetwork.lo `test -f 'virtualnetwork.c' || echo '$(srcdir)/'`virtualnetwork.c -libsplite_la-virtualrouting.lo: virtualrouting.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -MT libsplite_la-virtualrouting.lo -MD -MP -MF $(DEPDIR)/libsplite_la-virtualrouting.Tpo -c -o libsplite_la-virtualrouting.lo `test -f 'virtualrouting.c' || echo '$(srcdir)/'`virtualrouting.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsplite_la-virtualrouting.Tpo $(DEPDIR)/libsplite_la-virtualrouting.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualrouting.c' object='libsplite_la-virtualrouting.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -c -o libsplite_la-virtualrouting.lo `test -f 'virtualrouting.c' || echo '$(srcdir)/'`virtualrouting.c - libsplite_la-virtualshape.lo: virtualshape.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -MT libsplite_la-virtualshape.lo -MD -MP -MF $(DEPDIR)/libsplite_la-virtualshape.Tpo -c -o libsplite_la-virtualshape.lo `test -f 'virtualshape.c' || echo '$(srcdir)/'`virtualshape.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsplite_la-virtualshape.Tpo $(DEPDIR)/libsplite_la-virtualshape.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualshape.c' object='libsplite_la-virtualshape.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @@ -624,17 +600,10 @@ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsplite_la-virtualelementary.Tpo $(DEPDIR)/libsplite_la-virtualelementary.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualelementary.c' object='libsplite_la-virtualelementary.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -c -o libsplite_la-virtualelementary.lo `test -f 'virtualelementary.c' || echo '$(srcdir)/'`virtualelementary.c -libsplite_la-virtualknn.lo: virtualknn.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -MT libsplite_la-virtualknn.lo -MD -MP -MF $(DEPDIR)/libsplite_la-virtualknn.Tpo -c -o libsplite_la-virtualknn.lo `test -f 'virtualknn.c' || echo '$(srcdir)/'`virtualknn.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libsplite_la-virtualknn.Tpo $(DEPDIR)/libsplite_la-virtualknn.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualknn.c' object='libsplite_la-virtualknn.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libsplite_la_CFLAGS) $(CFLAGS) -c -o libsplite_la-virtualknn.lo `test -f 'virtualknn.c' || echo '$(srcdir)/'`virtualknn.c - splite_la-mbrcache.lo: mbrcache.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT splite_la-mbrcache.lo -MD -MP -MF $(DEPDIR)/splite_la-mbrcache.Tpo -c -o splite_la-mbrcache.lo `test -f 'mbrcache.c' || echo '$(srcdir)/'`mbrcache.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-mbrcache.Tpo $(DEPDIR)/splite_la-mbrcache.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='mbrcache.c' object='splite_la-mbrcache.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @@ -743,17 +712,10 @@ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-virtualnetwork.Tpo $(DEPDIR)/splite_la-virtualnetwork.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualnetwork.c' object='splite_la-virtualnetwork.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o splite_la-virtualnetwork.lo `test -f 'virtualnetwork.c' || echo '$(srcdir)/'`virtualnetwork.c -splite_la-virtualrouting.lo: virtualrouting.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT splite_la-virtualrouting.lo -MD -MP -MF $(DEPDIR)/splite_la-virtualrouting.Tpo -c -o splite_la-virtualrouting.lo `test -f 'virtualrouting.c' || echo '$(srcdir)/'`virtualrouting.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-virtualrouting.Tpo $(DEPDIR)/splite_la-virtualrouting.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualrouting.c' object='splite_la-virtualrouting.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o splite_la-virtualrouting.lo `test -f 'virtualrouting.c' || echo '$(srcdir)/'`virtualrouting.c - splite_la-virtualshape.lo: virtualshape.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT splite_la-virtualshape.lo -MD -MP -MF $(DEPDIR)/splite_la-virtualshape.Tpo -c -o splite_la-virtualshape.lo `test -f 'virtualshape.c' || echo '$(srcdir)/'`virtualshape.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-virtualshape.Tpo $(DEPDIR)/splite_la-virtualshape.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualshape.c' object='splite_la-virtualshape.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @@ -771,17 +733,10 @@ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-virtualelementary.Tpo $(DEPDIR)/splite_la-virtualelementary.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualelementary.c' object='splite_la-virtualelementary.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o splite_la-virtualelementary.lo `test -f 'virtualelementary.c' || echo '$(srcdir)/'`virtualelementary.c -splite_la-virtualknn.lo: virtualknn.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT splite_la-virtualknn.lo -MD -MP -MF $(DEPDIR)/splite_la-virtualknn.Tpo -c -o splite_la-virtualknn.lo `test -f 'virtualknn.c' || echo '$(srcdir)/'`virtualknn.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/splite_la-virtualknn.Tpo $(DEPDIR)/splite_la-virtualknn.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='virtualknn.c' object='splite_la-virtualknn.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(splite_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(splite_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o splite_la-virtualknn.lo `test -f 'virtualknn.c' || echo '$(srcdir)/'`virtualknn.c - mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs @@ -988,11 +943,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/spatialite/extra_tables.c ================================================================== --- src/spatialite/extra_tables.c +++ src/spatialite/extra_tables.c @@ -1,10 +1,10 @@ /* extra_tables.c -- Creating all SLD/SE and ISO Metadata extra tables - version 4.3, 2015 June 29 + version 4.0, 2013 February 16 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -772,38 +772,10 @@ exists = 1; sqlite3_free_table (results); return exists; } -static int -check_raster_coverages_srid (sqlite3 * sqlite) -{ -/* checking if the "raster_coverages_srid" table already exists */ - int exists = 0; - char *sql_statement; - char *errMsg = NULL; - int ret; - char **results; - int rows; - int columns; - int i; - sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table' " - "AND Upper(name) = Upper('raster_coverages_srid')"; - ret = - sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, - &errMsg); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - exists = 1; - sqlite3_free_table (results); - return exists; -} - static int check_raster_coverages_ref_sys (sqlite3 * sqlite) { /* checking if the "raster_coverages_ref_sys" view already exists */ int exists = 0; @@ -815,38 +787,10 @@ int columns; int i; sql_statement = "SELECT name FROM sqlite_master WHERE type = 'view' " "AND Upper(name) = Upper('raster_coverages_ref_sys')"; ret = - sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, - &errMsg); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - exists = 1; - sqlite3_free_table (results); - return exists; -} - -static int -check_raster_coverages_keyword (sqlite3 * sqlite) -{ -/* checking if the "raster_coverages_keyword" table already exists */ - int exists = 0; - char *sql_statement; - char *errMsg = NULL; - int ret; - char **results; - int rows; - int columns; - int i; - sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table' " - "AND Upper(name) = Upper('raster_coverages_keyword')"; - ret = sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, &errMsg); if (ret != SQLITE_OK) { sqlite3_free (errMsg); @@ -1926,63 +1870,10 @@ spatialite_e ("CREATE VIEW 'raster_coverages_ref_sys' error: %s\n", err_msg); sqlite3_free (err_msg); return 0; } - -/* creating the raster_coverages_keyword table */ - sql = "CREATE TABLE raster_coverages_keyword (\n" - "coverage_name TEXT NOT NULL,\n" - "keyword TEXT NOT NULL,\n" - "CONSTRAINT pk_raster_coverages_keyword PRIMARY KEY (coverage_name, keyword),\n" - "CONSTRAINT fk_raster_coverages_keyword FOREIGN KEY (coverage_name) " - "REFERENCES raster_coverages (coverage_name) ON DELETE CASCADE)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE 'raster_coverages_keyword' error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } -/* creating the raster_coverages_keyword triggers */ - sql = "CREATE TRIGGER raster_coverages_keyword_name_insert\n" - "BEFORE INSERT ON 'raster_coverages_keyword'\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'insert on raster_coverages_keyword violates constraint: " - "coverage_name value must not contain a single quote')\n" - "WHERE NEW.coverage_name LIKE ('%''%');\n" - "SELECT RAISE(ABORT,'insert on raster_coverages_keyword violates constraint: " - "coverage_name value must not contain a double quote')\n" - "WHERE NEW.coverage_name LIKE ('%\"%');\n" - "SELECT RAISE(ABORT,'insert on raster_coverages_keyword violates constraint: " - "coverage_name value must be lower case')\n" - "WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - sql = "CREATE TRIGGER raster_coverages_keyword_name_update\n" - "BEFORE UPDATE OF 'coverage_name' ON 'raster_coverages_keyword'\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'update on raster_coverages_keyword violates constraint: " - "coverage_name value must not contain a single quote')\n" - "WHERE NEW.coverage_name LIKE ('%''%');\n" - "SELECT RAISE(ABORT,'update on raster_coverages_keyword violates constraint: " - "coverage_name value must not contain a double quote')\n" - "WHERE NEW.coverage_name LIKE ('%\"%');\n" - "SELECT RAISE(ABORT,'update on raster_coverages_keyword violates constraint: " - "coverage_name value must be lower case')\n" - "WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } return 1; } SPATIALITE_PRIVATE int createRasterCoveragesTable (void *p_sqlite) @@ -1997,31 +1888,17 @@ { spatialite_e ("CreateRasterCoveragesTable() error: table 'raster_coverages' already exists\n"); goto error; } - ok_table = check_raster_coverages_srid (sqlite); - if (ok_table) - { - spatialite_e - ("CreateRasterCoveragesTable() error: table 'raster_coverages_srid' already exists\n"); - goto error; - } ok_table = check_raster_coverages_ref_sys (sqlite); if (ok_table) { spatialite_e ("CreateRasterCoveragesTable() error: view 'raster_coverages_ref_sys' already exists\n"); goto error; } - ok_table = check_raster_coverages_keyword (sqlite); - if (ok_table) - { - spatialite_e - ("CreateRasterCoveragesTable() error: table 'raster_coverages_keyword' already exists\n"); - goto error; - } /* creating the main RasterCoverages table */ if (!create_raster_coverages (sqlite)) goto error; return 1; @@ -2170,38 +2047,10 @@ int columns; int i; sql_statement = "SELECT name FROM sqlite_master WHERE type = 'view' " "AND Upper(name) = Upper('vector_coverages_ref_sys')"; ret = - sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, - &errMsg); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - exists = 1; - sqlite3_free_table (results); - return exists; -} - -static int -check_vector_coverages_keyword (sqlite3 * sqlite) -{ -/* checking if the "vector_coverages_keyword" table already exists */ - int exists = 0; - char *sql_statement; - char *errMsg = NULL; - int ret; - char **results; - int rows; - int columns; - int i; - sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table' " - "AND Upper(name) = Upper('vector_coverages_keyword')"; - ret = sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, &errMsg); if (ret != SQLITE_OK) { sqlite3_free (errMsg); @@ -2386,63 +2235,10 @@ spatialite_e ("CREATE VIEW 'vector_coverages_ref_sys' error: %s\n", err_msg); sqlite3_free (err_msg); return 0; } - -/* creating the vector_coverages_keyword table */ - sql = "CREATE TABLE vector_coverages_keyword (\n" - "coverage_name TEXT NOT NULL,\n" - "keyword TEXT NOT NULL,\n" - "CONSTRAINT pk_vector_coverages_keyword PRIMARY KEY (coverage_name, keyword),\n" - "CONSTRAINT fk_vector_coverages_keyword FOREIGN KEY (coverage_name) " - "REFERENCES vector_coverages (coverage_name) ON DELETE CASCADE)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE 'vector_coverages_keyword' error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } -/* creating the vector_coverages_keyword triggers */ - sql = "CREATE TRIGGER vector_coverages_keyword_name_insert\n" - "BEFORE INSERT ON 'vector_coverages_keyword'\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'insert on vector_coverages_keyword violates constraint: " - "coverage_name value must not contain a single quote')\n" - "WHERE NEW.coverage_name LIKE ('%''%');\n" - "SELECT RAISE(ABORT,'insert on vector_coverages_keyword violates constraint: " - "coverage_name value must not contain a double quote')\n" - "WHERE NEW.coverage_name LIKE ('%\"%');\n" - "SELECT RAISE(ABORT,'insert on vector_coverages_keyword violates constraint: " - "coverage_name value must be lower case')\n" - "WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - sql = "CREATE TRIGGER vector_coverages_keyword_name_update\n" - "BEFORE UPDATE OF 'coverage_name' ON 'vector_coverages_keyword'\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'update on vector_coverages_keyword violates constraint: " - "coverage_name value must not contain a single quote')\n" - "WHERE NEW.coverage_name LIKE ('%''%');\n" - "SELECT RAISE(ABORT,'update on vector_coverages_keyword violates constraint: " - "coverage_name value must not contain a double quote')\n" - "WHERE NEW.coverage_name LIKE ('%\"%');\n" - "SELECT RAISE(ABORT,'update on vector_coverages_keyword violates constraint: " - "coverage_name value must be lower case')\n" - "WHERE NEW.coverage_name <> lower(NEW.coverage_name);\nEND"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } return 1; } SPATIALITE_PRIVATE int createVectorCoveragesTable (void *p_sqlite) @@ -2471,303 +2267,14 @@ { spatialite_e ("CreateVectorCoveragesTable() error: view 'vector_coverages_ref_sys' already exists\n"); goto error; } - ok_table = check_vector_coverages_keyword (sqlite); - if (ok_table) - { - spatialite_e - ("CreateVectorCoveragesTable() error: table 'vector_coverages_keyword' already exists\n"); - goto error; - } /* creating the main VectorCoverages table */ if (!create_vector_coverages (sqlite)) goto error; - return 1; - - error: - return 0; -} - -static int -check_wms_getcapabilities (sqlite3 * sqlite) -{ -/* checking if the "wms_getcapabilities" table already exists */ - int exists = 0; - const char *sql_statement; - char *errMsg = NULL; - int ret; - char **results; - int rows; - int columns; - int i; - sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table'" - "AND Upper(name) = Upper('wms_getcapabilities')"; - ret = - sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, - &errMsg); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - exists = 1; - sqlite3_free_table (results); - return exists; -} - -static int -check_wms_getmap (sqlite3 * sqlite) -{ -/* checking if the "wms_getmap" table already exists */ - int exists = 0; - const char *sql_statement; - char *errMsg = NULL; - int ret; - char **results; - int rows; - int columns; - int i; - sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table'" - "AND Upper(name) = Upper('wms_getmap')"; - ret = - sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, - &errMsg); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - exists = 1; - sqlite3_free_table (results); - return exists; -} - -static int -check_wms_settings (sqlite3 * sqlite) -{ -/* checking if the "wms_settings" table already exists */ - int exists = 0; - const char *sql_statement; - char *errMsg = NULL; - int ret; - char **results; - int rows; - int columns; - int i; - sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table'" - "AND Upper(name) = Upper('wms_settings')"; - ret = - sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, - &errMsg); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - exists = 1; - sqlite3_free_table (results); - return exists; -} - -static int -check_wms_ref_sys (sqlite3 * sqlite) -{ -/* checking if the "wms_ref_sys" table already exists */ - int exists = 0; - const char *sql_statement; - char *errMsg = NULL; - int ret; - char **results; - int rows; - int columns; - int i; - sql_statement = "SELECT name FROM sqlite_master WHERE type = 'table'" - "AND Upper(name) = Upper('wms_ref_sys')"; - ret = - sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, - &errMsg); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - exists = 1; - sqlite3_free_table (results); - return exists; -} - -static int -create_wms_tables (sqlite3 * sqlite) -{ -/* creating the WMS support tables */ - char *sql; - int ret; - char *err_msg = NULL; - sql = "CREATE TABLE wms_getcapabilities (\n" - "id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "url TEXT NOT NULL,\n" - "title TEXT NOT NULL DEFAULT '*** undefined ***',\n" - "abstract TEXT NOT NULL DEFAULT '*** undefined ***')"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE 'wms_getcapabilities' error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - sql = - "CREATE UNIQUE INDEX idx_wms_getcapabilities ON wms_getcapabilities (url)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX 'idx_wms_getcapabilities' error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - sql = "CREATE TABLE wms_getmap (\n" - "id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "parent_id INTEGER NOT NULL,\n" - "url TEXT NOT NULL,\n" - "layer_name TEXT NOT NULL,\n" - "title TEXT NOT NULL DEFAULT '*** undefined ***',\n" - "abstract TEXT NOT NULL DEFAULT '*** undefined ***',\n" - "version TEXT NOT NULL,\n" - "srs TEXT NOT NULL,\n" - "format TEXT NOT NULL,\n" - "style TEXT NOT NULL,\n" - "transparent INTEGER NOT NULL CHECK (transparent IN (0, 1)),\n" - "flip_axes INTEGER NOT NULL CHECK (flip_axes IN (0, 1)),\n" - "is_queryable INTEGER NOT NULL CHECK (is_queryable IN (0, 1)),\n" - "getfeatureinfo_url TEXT,\n" - "bgcolor TEXT,\n" - "tiled INTEGER NOT NULL CHECK (tiled IN (0, 1)),\n" - "tile_width INTEGER NOT NULL CHECK (tile_width BETWEEN 256 AND 5000),\n" - "tile_height INTEGER NOT NULL CHECK (tile_width BETWEEN 256 AND 5000),\n" - "is_cached INTEGER NOT NULL CHECK (is_cached IN (0, 1)),\n" - "CONSTRAINT fk_wms_getmap FOREIGN KEY (parent_id) " - "REFERENCES wms_getcapabilities (id) ON DELETE CASCADE)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE 'wms_getmap' error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - sql = "CREATE UNIQUE INDEX idx_wms_getmap ON wms_getmap (url, layer_name)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX 'idx_wms_getmap' error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - sql = "CREATE TABLE wms_settings (\n" - "id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "parent_id INTEGER NOT NULL,\n" - "key TEXT NOT NULL CHECK (Lower(key) IN ('version', 'format', 'style')),\n" - "value TEXT NOT NULL,\n" - "is_default INTEGER NOT NULL CHECK (is_default IN (0, 1)),\n" - "CONSTRAINT fk_wms_settings FOREIGN KEY (parent_id) " - "REFERENCES wms_getmap (id) ON DELETE CASCADE)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE 'wms_settings' error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - sql = - "CREATE UNIQUE INDEX idx_wms_settings ON wms_settings (parent_id, key, value)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX 'idx_wms_settings' error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - sql = "CREATE TABLE wms_ref_sys (\n" - "id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "parent_id INTEGER NOT NULL,\n" - "srs TEXT NOT NULL,\n" - "minx DOUBLE NOT NULL,\n" - "miny DOUBLE NOT NULL,\n" - "maxx DOUBLE NOT NULL,\n" - "maxy DOUBLE NOT NULL,\n" - "is_default INTEGER NOT NULL CHECK (is_default IN (0, 1)),\n" - "CONSTRAINT fk_wms_ref_sys FOREIGN KEY (parent_id) " - "REFERENCES wms_getmap (id) ON DELETE CASCADE)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE 'wms_ref_sys' error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - sql = "CREATE UNIQUE INDEX idx_wms_ref_sys ON wms_ref_sys (parent_id, srs)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX 'idx_wms_ref_sys' error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -SPATIALITE_PRIVATE int -createWMSTables (void *p_sqlite) -{ -/* Creating all WMS support tables */ - int ok_table; - sqlite3 *sqlite = p_sqlite; - -/* checking if already defined */ - ok_table = check_wms_getcapabilities (sqlite); - if (ok_table) - { - spatialite_e - ("WMS_CreateTables() error: table 'wms_getcapabilities' already exists\n"); - goto error; - } - ok_table = check_wms_getmap (sqlite); - if (ok_table) - { - spatialite_e - ("WMS_CreateTables() error: table 'wms_getmap' already exists\n"); - goto error; - } - ok_table = check_wms_settings (sqlite); - if (ok_table) - { - spatialite_e - ("WMS_CreateTables() error: table 'wms_settings' already exists\n"); - goto error; - } - ok_table = check_wms_ref_sys (sqlite); - if (ok_table) - { - spatialite_e - ("WMS_CreateTables() error: table 'wms_ref_sys' already exists\n"); - goto error; - } - -/* creating the WMS support tables */ - if (!create_wms_tables (sqlite)) - goto error; return 1; error: return 0; } @@ -2865,11 +2372,12 @@ /* creating the SE_fonts table */ char *sql; int ret; char *err_msg = NULL; sql = "CREATE TABLE SE_fonts (\n" - "font_facename TEXT NOT NULL PRIMARY KEY,\n" "font BLOB NOT NULL)"; + "font_facename TEXT NOT NULL PRIMARY KEY,\n" + "font BLOB NOT NULL)"; ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); if (ret != SQLITE_OK) { spatialite_e ("CREATE TABLE 'SE_fonts' error: %s\n", err_msg); sqlite3_free (err_msg); @@ -3784,11 +3292,12 @@ "font AS font\nFROM SE_fonts"); ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); sqlite3_free (sql_statement); if (ret != SQLITE_OK) { - spatialite_e ("CREATE VIEW 'SE_fonts_view' error: %s\n", err_msg); + spatialite_e + ("CREATE VIEW 'SE_fonts_view' error: %s\n", err_msg); sqlite3_free (err_msg); return 0; } return 1; } Index: src/spatialite/mbrcache.c ================================================================== --- src/spatialite/mbrcache.c +++ src/spatialite/mbrcache.c @@ -1,10 +1,10 @@ /* mbrcache.c -- SQLite3 extension [MBR CACHE VIRTUAL TABLE] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of Index: src/spatialite/metatables.c ================================================================== --- src/spatialite/metatables.c +++ src/spatialite/metatables.c @@ -1,10 +1,10 @@ /* metatables.c -- creating the metadata tables and related triggers - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Pepijn Van Eeckhoudt (implementing Android support) @@ -2784,11 +2784,11 @@ /* upgrading all triggers for any Spatial Column */ sqlite3 *sqlite = (sqlite3 *) p_sqlite; int ret; sqlite3_stmt *stmt = NULL; char *sql_statement; - int retcode = 0; + int retcode; int metadata_version = checkSpatialMetaData (sqlite); if (metadata_version < 3) return 0; sql_statement = @@ -4550,12 +4550,12 @@ int is_null = 0; const char *table_name = (const char *) sqlite3_column_text (stmt, 0); const char *geometry_column = (const char *) sqlite3_column_text (stmt, 1); - int read_only = 0; - int hidden = 0; + int read_only; + int hidden; if (sqlite3_column_type (stmt, 2) == SQLITE_NULL) is_null = 1; else read_only = sqlite3_column_int (stmt, 2); if (sqlite3_column_type (stmt, 3) == SQLITE_NULL) @@ -5333,12 +5333,12 @@ int is_null = 0; const char *table_name = (const char *) sqlite3_column_text (stmt, 0); const char *geometry_column = (const char *) sqlite3_column_text (stmt, 1); - int read_only = 0; - int hidden = 0; + int read_only; + int hidden; if (sqlite3_column_type (stmt, 2) == SQLITE_NULL) is_null = 1; else read_only = sqlite3_column_int (stmt, 2); if (sqlite3_column_type (stmt, 3) == SQLITE_NULL) @@ -6025,11 +6025,11 @@ gaiaVectorLayerPtr lyr; double minx = -DBL_MAX; double miny = -DBL_MAX; double maxx = DBL_MAX; double maxy = DBL_MAX; - int srid = 0; + int srid; gaiaGeomCollPtr bbox; gaiaPolygonPtr polyg; gaiaRingPtr rect; int md = GAIA_VECTORS_LIST_OPTIMISTIC; Index: src/spatialite/se_helpers.c ================================================================== --- src/spatialite/se_helpers.c +++ src/spatialite/se_helpers.c @@ -1,10 +1,10 @@ /* se_helpers.c -- SLD/SE helper functions - version 4.3, 2015 June 29 + version 4.2.1, 2014 December 9 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -400,11 +400,11 @@ /* checks if a Vector Style do actually exists - by name */ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT style_id FROM SE_vector_styles " "WHERE Lower(style_name) = Lower(?)"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) @@ -495,11 +495,11 @@ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; int ref_count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT style_id FROM SE_vector_styles " "WHERE Lower(style_name) = Lower(?)"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) @@ -537,11 +537,11 @@ sqlite3_errmsg (sqlite)); goto stop; } sqlite3_reset (stmt); sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, *id); + sqlite3_bind_int (stmt, 1, *id); while (1) { /* scrolling the result set rows */ ret = sqlite3_step (stmt); if (ret == SQLITE_DONE) @@ -554,10 +554,11 @@ } sqlite3_finalize (stmt); if (ref_count > 0) *has_refs = 1; return 1; + return 0; stop: return 0; } static int @@ -879,11 +880,11 @@ /* checks if a Vector Styled Layer do actually exists - by name */ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT l.style_id FROM SE_vector_styled_layers AS l " "JOIN SE_vector_styles AS s ON (l.style_id = s.style_id) " "WHERE Lower(l.coverage_name) = Lower(?) " "AND Lower(s.style_name) = Lower(?)"; @@ -1159,11 +1160,11 @@ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; int ref_count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT style_id FROM SE_raster_styles " "WHERE Lower(style_name) = Lower(?)"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) @@ -1201,11 +1202,11 @@ sqlite3_errmsg (sqlite)); goto stop; } sqlite3_reset (stmt); sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, *id); + sqlite3_bind_int (stmt, 1, *id); while (1) { /* scrolling the result set rows */ ret = sqlite3_step (stmt); if (ret == SQLITE_DONE) @@ -1218,10 +1219,11 @@ } sqlite3_finalize (stmt); if (ref_count > 0) *has_refs = 1; return 1; + return 0; stop: return 0; } static int @@ -1347,11 +1349,11 @@ /* checks if a Raster Style do actually exists - by name */ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT style_id FROM SE_raster_styles " "WHERE Lower(style_name) = Lower(?)"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) @@ -1594,11 +1596,11 @@ /* checks if a Raster Styled Layer do actually exists - by name */ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT l.style_id FROM SE_raster_styled_layers AS l " "JOIN SE_raster_styles AS s ON (l.style_id = s.style_id) " "WHERE Lower(l.coverage_name) = Lower(?) AND " "Lower(s.style_name) = Lower(?)"; @@ -2148,11 +2150,11 @@ /* checks if a Styled Group Layer (Raster) do actually exists */ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT id FROM SE_styled_group_refs WHERE " "Lower(group_name) = Lower(?) AND Lower(raster_coverage_name) = Lower(?)"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) @@ -2196,11 +2198,11 @@ /* checks if a Styled Group Layer (Vector) do actually exists */ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT id FROM SE_styled_group_refs WHERE " "Lower(group_name) = Lower(?) AND Lower(vector_coverage_name) = Lower(?) "; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) @@ -2577,11 +2579,11 @@ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; int ref_count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT style_id FROM SE_group_styles " "WHERE Lower(style_name) = Lower(?)"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) @@ -2619,11 +2621,11 @@ sqlite3_errmsg (sqlite)); goto stop; } sqlite3_reset (stmt); sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, *id); + sqlite3_bind_int (stmt, 1, *id); while (1) { /* scrolling the result set rows */ ret = sqlite3_step (stmt); if (ret == SQLITE_DONE) @@ -2636,10 +2638,11 @@ } sqlite3_finalize (stmt); if (ref_count > 0) *has_refs = 1; return 1; + return 0; stop: return 0; } static int @@ -2765,11 +2768,11 @@ /* checks if a Group Style do actually exists - by name */ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT style_id FROM SE_group_styles " "WHERE Lower(style_name) = Lower(?)"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) @@ -2994,11 +2997,11 @@ /* checks if a Styled Group Style do actually exists - by name */ int ret; const char *sql; sqlite3_stmt *stmt; int count = 0; - sqlite3_int64 xid = 0; + sqlite3_int64 xid; sql = "SELECT l.style_id FROM SE_styled_group_styles AS l " "JOIN SE_group_styles AS s ON (l.style_id = s.style_id) " "WHERE Lower(l.group_name) = Lower(?) AND " "Lower(s.style_name) = Lower(?)"; @@ -3234,21 +3237,17 @@ static void do_delete_vector_coverage_srid (sqlite3 * sqlite, const char *coverage_name, int srid) { -/* auxiliary function: deleting a Vector Coverage alternative SRID */ +/* auxiliary function: deleting all Vector Coverage alternative SRIDs */ int ret; const char *sql; sqlite3_stmt *stmt; - if (srid < 0) - sql = "DELETE FROM vector_coverages_srid " - "WHERE Lower(coverage_name) = Lower(?)"; - else - sql = "DELETE FROM vector_coverages_srid " - "WHERE Lower(coverage_name) = Lower(?) AND srid = ?"; + sql = "DELETE FROM vector_coverages_srid " + "WHERE coverage_name = ? AND srid = ?"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) { spatialite_e ("unregisterVectorCoverageSrid: \"%s\"\n", sqlite3_errmsg (sqlite)); @@ -3256,58 +3255,20 @@ } sqlite3_reset (stmt); sqlite3_clear_bindings (stmt); sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), SQLITE_STATIC); - if (srid >= 0) - sqlite3_bind_int (stmt, 2, srid); + sqlite3_bind_int (stmt, 2, srid); ret = sqlite3_step (stmt); if (ret == SQLITE_DONE || ret == SQLITE_ROW) ; else spatialite_e ("unregisterVectorCoverageSrid() error: \"%s\"\n", sqlite3_errmsg (sqlite)); sqlite3_finalize (stmt); } -static void -do_delete_vector_coverage_keyword (sqlite3 * sqlite, const char *coverage_name, - const char *keyword) -{ -/* auxiliary function: deleting an Vector Coverage Keyword */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (keyword == NULL) - sql = "DELETE FROM vector_coverages_keyword " - "WHERE Lower(coverage_name) = Lower(?)"; - else - sql = "DELETE FROM vector_coverages_keyword " - "WHERE Lower(coverage_name) = Lower(?) AND Lower(keyword) = Lower(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("unregisterVectorCoverageKeyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - if (keyword != NULL) - sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - spatialite_e ("unregisterVectorCoverageKeyword() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); -} - static void do_delete_vector_coverage_styled_layers (sqlite3 * sqlite, const char *coverage_name) { /* auxiliary function: deleting all Vector Coverage Styled references */ @@ -3409,12 +3370,10 @@ /* checking if the Vector Coverage do actually exists */ if (!check_vector_coverage (sqlite, coverage_name)) return 0; /* deleting all alternative SRIDs */ do_delete_vector_coverage_srid (sqlite, coverage_name, -1); - /* deleting all Keywords */ - do_delete_vector_coverage_keyword (sqlite, coverage_name, NULL); /* deleting all Styled Layers */ do_delete_vector_coverage_styled_layers (sqlite, coverage_name); /* deleting all Styled Group references */ do_delete_vector_coverage_styled_groups (sqlite, coverage_name); /* deleting the Vector Coverage itself */ @@ -3437,11 +3396,11 @@ sql = "UPDATE vector_coverages SET title = ?, abstract = ? " "WHERE Lower(coverage_name) = Lower(?)"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) { - spatialite_e ("setVectorCoverageInfos: \"%s\"\n", + spatialite_e ("registerVectorCoverage: \"%s\"\n", sqlite3_errmsg (sqlite)); return 0; } sqlite3_reset (stmt); sqlite3_clear_bindings (stmt); @@ -3625,207 +3584,10 @@ /* deleting the alternative SRID */ do_delete_vector_coverage_srid (sqlite, coverage_name, srid); return 1; } -static int -check_vector_coverage_keyword0 (sqlite3 * sqlite, const char *coverage_name) -{ -/* checks if a Vector Coverage do actually exists */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = - "SELECT coverage_name FROM vector_coverages WHERE Lower(coverage_name) = Lower(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check Vector Coverage Keyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - count++; - } - sqlite3_finalize (stmt); - if (count == 0) - return 0; - return 1; - stop: - return 0; -} - -static int -check_vector_coverage_keyword1 (sqlite3 * sqlite, const char *coverage_name, - const char *keyword) -{ -/* checks if a Vector Coverage do actually exists and check the Keyword */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int same_kw = 0; - - sql = - "SELECT keyword FROM vector_coverages_keyword WHERE Lower(coverage_name) = Lower(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check Vector Coverage Keyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *kw = (const char *) sqlite3_column_text (stmt, 0); - if (strcasecmp (kw, keyword) == 0) - same_kw++; - } - } - sqlite3_finalize (stmt); - if (same_kw == 0) - { - if (!check_vector_coverage_keyword0 (sqlite, coverage_name)) - return 0; - else - return 1; - } - return 0; - stop: - return 0; -} - -static int -check_vector_coverage_keyword2 (sqlite3 * sqlite, const char *coverage_name, - const char *keyword) -{ -/* checks if a Vector Coverage do actually exists and check the Keyword */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = "SELECT keyword FROM vector_coverages_keyword " - "WHERE Lower(coverage_name) = Lower(?) AND Lower(keyword) = Lower(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check Vector Coverage Keyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - count++; - } - sqlite3_finalize (stmt); - if (count == 0) - return 0; - return 1; - stop: - return 0; -} - -SPATIALITE_PRIVATE int -register_vector_coverage_keyword (void *p_sqlite, const char *coverage_name, - const char *keyword) -{ -/* auxiliary function: inserting a Vector Coverage Keyword */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (coverage_name == NULL) - return 0; - if (keyword == NULL) - return 0; - - /* checking if the Vector Coverage do actually exists */ - if (!check_vector_coverage_keyword1 (sqlite, coverage_name, keyword)) - return 0; - - /* attempting to insert the Vector Coverage Keyword */ - sql = "INSERT INTO vector_coverages_keyword " - "(coverage_name, keyword) VALUES (Lower(?), ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("registerVectorCoverageKeyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("registerVectorCoverageKeyword() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; -} - -SPATIALITE_PRIVATE int -unregister_vector_coverage_keyword (void *p_sqlite, const char *coverage_name, - const char *keyword) -{ -/* auxiliary function: deletes a Vector Coverage Keyword */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - - if (coverage_name == NULL) - return 0; - if (keyword == NULL) - return 0; - - /* checking if the Vector Coverage Keyword do actually exists */ - if (!check_vector_coverage_keyword2 (sqlite, coverage_name, keyword)) - return 0; - /* deleting the Keyword */ - do_delete_vector_coverage_keyword (sqlite, coverage_name, keyword); - return 1; -} - static int do_null_vector_coverage_extents (sqlite3 * sqlite, sqlite3_stmt * stmt_upd_cvg, sqlite3_stmt * stmt_null_srid, const char *coverage_name) { @@ -4234,14 +3996,14 @@ { int null_minx = 1; int null_miny = 1; int null_maxx = 1; int null_maxy = 1; - double minx = 0.0; - double miny = 0.0; - double maxx = 0.0; - double maxy = 0.0; + double minx; + double miny; + double maxx; + double maxy; if (sqlite3_column_type (stmt_ext, 0) == SQLITE_FLOAT) { minx = sqlite3_column_double (stmt_ext, 0); null_minx = 0; @@ -4485,11 +4247,11 @@ int ret; const char *sql; sqlite3_stmt *stmt; sql = "DELETE FROM raster_coverages_srid " - "WHERE Lower(coverage_name) = Lower(?) AND srid = ?"; + "WHERE coverage_name = ? AND srid = ?"; ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); if (ret != SQLITE_OK) { spatialite_e ("unregisterRasterCoverageSrid: \"%s\"\n", sqlite3_errmsg (sqlite)); @@ -4525,239 +4287,10 @@ /* deleting the alternative SRID */ do_delete_raster_coverage_srid (sqlite, coverage_name, srid); return 1; } -static int -check_raster_coverage_keyword0 (sqlite3 * sqlite, const char *coverage_name) -{ -/* checks if a Raster Coverage do actually exists */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = - "SELECT coverage_name FROM raster_coverages WHERE Lower(coverage_name) = Lower(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check Raster Coverage Keyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - count++; - } - sqlite3_finalize (stmt); - if (count == 0) - return 0; - return 1; - stop: - return 0; -} - -static int -check_raster_coverage_keyword1 (sqlite3 * sqlite, const char *coverage_name, - const char *keyword) -{ -/* checks if a Raster Coverage do actually exists and check the Keyword */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int same_kw = 0; - - sql = - "SELECT keyword FROM raster_coverages_keyword WHERE Lower(coverage_name) = Lower(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check Raster Coverage Keyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *kw = (const char *) sqlite3_column_text (stmt, 0); - if (strcasecmp (kw, keyword) == 0) - same_kw++; - } - } - sqlite3_finalize (stmt); - if (same_kw == 0) - { - if (!check_raster_coverage_keyword0 (sqlite, coverage_name)) - return 0; - else - return 1; - } - return 0; - stop: - return 0; -} - -static int -check_raster_coverage_keyword2 (sqlite3 * sqlite, const char *coverage_name, - const char *keyword) -{ -/* checks if a Raster Coverage do actually exists and check the Keyword */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = "SELECT keyword FROM raster_coverages_keyword " - "WHERE Lower(coverage_name) = Lower(?) AND Lower(keyword) = Lower(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check Raster Coverage Keyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - count++; - } - sqlite3_finalize (stmt); - if (count == 0) - return 0; - return 1; - stop: - return 0; -} - -SPATIALITE_PRIVATE int -register_raster_coverage_keyword (void *p_sqlite, const char *coverage_name, - const char *keyword) -{ -/* auxiliary function: inserting a Raster Coverage Keyword */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (coverage_name == NULL) - return 0; - if (keyword == NULL) - return 0; - - /* checking if the Raster Coverage do actually exists */ - if (!check_raster_coverage_keyword1 (sqlite, coverage_name, keyword)) - return 0; - - /* attempting to insert the Raster Coverage Keyword */ - sql = "INSERT INTO raster_coverages_keyword " - "(coverage_name, keyword) VALUES (Lower(?), ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("registerRasterCoverageKeyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("registerRasterCoverageKeyword() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; -} - -static void -do_delete_raster_coverage_keyword (sqlite3 * sqlite, const char *coverage_name, - const char *keyword) -{ -/* auxiliary function: deleting all Raster Coverage Keyword */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - - sql = "DELETE FROM raster_coverages_keyword " - "WHERE Lower(coverage_name) = Lower(?) AND Lower(keyword) = Lower(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("unregisterRasterCoverageKeyword: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, coverage_name, strlen (coverage_name), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, keyword, strlen (keyword), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - spatialite_e ("unregisterRasterCoverageKeyword() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); -} - -SPATIALITE_PRIVATE int -unregister_raster_coverage_keyword (void *p_sqlite, const char *coverage_name, - const char *keyword) -{ -/* auxiliary function: deletes a Raster Coverage Keyword */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - - if (coverage_name == NULL) - return 0; - if (keyword == NULL) - return 0; - - /* checking if the Raster Coverage Keyword do actually exists */ - if (!check_raster_coverage_keyword2 (sqlite, coverage_name, keyword)) - return 0; - /* deleting the Keyword */ - do_delete_raster_coverage_keyword (sqlite, coverage_name, keyword); - return 1; -} - static int do_null_raster_coverage_extents (sqlite3 * sqlite, sqlite3_stmt * stmt_upd_cvg, sqlite3_stmt * stmt_null_srid, const char *coverage_name) { @@ -5154,14 +4687,14 @@ { int null_minx = 1; int null_miny = 1; int null_maxx = 1; int null_maxy = 1; - double minx = 0.0; - double miny = 0.0; - double maxx = 0.0; - double maxy = 0.0; + double minx; + double miny; + double maxx; + double maxy; if (sqlite3_column_type (stmt_ext, 0) == SQLITE_FLOAT) { minx = sqlite3_column_double (stmt_ext, 0); null_minx = 0; @@ -5261,11 +4794,11 @@ get_iso_metadata_id (void *p_sqlite, const char *fileIdentifier, void *p_id) { /* auxiliary function: return the ID of the row corresponding to "fileIdentifier" */ sqlite3 *sqlite = (sqlite3 *) p_sqlite; sqlite3_int64 *p64 = (sqlite3_int64 *) p_id; - sqlite3_int64 id = 0; + sqlite3_int64 id; int ret; const char *sql; sqlite3_stmt *stmt; int ok = 0; @@ -5397,11 +4930,11 @@ if (exists) { /* update */ sqlite3_bind_text (stmt, 1, scope, strlen (scope), SQLITE_STATIC); sqlite3_bind_blob (stmt, 2, p_blob, n_bytes, SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 3, id); + sqlite3_bind_int (stmt, 3, id); } else { /* insert */ if (id < 0) @@ -5422,1649 +4955,5 @@ stop: return 0; } #endif /* end including LIBXML2 */ - -SPATIALITE_PRIVATE int -register_wms_getcapabilities (void *p_sqlite, const char *url, - const char *title, const char *abstract) -{ -/* auxiliary function: inserts a WMS GetCapabilities */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (url != NULL && title != NULL && abstract != NULL) - { - /* attempting to insert the WMS GetCapabilities */ - sql = "INSERT INTO wms_getcapabilities (url, title, abstract) " - "VALUES (?, ?, ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_RegisterGetCapabilities: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, title, strlen (title), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, abstract, strlen (abstract), - SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_RegisterGetCapabilities() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; - } - else if (url != NULL) - { - /* attempting to insert the WMS GetCapabilities */ - sql = "INSERT INTO wms_getcapabilities (url) VALUES (?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_RegisterGetCapabilities: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_RegisterGetCapabilities() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; - } - else - return 0; -} - -static int -check_wms_getcapabilities (sqlite3 * sqlite, const char *url) -{ -/* checks if a WMS GetCapabilities do actually exists */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = "SELECT url FROM wms_getcapabilities WHERE url = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check WMS GetCapabilities: \"%s\"\n", - sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - count++; - } - sqlite3_finalize (stmt); - if (count == 1) - return 1; - return 0; - stop: - return 0; -} - -static int -do_delete_wms_getcapabilities (sqlite3 * sqlite, const char *url) -{ -/* auxiliary function: deleting a WMS GetCapabilities */ - int ret; - int result = 0; - const char *sql; - sqlite3_stmt *stmt; - - sql = "DELETE FROM wms_getcapabilities WHERE url = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_UnRegisterGetCapabilities: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_UnRegisterGetCapabilities() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return result; -} - -static void -do_delete_wms_settings_0 (sqlite3 * sqlite, const char *url) -{ -/* auxiliary function: deleting WMS settings (from GetCapabilities) */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - - sql = "DELETE FROM wms_settings WHERE id IN (" - "SELECT s.id FROM wms_getcapabilities AS c " - "JOIN wms_getmap AS m ON (c.id = m.parent_id) " - "JOIN wms_settings AS s ON (m.id = s.parent_id) " "WHERE c.url = ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_UnRegisterGetCapabilities: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - spatialite_e ("WMS_UnRegisterGetCapabilities() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); -} - -static void -do_delete_wms_getmap_0 (sqlite3 * sqlite, const char *url) -{ -/* auxiliary function: deleting WMS GetMap (from GetCapabilities) */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - - sql = "DELETE FROM wms_getmap WHERE id IN (" - "SELECT m.id FROM wms_getcapabilities AS c " - "JOIN wms_getmap AS m ON (c.id = m.parent_id) " "WHERE c.url = ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_UnRegisterGetCapabilities: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - spatialite_e ("WMS_UnRegisterGetCapabilities() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); -} - -SPATIALITE_PRIVATE int -unregister_wms_getcapabilities (void *p_sqlite, const char *url) -{ -/* auxiliary function: deletes a WMS GetCapabilities definition (and any related) */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - - if (url == NULL) - return 0; - - /* checking if the WMS GetCapabilities do actually exists */ - if (!check_wms_getcapabilities (sqlite, url)) - return 0; - /* deleting all WMS settings */ - do_delete_wms_settings_0 (sqlite, url); - /* deleting all WMS GetMap */ - do_delete_wms_getmap_0 (sqlite, url); - /* deleting the WMS GetCapability itself */ - return do_delete_wms_getcapabilities (sqlite, url); -} - -SPATIALITE_PRIVATE int -set_wms_getcapabilities_infos (void *p_sqlite, const char *url, - const char *title, const char *abstract) -{ -/* auxiliary function: updates the descriptive infos supporting a WMS GetCapabilities */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (url != NULL && title != NULL && abstract != NULL) - { - /* checking if the WMS GetCapabilities do actually exists */ - if (!check_wms_getcapabilities (sqlite, url)) - return 0; - - /* attempting to update the WMS GetCapabilities */ - sql = - "UPDATE wms_getcapabilities SET title = ?, abstract = ? WHERE url = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_SetGetCapabilitiesInfos: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, title, strlen (title), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, abstract, strlen (abstract), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, url, strlen (url), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_SetGetCapabilitiesInfos() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; - } - else - return 0; -} - -static int -wms_getmap_parentid (sqlite3 * sqlite, const char *url, sqlite3_int64 * id) -{ -/* retieving the WMS GetCapabilities ID value */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = "SELECT id FROM wms_getcapabilities WHERE url = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("GetMap parent_id: \"%s\"\n", sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - *id = sqlite3_column_int64 (stmt, 0); - count++; - } - } - sqlite3_finalize (stmt); - if (count == 1) - return 1; - return 0; - stop: - return 0; -} - -SPATIALITE_PRIVATE int -register_wms_getmap (void *p_sqlite, const char *getcapabilities_url, - const char *getmap_url, const char *layer_name, - const char *title, const char *abstract, - const char *version, const char *ref_sys, - const char *image_format, const char *style, - int transparent, int flip_axes, int tiled, int cached, - int tile_width, int tile_height, const char *bgcolor, - int is_queryable, const char *getfeatureinfo_url) -{ -/* auxiliary function: inserts a WMS GetMap */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - sqlite3_int64 parent_id; - const char *sql; - sqlite3_stmt *stmt; - - if (getcapabilities_url == NULL) - return 0; - - if (!wms_getmap_parentid (sqlite, getcapabilities_url, &parent_id)) - { - spatialite_e ("WMS_RegisterGetMap: missing parent GetCapabilities\n"); - return 0; - } - - if (getmap_url != NULL && layer_name != NULL && title != NULL - && abstract != NULL) - { - /* attempting to insert the WMS GetMap */ - sql = - "INSERT INTO wms_getmap (parent_id, url, layer_name, title, abstract, " - "version, srs, format, style, transparent, flip_axes, tiled, " - "is_cached, tile_width, tile_height, bgcolor, is_queryable, " - "getfeatureinfo_url) VALUES " - "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_RegisterGetMap: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, parent_id); - sqlite3_bind_text (stmt, 2, getmap_url, strlen (getmap_url), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, layer_name, strlen (layer_name), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, title, strlen (title), SQLITE_STATIC); - sqlite3_bind_text (stmt, 5, abstract, strlen (abstract), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 6, version, strlen (version), SQLITE_STATIC); - sqlite3_bind_text (stmt, 7, ref_sys, strlen (ref_sys), SQLITE_STATIC); - sqlite3_bind_text (stmt, 8, image_format, strlen (image_format), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 9, style, strlen (style), SQLITE_STATIC); - if (transparent != 0) - transparent = 1; - sqlite3_bind_int (stmt, 10, transparent); - if (flip_axes != 0) - flip_axes = 1; - sqlite3_bind_int (stmt, 11, flip_axes); - if (tiled != 0) - tiled = 1; - sqlite3_bind_int (stmt, 12, tiled); - if (cached != 0) - cached = 1; - sqlite3_bind_int (stmt, 13, cached); - if (tile_width < 256) - tile_width = 256; - if (tile_height > 5000) - tile_width = 5000; - sqlite3_bind_int (stmt, 14, tile_width); - if (tile_height < 256) - tile_height = 256; - if (tile_height > 5000) - tile_height = 5000; - sqlite3_bind_int (stmt, 15, tile_height); - if (bgcolor == NULL) - sqlite3_bind_null (stmt, 16); - else - sqlite3_bind_text (stmt, 16, bgcolor, strlen (bgcolor), - SQLITE_STATIC); - if (is_queryable != 0) - is_queryable = 1; - sqlite3_bind_int (stmt, 17, is_queryable); - if (getfeatureinfo_url == NULL) - sqlite3_bind_null (stmt, 18); - else - sqlite3_bind_text (stmt, 18, getfeatureinfo_url, - strlen (getfeatureinfo_url), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_RegisterGetMap() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - } - else if (getmap_url != NULL && layer_name != NULL) - { - /* attempting to insert the WMS GetMap */ - sql = - "INSERT INTO wms_getmap (parent_id, url, layer_name, version, srs, " - "format, style, transparent, flip_axes, tiled, is_cached, " - "tile_width, tile_height, is_queryable) VALUES " - "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_RegisterGetMap: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, parent_id); - sqlite3_bind_text (stmt, 2, getmap_url, strlen (getmap_url), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, layer_name, strlen (layer_name), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, version, strlen (version), SQLITE_STATIC); - sqlite3_bind_text (stmt, 5, ref_sys, strlen (ref_sys), SQLITE_STATIC); - sqlite3_bind_text (stmt, 6, image_format, strlen (image_format), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 7, style, strlen (style), SQLITE_STATIC); - if (transparent != 0) - transparent = 1; - sqlite3_bind_int (stmt, 8, transparent); - if (flip_axes != 0) - flip_axes = 1; - sqlite3_bind_int (stmt, 9, flip_axes); - if (tiled != 0) - tiled = 1; - sqlite3_bind_int (stmt, 10, tiled); - if (cached != 0) - cached = 1; - sqlite3_bind_int (stmt, 11, cached); - if (tile_width < 256) - tile_width = 256; - if (tile_height > 5000) - tile_width = 5000; - sqlite3_bind_int (stmt, 12, tile_width); - if (tile_height < 256) - tile_height = 256; - if (tile_height > 5000) - tile_height = 5000; - sqlite3_bind_int (stmt, 13, tile_height); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_RegisterGetMap() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - } - return 1; -} - -static int -check_wms_getmap (sqlite3 * sqlite, const char *url, const char *layer_name) -{ -/* checks if a WMS GetMap do actually exists */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = "SELECT url FROM wms_getmap WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check WMS GetMap: \"%s\"\n", sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - count++; - } - sqlite3_finalize (stmt); - if (count == 1) - return 1; - return 0; - stop: - return 0; -} - -static int -do_delete_wms_getmap (sqlite3 * sqlite, const char *url, const char *layer_name) -{ -/* auxiliary function: deleting a WMS GetMap */ - int ret; - int result = 0; - const char *sql; - sqlite3_stmt *stmt; - - sql = "DELETE FROM wms_getmap WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_UnRegisterGetMap: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_UnRegisterGetMap() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return result; -} - -static void -do_delete_wms_settings_1 (sqlite3 * sqlite, const char *url, - const char *layer_name) -{ -/* auxiliary function: deleting WMS settings (from GetMap) */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - - sql = "DELETE FROM wms_settings WHERE id IN (" - "SELECT s.id FROM wms_getmap AS m " - "JOIN wms_settings AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_UnRegisterGetMap: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - spatialite_e ("WMS_UnRegisterGetMap() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); -} - -SPATIALITE_PRIVATE int -unregister_wms_getmap (void *p_sqlite, const char *url, const char *layer_name) -{ -/* auxiliary function: deletes a WMS GetMap definition (and related settings) */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - - if (url == NULL || layer_name == NULL) - return 0; - - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_getmap (sqlite, url, layer_name)) - return 0; - /* deleting all WMS settings */ - do_delete_wms_settings_1 (sqlite, url, layer_name); - /* deleting the WMS GetMap itself */ - return do_delete_wms_getmap (sqlite, url, layer_name); -} - -SPATIALITE_PRIVATE int -set_wms_getmap_infos (void *p_sqlite, const char *url, const char *layer_name, - const char *title, const char *abstract) -{ -/* auxiliary function: updates the descriptive infos supporting a WMS GetMap */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (url != NULL && title != NULL && abstract != NULL) - { - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_getmap (sqlite, url, layer_name)) - return 0; - - /* attempting to update the WMS GetGetMap */ - sql = "UPDATE wms_getmap SET title = ?, abstract = ? " - "WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_SetGetMapInfos: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, title, strlen (title), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, abstract, strlen (abstract), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, layer_name, strlen (layer_name), - SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_SetGetMapInfos() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; - } - else - return 0; -} - -SPATIALITE_PRIVATE int -set_wms_getmap_bgcolor (void *p_sqlite, - const char *url, const char *layer_name, - const char *bgcolor) -{ -/* updating WMS GetMap Options - BgColor */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (url != NULL) - { - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_getmap (sqlite, url, layer_name)) - return 0; - - /* attempting to update the WMS GetMap */ - sql = - "UPDATE wms_getmap SET bgcolor = ? WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_SetGetMapOptions (BGCOLOR): \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (bgcolor == NULL) - sqlite3_bind_null (stmt, 1); - else - sqlite3_bind_text (stmt, 1, bgcolor, strlen (bgcolor), - SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, layer_name, strlen (layer_name), - SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_SetGetMapOptions (BGCOLOR) error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; - } - else - return 0; -} - -SPATIALITE_PRIVATE int -set_wms_getmap_queryable (void *p_sqlite, - const char *url, const char *layer_name, - int is_queryable, const char *getfeatureinfo_url) -{ -/* updating WMS GetMap Options - IsQueryable */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (url != NULL) - { - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_getmap (sqlite, url, layer_name)) - return 0; - - /* attempting to update the WMS GetMap */ - sql = - "UPDATE wms_getmap SET is_queryable = ?, getfeatureinfo_url = ? WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_SetGetMapOptions (IsQueryable): \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (is_queryable != 0) - is_queryable = 1; - sqlite3_bind_int (stmt, 1, is_queryable); - if (getfeatureinfo_url == NULL) - sqlite3_bind_null (stmt, 2); - else - sqlite3_bind_text (stmt, 2, getfeatureinfo_url, - strlen (getfeatureinfo_url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, layer_name, strlen (layer_name), - SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e - ("WMS_SetGetMapOptions (IsQueryable) error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; - } - else - return 0; -} - -SPATIALITE_PRIVATE int -set_wms_getmap_options (void *p_sqlite, - const char *url, const char *layer_name, - int transparent, int flip_axes) -{ -/* updating WMS GetMap Options - Flags */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (url != NULL) - { - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_getmap (sqlite, url, layer_name)) - return 0; - - /* attempting to update the WMS GetMap */ - sql = - "UPDATE wms_getmap SET transparent = ?, flip_axes = ? WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_SetGetMapOptions (Flags): \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (transparent != 0) - transparent = 1; - sqlite3_bind_int (stmt, 1, transparent); - if (flip_axes != 0) - flip_axes = 1; - sqlite3_bind_int (stmt, 2, flip_axes); - sqlite3_bind_text (stmt, 3, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, layer_name, strlen (layer_name), - SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_SetGetMapOptions (Flags) error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; - } - else - return 0; -} - -SPATIALITE_PRIVATE int -set_wms_getmap_tiled (void *p_sqlite, - const char *url, const char *layer_name, - int tiled, int cached, int tile_width, int tile_height) -{ -/* updating WMS GetMap Options - Tiled */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - - if (url != NULL) - { - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_getmap (sqlite, url, layer_name)) - return 0; - - /* attempting to update the WMS GetMap */ - sql = - "UPDATE wms_getmap SET tiled = ?, is_cached = ?, tile_width = ?, tile_height = ? " - "WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_SetGetMapOptions (Tiled): \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (tiled != 0) - tiled = 1; - sqlite3_bind_int (stmt, 1, tiled); - if (cached != 0) - cached = 1; - sqlite3_bind_int (stmt, 2, cached); - if (tile_width < 256) - tile_width = 256; - if (tile_height > 5000) - tile_width = 5000; - sqlite3_bind_int (stmt, 3, tile_width); - if (tile_height < 256) - tile_height = 256; - if (tile_height > 5000) - tile_height = 5000; - sqlite3_bind_int (stmt, 4, tile_height); - sqlite3_bind_text (stmt, 5, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 6, layer_name, strlen (layer_name), - SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_SetGetMapOptions (Tiled) error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - return 1; - } - else - return 0; -} - -static int -wms_setting_parentid (sqlite3 * sqlite, const char *url, const char *layer_name, - sqlite3_int64 * id) -{ -/* retieving the WMS GetMap ID value */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = "SELECT id FROM wms_getmap WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS Setting parent_id: \"%s\"\n", - sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - *id = sqlite3_column_int64 (stmt, 0); - count++; - } - } - sqlite3_finalize (stmt); - if (count == 1) - return 1; - return 0; - stop: - return 0; -} - -static int -do_wms_set_default (sqlite3 * sqlite, const char *url, const char *layer_name, - const char *key, const char *value) -{ -/* auxiliary function: updating a WMS GetMap default setting */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int result = 0; - -/* resetting an eventual previous default */ - sql = "UPDATE wms_settings SET is_default = 0 WHERE id IN (" - "SELECT s.id FROM wms_getmap AS m " - "JOIN wms_settings AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ? AND s.key = Lower(?) AND s.value <> ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_DefaultSetting: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, key, strlen (key), SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, value, strlen (value), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_DefaultSetting() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - if (!result) - return 0; - -/* setting the current default */ - sql = "UPDATE wms_settings SET is_default = 1 WHERE id IN (" - "SELECT s.id FROM wms_getmap AS m " - "JOIN wms_settings AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ? AND s.key = Lower(?) AND s.value = ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_DefaultSetting: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, key, strlen (key), SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, value, strlen (value), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_DefaultSetting() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - - if (result) - { - /* updating the WMS GetMap */ - sql = NULL; - if (strcasecmp (key, "version") == 0) - sql = - "UPDATE wms_getmap SET version = ? WHERE url = ? AND layer_name = ?"; - if (strcasecmp (key, "format") == 0) - sql = - "UPDATE wms_getmap SET format = ? WHERE url = ? AND layer_name = ?"; - if (strcasecmp (key, "style") == 0) - sql = - "UPDATE wms_getmap SET style = ? WHERE url = ? AND layer_name = ?"; - if (sql == NULL) - return 0; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_DefaultSetting: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - result = 0; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, value, strlen (value), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, layer_name, strlen (layer_name), - SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_DefaultSetting() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - } - return result; -} - -static int -do_wms_srs_default (sqlite3 * sqlite, const char *url, const char *layer_name, - const char *ref_sys) -{ -/* auxiliary function: updating a WMS GetMap default SRS */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int result = 0; - -/* resetting an eventual previous default */ - sql = "UPDATE wms_ref_sys SET is_default = 0 WHERE id IN (" - "SELECT s.id FROM wms_getmap AS m " - "JOIN wms_ref_sys AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ? AND s.srs <> Upper(?))"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_DefaultSetting: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, ref_sys, strlen (ref_sys), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_DefaultSRS() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - if (!result) - return 0; - -/* setting the current default */ - sql = "UPDATE wms_ref_sys SET is_default = 1 WHERE id IN (" - "SELECT s.id FROM wms_getmap AS m " - "JOIN wms_ref_sys AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ? AND s.srs = Lower(?))"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_DefaultSetting: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, ref_sys, strlen (ref_sys), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_DefaultSRS() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - - if (result) - { - /* updating the WMS GetMap */ - sql = NULL; - sql = - "UPDATE wms_getmap SET srs = ? WHERE url = ? AND layer_name = ?"; - if (sql == NULL) - return 0; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_DefaultSRS: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - result = 0; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, ref_sys, strlen (ref_sys), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, layer_name, strlen (layer_name), - SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_DefaultSRS() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - } - return result; -} - -SPATIALITE_PRIVATE int -register_wms_setting (void *p_sqlite, const char *url, const char *layer_name, - const char *key, const char *value, int is_default) -{ -/* auxiliary function: inserts a WMS GetMap Setting */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - sqlite3_int64 parent_id; - const char *sql; - sqlite3_stmt *stmt; - - if (!wms_setting_parentid (sqlite, url, layer_name, &parent_id)) - { - spatialite_e ("WMS_RegisterSetting: missing parent GetMap\n"); - return 0; - } - - /* attempting to insert the WMS Setting */ - sql = "INSERT INTO wms_settings (parent_id, key, value, is_default) " - "VALUES (?, Lower(?), ?, ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_RegisterSetting: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, parent_id); - sqlite3_bind_text (stmt, 2, key, strlen (key), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, value, strlen (value), SQLITE_STATIC); - if (is_default != 0) - is_default = 1; - sqlite3_bind_int (stmt, 4, 0); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_RegisterSetting() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - - if (is_default) - return do_wms_set_default (sqlite, url, layer_name, key, value); - return 1; -} - -static int -check_wms_setting (sqlite3 * sqlite, const char *url, const char *layer_name, - const char *key, const char *value, int mode_delete) -{ -/* checks if a WMS GetMap Setting do actually exists */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = "SELECT s.is_default FROM wms_getmap AS m " - "LEFT JOIN wms_settings AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ? AND s.key = Lower(?) AND s.value = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check WMS GetMap: \"%s\"\n", sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, key, strlen (key), SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, value, strlen (value), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int is_default = sqlite3_column_int (stmt, 0); - if (mode_delete && is_default) - ; - else - count++; - } - } - sqlite3_finalize (stmt); - if (count == 1) - return 1; - stop: - return 0; -} - -static int -do_delete_wms_setting (sqlite3 * sqlite, const char *url, - const char *layer_name, const char *key, - const char *value) -{ -/* auxiliary function: deleting a WMS GetMap setting */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int result = 0; - - sql = "DELETE FROM wms_settings WHERE id IN (" - "SELECT s.id FROM wms_getmap AS m " - "JOIN wms_settings AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ? AND s.key = Lower(?) AND s.value = ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_UnRegisterSetting: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, key, strlen (key), SQLITE_STATIC); - sqlite3_bind_text (stmt, 4, value, strlen (value), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_UnRegisterSetting() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return result; -} - -SPATIALITE_PRIVATE int -unregister_wms_setting (void *p_sqlite, const char *url, const char *layer_name, - const char *key, const char *value) -{ -/* auxiliary function: deletes a WMS GetMap Setting */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - - if (url == NULL) - return 0; - - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_setting (sqlite, url, layer_name, key, value, 1)) - return 0; - /* deleting the WMS GetMap Setting itself */ - return do_delete_wms_setting (sqlite, url, layer_name, key, value); -} - -SPATIALITE_PRIVATE int -set_wms_default_setting (void *p_sqlite, const char *url, - const char *layer_name, const char *key, - const char *value) -{ -/* auxiliary function: updating a WMS GetMap Default Setting */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - - if (url == NULL) - return 0; - - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_setting (sqlite, url, layer_name, key, value, 0)) - return 0; - /* updating the WMS GetMap Default Setting */ - return do_wms_set_default (sqlite, url, layer_name, key, value); -} - -SPATIALITE_PRIVATE int -register_wms_srs (void *p_sqlite, const char *url, const char *layer_name, - const char *ref_sys, double minx, double miny, double maxx, - double maxy, int is_default) -{ -/* auxiliary function: inserts a WMS GetMap SRS */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - sqlite3_int64 parent_id; - const char *sql; - sqlite3_stmt *stmt; - - if (!wms_setting_parentid (sqlite, url, layer_name, &parent_id)) - { - spatialite_e ("WMS_RegisterSRS: missing parent GetMap\n"); - return 0; - } - - /* attempting to insert the WMS Setting */ - sql = - "INSERT INTO wms_ref_sys (parent_id, srs, minx, miny, maxx, maxy, is_default) " - "VALUES (?, Upper(?), ?, ?, ?, ?, ?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_RegisterSRS: \"%s\"\n", sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, parent_id); - sqlite3_bind_text (stmt, 2, ref_sys, strlen (ref_sys), SQLITE_STATIC); - sqlite3_bind_double (stmt, 3, minx); - sqlite3_bind_double (stmt, 4, miny); - sqlite3_bind_double (stmt, 5, maxx); - sqlite3_bind_double (stmt, 6, maxy); - if (is_default != 0) - is_default = 1; - sqlite3_bind_int (stmt, 7, 0); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("WMS_RegisterSRS() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return 0; - } - sqlite3_finalize (stmt); - - if (is_default) - return do_wms_srs_default (sqlite, url, layer_name, ref_sys); - return 1; -} - -static int -check_wms_srs (sqlite3 * sqlite, const char *url, const char *layer_name, - const char *ref_sys, int mode_delete) -{ -/* checks if a WMS GetMap SRS do actually exists */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int count = 0; - - sql = "SELECT s.is_default FROM wms_getmap AS m " - "LEFT JOIN wms_ref_sys AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ? AND s.srs = Upper(?)"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("check WMS GetMap: \"%s\"\n", sqlite3_errmsg (sqlite)); - goto stop; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, ref_sys, strlen (ref_sys), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int is_default = sqlite3_column_int (stmt, 0); - if (mode_delete && is_default) - ; - else - count++; - } - } - sqlite3_finalize (stmt); - if (count == 1) - return 1; - stop: - return 0; -} - -static int -do_delete_wms_srs (sqlite3 * sqlite, const char *url, - const char *layer_name, const char *ref_sys) -{ -/* auxiliary function: deleting a WMS GetMap SRS */ - int ret; - const char *sql; - sqlite3_stmt *stmt; - int result = 0; - - sql = "DELETE FROM wms_ref_sys WHERE id IN (" - "SELECT s.id FROM wms_getmap AS m " - "JOIN wms_ref_sys AS s ON (m.id = s.parent_id) " - "WHERE m.url = ? AND m.layer_name = ? AND s.srs = Upper(?))"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_UnRegisterSRS: \"%s\"\n", sqlite3_errmsg (sqlite)); - return 0; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, url, strlen (url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - sqlite3_bind_text (stmt, 3, ref_sys, strlen (ref_sys), SQLITE_STATIC); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - result = 1; - else - spatialite_e ("WMS_UnRegisterSRSg() error: \"%s\"\n", - sqlite3_errmsg (sqlite)); - sqlite3_finalize (stmt); - return result; -} - -SPATIALITE_PRIVATE int -unregister_wms_srs (void *p_sqlite, const char *url, const char *layer_name, - const char *ref_sys) -{ -/* auxiliary function: deletes a WMS GetMap SRS */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - - if (url == NULL) - return 0; - - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_srs (sqlite, url, layer_name, ref_sys, 1)) - return 0; - /* deleting the WMS GetMap SRS itself */ - return do_delete_wms_srs (sqlite, url, layer_name, ref_sys); -} - -SPATIALITE_PRIVATE int -set_wms_default_srs (void *p_sqlite, const char *url, - const char *layer_name, const char *ref_sys) -{ -/* auxiliary function: updating a WMS GetMap Default SRS */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - - if (url == NULL) - return 0; - - /* checking if the WMS GetMap do actually exists */ - if (!check_wms_srs (sqlite, url, layer_name, ref_sys, 0)) - return 0; - /* updating the WMS GetMap Default SRS */ - return do_wms_srs_default (sqlite, url, layer_name, ref_sys); -} - -SPATIALITE_PRIVATE char * -wms_getmap_request_url (void *p_sqlite, const char *getmap_url, - const char *layer_name, int width, int height, - double minx, double miny, double maxx, double maxy) -{ -/* return a WMS GetMap request URL */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - char *request_url = NULL; - - if (getmap_url == NULL) - return NULL; - - sql = "SELECT version, srs, format, style, transparent, flip_axes, " - "bgcolor FROM wms_getmap WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_GetMapRequestURL: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return NULL; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, getmap_url, strlen (getmap_url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *ref_sys_prefix = "CRS"; - const char *bgcolor = NULL; - const char *version = - (const char *) sqlite3_column_text (stmt, 0); - const char *ref_sys = - (const char *) sqlite3_column_text (stmt, 1); - const char *format = - (const char *) sqlite3_column_text (stmt, 2); - const char *style = - (const char *) sqlite3_column_text (stmt, 3); - int transparent = sqlite3_column_int (stmt, 4); - int flip_axes = sqlite3_column_int (stmt, 5); - if (sqlite3_column_type (stmt, 6) == SQLITE_TEXT) - bgcolor = (const char *) sqlite3_column_text (stmt, 6); - /* preparing the request URL */ - if (strcmp (version, "1.3.0") < 0) - { - /* earlier versions of the protocol require SRS instead of CRS */ - ref_sys_prefix = "SRS"; - } - if (flip_axes) - { - request_url = - sqlite3_mprintf - ("%s?SERVICE=WMS&REQUEST=GetMap&VERSION=%s" - "&LAYERS=%s&%s=%s&BBOX=%1.6f,%1.6f,%1.6f,%1.6f" - "&WIDTH=%d&HEIGHT=%d&STYLES=%s&FORMAT=%s" - "&TRANSPARENT=%s", getmap_url, version, layer_name, - ref_sys_prefix, ref_sys, miny, minx, maxy, maxx, - width, height, style, format, - (transparent == 0) ? "FALSE" : "TRUE"); - } - else - { - request_url = - sqlite3_mprintf - ("%s?SERVICE=WMS&REQUEST=GetMap&VERSION=%s" - "&LAYERS=%s&%s=%s&BBOX=%1.6f,%1.6f,%1.6f,%1.6f" - "&WIDTH=%d&HEIGHT=%d&STYLES=%s&FORMAT=%s" - "&TRANSPARENT=%s", getmap_url, version, layer_name, - ref_sys_prefix, ref_sys, minx, miny, maxx, maxy, - width, height, style, format, - (transparent == 0) ? "FALSE" : "TRUE"); - } - if (bgcolor != NULL) - { - char *prev = request_url; - request_url = - sqlite3_mprintf ("%s&BGCOLOR=0x%s", prev, bgcolor); - sqlite3_free (prev); - } - } - } - sqlite3_finalize (stmt); - return request_url; -} - -SPATIALITE_PRIVATE char * -wms_getfeatureinfo_request_url (void *p_sqlite, const char *getmap_url, - const char *layer_name, int width, int height, - int x, int y, double minx, double miny, - double maxx, double maxy, int feature_count) -{ -/* return a WMS GetFeatureInfo request URL */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - int ret; - const char *sql; - sqlite3_stmt *stmt; - char *request_url = NULL; - - if (getmap_url == NULL) - return NULL; - - sql = "SELECT version, srs, flip_axes, is_queryable, getfeatureinfo_url " - "FROM wms_getmap WHERE url = ? AND layer_name = ?"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - spatialite_e ("WMS_GetFeatureInfoRequestURL: \"%s\"\n", - sqlite3_errmsg (sqlite)); - return NULL; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, getmap_url, strlen (getmap_url), SQLITE_STATIC); - sqlite3_bind_text (stmt, 2, layer_name, strlen (layer_name), SQLITE_STATIC); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *ref_sys_prefix = "CRS"; - const char *getfeatureinfo_url = NULL; - const char *version = - (const char *) sqlite3_column_text (stmt, 0); - const char *ref_sys = - (const char *) sqlite3_column_text (stmt, 1); - int flip_axes = sqlite3_column_int (stmt, 2); - int is_queryable = sqlite3_column_int (stmt, 3); - if (sqlite3_column_type (stmt, 4) == SQLITE_TEXT) - getfeatureinfo_url = - (const char *) sqlite3_column_text (stmt, 4); - if (!is_queryable || getfeatureinfo_url == NULL) - return NULL; - - /* preparing the request URL */ - if (feature_count < 1) - feature_count = 1; - if (strcmp (version, "1.3.0") < 0) - { - /* earlier versions of the protocol require SRS instead of CRS */ - ref_sys_prefix = "SRS"; - } - if (flip_axes) - { - request_url = - sqlite3_mprintf - ("%s?SERVICE=WMS&REQUEST=GetFeatureInfo&VERSION=%s" - "&QUERY_LAYERS=%s&%s=%s&BBOX=%1.6f,%1.6f,%1.6f,%1.6f" - "&WIDTH=%d&HEIGHT=%d&X=%d&Y=%d&FEATURE_COUNT=%d", - getfeatureinfo_url, version, layer_name, - ref_sys_prefix, ref_sys, miny, minx, maxy, maxx, - width, height, x, y, feature_count); - } - else - { - request_url = - sqlite3_mprintf - ("%s?SERVICE=WMS&REQUEST=GetFeatureInfo&VERSION=%s" - "&QUERY_LAYERS=%s&%s=%s&BBOX=%1.6f,%1.6f,%1.6f,%1.6f" - "&WIDTH=%d&HEIGHT=%d&X=%d&Y=%d&FEATURE_COUNT=%d", - getfeatureinfo_url, version, layer_name, - ref_sys_prefix, ref_sys, minx, miny, maxx, maxy, - width, height, x, y, feature_count); - } - } - } - sqlite3_finalize (stmt); - return request_url; -} Index: src/spatialite/spatialite.c ================================================================== --- src/spatialite/spatialite.c +++ src/spatialite/spatialite.c @@ -1,10 +1,10 @@ /* spatialite.c -- SQLite3 spatial extension - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Pepijn Van Eeckhoudt (implementing Android support) @@ -93,11 +93,10 @@ #include #include #include #include #include -#include #include #include #include #ifdef ENABLE_LIBXML2 /* LIBXML2 (and thus WFS) enabled */ @@ -107,15 +106,10 @@ #ifndef OMIT_FREEXL /* including FreeXL */ #include #endif #ifndef OMIT_GEOS /* including GEOS */ -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif #include #endif #ifndef OMIT_PROJ /* including PROJ.4 */ #include @@ -457,64 +451,30 @@ / HasGeosTrunk() / / return 1 if built including GEOS-TRUNK; otherwise 0 */ GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - sqlite3_result_int (context, 0); -} - -static void -fnct_has_geos_reentrant (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ HasGeosReentrant() -/ -/ return 1 if built including GEOS-REENTRANT; otherwise 0 -*/ - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ -#ifdef GEOS_REENTRANT /* GEOS-REENTRANT is supported */ - sqlite3_result_int (context, 1); -#else - sqlite3_result_int (context, 0); -#endif -} - -static void -fnct_has_geos_only_reentrant (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ HasGeosOnlyReentrant() -/ -/ return 1 if built including GEOS-ONLY_REENTRANT; otherwise 0 -*/ - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ -#ifdef GEOS_REENTRANT /* GEOS-REENTRANT is supported */ -#ifdef GEOS_ONLY_REENTRANT /* GEOS-ONLY-REENTRANT is supported */ - sqlite3_result_int (context, 1); -#else - sqlite3_result_int (context, 0); -#endif -#else - sqlite3_result_int (context, 0); -#endif -} - -static void -fnct_rttopo_version (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ rttopo_version() -/ -/ return a text string representing the current RTTOPO version -/ or NULL if RTTOPO is currently unsupported -*/ - -#ifdef ENABLE_RTTOPO /* RTTOPO version */ - int len; - const char *p_result = splite_rttopo_version (); +#ifdef GEOS_TRUNK /* GEOS-TRUNK is supported */ + sqlite3_result_int (context, 1); +#else + sqlite3_result_int (context, 0); +#endif +} + +static void +fnct_lwgeom_version (sqlite3_context * context, int argc, sqlite3_value ** argv) +{ +/* SQL function: +/ lwgeom_version() +/ +/ return a text string representing the current LWGEOM version +/ or NULL if LWGEOM is currently unsupported +*/ + +#ifdef ENABLE_LWGEOM /* LWGEOM version */ + int len; + const char *p_result = splite_lwgeom_version (); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ len = strlen (p_result); sqlite3_result_text (context, p_result, len, SQLITE_TRANSIENT); #else GAIA_UNUSED (); /* LCOV_EXCL_LINE */ @@ -544,19 +504,19 @@ sqlite3_result_null (context); #endif } static void -fnct_has_rttopo (sqlite3_context * context, int argc, sqlite3_value ** argv) +fnct_has_lwgeom (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ HasRtTopo() +/ HasLwGeom() / -/ return 1 if built including RTTOPO; otherwise 0 +/ return 1 if built including LWGEOM; otherwise 0 */ GAIA_UNUSED (); /* LCOV_EXCL_LINE */ -#ifdef ENABLE_RTTOPO /* RTTOPO is supported */ +#ifdef ENABLE_LWGEOM /* LWGEOM is supported */ sqlite3_result_int (context, 1); #else sqlite3_result_int (context, 0); #endif } @@ -668,43 +628,10 @@ */ GAIA_UNUSED (); /* LCOV_EXCL_LINE */ #ifdef ENABLE_GEOPACKAGE /* GEOPACKAGE is supported */ sqlite3_result_int (context, 1); #else - sqlite3_result_int (context, 0); -#endif -} - -static void -fnct_has_gcp (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ HasGCP() -/ HasGroundControlPoints() -/ -/ return 1 if built including GroundControlPoints support (GGP); otherwise 0 -*/ - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ -#ifdef ENABLE_GCP /* GCP are supported */ - sqlite3_result_int (context, 1); -#else - sqlite3_result_int (context, 0); -#endif -} - -static void -fnct_has_topology (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ HasTopology() -/ -/ return 1 if built including GroundControlPoints support (GGP); otherwise 0 -*/ - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ -#ifdef RTTOPO /* RTTOPO is supported */ - sqlite3_result_int (context, 1); -#else sqlite3_result_int (context, 0); #endif } static void @@ -2107,19 +2034,10 @@ strcat (sql, "USING VirtualElementary()"); ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); if (ret != SQLITE_OK) goto error; -#ifndef OMIT_KNN /* only if KNN is enabled */ -/* creating the KNN VIRTUAL TABLE */ - strcpy (sql, "CREATE VIRTUAL TABLE KNN "); - strcat (sql, "USING VirtualKNN()"); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - goto error; -#endif /* end KNN conditional */ - if (transaction) { /* confirming the still pending Transaction */ ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &errMsg); if (ret != SQLITE_OK) @@ -2356,229 +2274,10 @@ if (ret != SQLITE_OK) { spatialite_e ("CloneTable() error:\"%s\"\n", errMsg); sqlite3_free (errMsg); } - } - sqlite3_result_int (context, 0); - return; -} - -static void -fnct_CreateClonedTable (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ CreateClonedTable(text db_prefix, text in_table, text out_table, integer transaction) -/ CreateClonedTable(text db_prefix, text in_table, text out_table, integer transaction, -/ ... text option1 ..., ... text option2 ..., text option10) -/ -/ creating a cloned table [CREATE only without COPYing] -/ returns 1 on success -/ 0 on failure (NULL on invalid arguments) -*/ - int ret; - char *errMsg = NULL; - const char *db_prefix; - const char *in_table; - const char *out_table; - int transaction = 0; - int active = 0; - const void *cloner = NULL; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[0]); - else - { - spatialite_e - ("CreateClonedTable() error: argument 1 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - in_table = (const char *) sqlite3_value_text (argv[1]); - else - { - spatialite_e - ("CreateClonedTable() error: argument 2 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - out_table = (const char *) sqlite3_value_text (argv[2]); - else - { - spatialite_e - ("CreateClonedTable() error: argument 3 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - transaction = sqlite3_value_int (argv[3]); - else - { - spatialite_e - ("CreateClonedTable() error: argument 4 is not of the Integer type\n"); - sqlite3_result_null (context); - return; - } - - -/* additional options */ - if (argc > 4 && sqlite3_value_type (argv[4]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 5 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 5 && sqlite3_value_type (argv[5]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 6 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 6 && sqlite3_value_type (argv[6]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 7 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 7 && sqlite3_value_type (argv[7]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 8 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 8 && sqlite3_value_type (argv[8]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 9 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 9 && sqlite3_value_type (argv[9]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 10 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 10 && sqlite3_value_type (argv[10]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 11 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 11 && sqlite3_value_type (argv[11]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 12 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 12 && sqlite3_value_type (argv[12]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 13 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - if (argc > 13 && sqlite3_value_type (argv[13]) != SQLITE_TEXT) - { - spatialite_e - ("CreateClonedTable() error: argument 14 is not of the String or TEXT type\n"); - sqlite3_result_null (context); - return; - } - - cloner = gaiaAuxClonerCreateEx (sqlite, db_prefix, in_table, out_table, 1); - if (cloner == NULL) - { - sqlite3_result_null (context); - return; - } - -/* additional options */ - if (argc > 4) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[4])); - if (argc > 5) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[5])); - if (argc > 6) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[6])); - if (argc > 7) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[7])); - if (argc > 8) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[8])); - if (argc > 9) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[9])); - if (argc > 10) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[10])); - if (argc > 11) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[11])); - if (argc > 12) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[12])); - if (argc > 13) - gaiaAuxClonerAddOption (cloner, - (const char *) sqlite3_value_text (argv[13])); - - if (!gaiaAuxClonerCheckValidTarget (cloner)) - goto error; - - if (transaction) - { - /* starting a Transaction */ - ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - goto error; - } - active = 1; - - if (!gaiaAuxClonerExecute (cloner)) - goto error; - gaiaAuxClonerDestroy (cloner); - updateSpatiaLiteHistory (sqlite, out_table, NULL, - "table successfully cloned"); - - if (transaction) - { - /* confirming the still pending Transaction */ - ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - goto error; - } - - sqlite3_result_int (context, 1); - return; - error: - if (cloner != NULL) - gaiaAuxClonerDestroy (cloner); - spatialite_e ("CreateClonedTable() error:\"%s\"\n", errMsg); - sqlite3_free (errMsg); - if (transaction && active) - { - /* performing a Rollback */ - ret = sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, &errMsg); - if (ret != SQLITE_OK) - { - spatialite_e ("CreateClonedTable() error:\"%s\"\n", errMsg); - sqlite3_free (errMsg); - } } sqlite3_result_int (context, 0); return; } @@ -4049,12 +3748,12 @@ int metadata_version; sqlite3_stmt *stmt; int exists = 0; const char *p_type = NULL; const char *p_dims = NULL; - int n_type = GAIA_UNKNOWN; - int n_dims = -1; + int n_type; + int n_dims; char *sql_statement; sqlite3 *sqlite = sqlite3_context_db_handle (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { @@ -7381,15 +7080,11 @@ int pessimistic = 0; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geom; sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (argc >= 1) { if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { spatialite_e @@ -7423,11 +7118,11 @@ } geom = gaiaGetLayerExtent (sqlite, table, column, pessimistic); if (!geom) goto error; /* builds the BLOB geometry to be returned */ - gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (geom); return; error: sqlite3_result_null (context); @@ -7540,1087 +7235,10 @@ error: sqlite3_result_int (context, 0); return; } -static void -fnct_CreateWMSTables (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_CreateTables() -/ -/ creates the WMS support tables -/ returns 1 on success -/ 0 on failure -*/ - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - - if (!createWMSTables (sqlite)) - goto error; - updateSpatiaLiteHistory (sqlite, "*** WMS ***", NULL, - "Support tables successfully created"); - sqlite3_result_int (context, 1); - return; - - error: - sqlite3_result_int (context, 0); - return; -} - -static void -fnct_RegisterWMSGetCapabilities (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_RegisterGetCapabilities(Text url) -/ or -/ WMS_RegisterGetCapabilities(Text url, Text title, -/ Text abstract) -/ -/ inserts a WMS GetCapabilities -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *title = NULL; - const char *abstract = NULL; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - if (argc >= 3) - { - if (sqlite3_value_type (argv[1]) != SQLITE_TEXT - || sqlite3_value_type (argv[2]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - title = (const char *) sqlite3_value_text (argv[1]); - abstract = (const char *) sqlite3_value_text (argv[2]); - } - ret = register_wms_getcapabilities (sqlite, url, title, abstract); - sqlite3_result_int (context, ret); -} - -static void -fnct_UnregisterWMSGetCapabilities (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_UnRegisterGetCapabilities(Text url) -/ -/ deletes a WMS GetCapabilities (and all related children) -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - ret = unregister_wms_getcapabilities (sqlite, url); - sqlite3_result_int (context, ret); -} - -static void -fnct_SetWMSGetCapabilitiesInfos (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_SetGetCapabilitiesInfos(Text url, Text title, -/ Text abstract) -/ -/ updates the descriptive infos supporting a WMS GetCapabilities -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *title = NULL; - const char *abstract = NULL; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT - || sqlite3_value_type (argv[2]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - title = (const char *) sqlite3_value_text (argv[1]); - abstract = (const char *) sqlite3_value_text (argv[2]); - ret = set_wms_getcapabilities_infos (sqlite, url, title, abstract); - sqlite3_result_int (context, ret); -} - -static int -validate_wms_bgcolor (const char *bgcolor) -{ -/* testing for a valid HexRGB color value */ - const char *p = bgcolor; - int len = strlen (bgcolor); - if (len != 6) - return 0; - while (*p != '\0') - { - int ok = 0; - if (*p >= 'a' && *p <= 'f') - ok = 1; - if (*p >= 'A' && *p <= 'F') - ok = 1; - if (*p >= '0' && *p <= '9') - ok = 1; - if (!ok) - return 0; - p++; - } - return 1; -} - -static void -fnct_RegisterWMSGetMap (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_RegisterGetMap(Text getcapabilitites_url, Text getmap_url, -/ Text layer_name, Text version, Text ref_sys, -/ Text image_format, Text style, Int transparent, -/ Int flip_axes) -/ or -/ WMS_RegisterGetMap(Text getcapabilitites_url, Text getmap_url, -/ Text layer_name, Text version, Text ref_sys, -/ Text image_format, Text style, Int transparent, -/ Int flip_axes, Int tiled, Int cached, -/ Int tile_width, Int tile_height) -/ or -/ WMS_RegisterGetMap(Text getcapabilitites_url, Text getmap_url, -/ Text layer_name, Text title, Text abstract, -/ Text version, Text ref_sys, Text image_format, -/ Text style, Int transparent, Int flip_axes, -/ Int tiled, Int cached, Int tile_width, -/ Int tile_height, Text bgcolor, Int is_queryable, -/ Text getfeatureinfo_url) -/ -/ inserts a WMS GetMap -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *getcapabilities_url; - const char *getmap_url; - const char *layer_name; - const char *title = NULL; - const char *abstract = NULL; - const char *version; - const char *ref_sys; - const char *image_format; - const char *style; - int transparent; - int flip_axes; - int tiled = 0; - int cached = 0; - int tile_width = 512; - int tile_height = 512; - const char *bgcolor = NULL; - int is_queryable = 0; - const char *getfeatureinfo_url = NULL; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT - || sqlite3_value_type (argv[2]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - getcapabilities_url = (const char *) sqlite3_value_text (argv[0]); - getmap_url = (const char *) sqlite3_value_text (argv[1]); - layer_name = (const char *) sqlite3_value_text (argv[2]); - if (argc == 9 || argc == 13) - { - if (sqlite3_value_type (argv[3]) != SQLITE_TEXT || - sqlite3_value_type (argv[4]) != SQLITE_TEXT || - sqlite3_value_type (argv[5]) != SQLITE_TEXT || - sqlite3_value_type (argv[6]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - version = (const char *) sqlite3_value_text (argv[3]); - ref_sys = (const char *) sqlite3_value_text (argv[4]); - image_format = (const char *) sqlite3_value_text (argv[5]); - style = (const char *) sqlite3_value_text (argv[6]); - if (sqlite3_value_type (argv[7]) != SQLITE_INTEGER || - sqlite3_value_type (argv[8]) != SQLITE_INTEGER) - { - sqlite3_result_int (context, -1); - return; - } - transparent = sqlite3_value_int (argv[7]); - flip_axes = sqlite3_value_int (argv[8]); - } - if (argc == 13) - { - if (sqlite3_value_type (argv[9]) != SQLITE_INTEGER || - sqlite3_value_type (argv[10]) != SQLITE_INTEGER || - sqlite3_value_type (argv[11]) != SQLITE_INTEGER || - sqlite3_value_type (argv[12]) != SQLITE_INTEGER) - { - sqlite3_result_int (context, -1); - return; - } - tiled = sqlite3_value_int (argv[9]); - cached = sqlite3_value_int (argv[10]); - tile_width = sqlite3_value_int (argv[11]); - tile_height = sqlite3_value_int (argv[12]); - } - if (argc == 18) - { - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT - || sqlite3_value_type (argv[2]) != SQLITE_TEXT - || sqlite3_value_type (argv[3]) != SQLITE_TEXT - || sqlite3_value_type (argv[4]) != SQLITE_TEXT || - sqlite3_value_type (argv[5]) != SQLITE_TEXT || - sqlite3_value_type (argv[6]) != SQLITE_TEXT || - sqlite3_value_type (argv[7]) != SQLITE_TEXT || - sqlite3_value_type (argv[8]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - getcapabilities_url = (const char *) sqlite3_value_text (argv[0]); - getmap_url = (const char *) sqlite3_value_text (argv[1]); - layer_name = (const char *) sqlite3_value_text (argv[2]); - title = (const char *) sqlite3_value_text (argv[3]); - abstract = (const char *) sqlite3_value_text (argv[4]); - version = (const char *) sqlite3_value_text (argv[5]); - ref_sys = (const char *) sqlite3_value_text (argv[6]); - image_format = (const char *) sqlite3_value_text (argv[7]); - style = (const char *) sqlite3_value_text (argv[8]); - if (sqlite3_value_type (argv[9]) != SQLITE_INTEGER || - sqlite3_value_type (argv[10]) != SQLITE_INTEGER || - sqlite3_value_type (argv[11]) != SQLITE_INTEGER || - sqlite3_value_type (argv[12]) != SQLITE_INTEGER || - sqlite3_value_type (argv[13]) != SQLITE_INTEGER || - sqlite3_value_type (argv[14]) != SQLITE_INTEGER || - sqlite3_value_type (argv[16]) != SQLITE_INTEGER) - { - sqlite3_result_int (context, -1); - return; - } - transparent = sqlite3_value_int (argv[9]); - flip_axes = sqlite3_value_int (argv[10]); - tiled = sqlite3_value_int (argv[11]); - cached = sqlite3_value_int (argv[12]); - tile_width = sqlite3_value_int (argv[13]); - tile_height = sqlite3_value_int (argv[14]); - is_queryable = sqlite3_value_int (argv[16]); - if (sqlite3_value_type (argv[15]) == SQLITE_NULL) - bgcolor = NULL; - else if (sqlite3_value_type (argv[15]) == SQLITE_TEXT) - { - bgcolor = (const char *) sqlite3_value_text (argv[15]); - if (!validate_wms_bgcolor (bgcolor)) - { - sqlite3_result_int (context, -1); - return; - } - } - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[17]) == SQLITE_NULL) - getfeatureinfo_url = NULL; - else if (sqlite3_value_type (argv[17]) == SQLITE_TEXT) - getfeatureinfo_url = (const char *) sqlite3_value_text (argv[17]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - ret = - register_wms_getmap (sqlite, getcapabilities_url, getmap_url, - layer_name, title, abstract, version, ref_sys, - image_format, style, transparent, flip_axes, - tiled, cached, tile_width, tile_height, bgcolor, - is_queryable, getfeatureinfo_url); - sqlite3_result_int (context, ret); -} - -static void -fnct_UnregisterWMSGetMap (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_UnRegisterGetMap(Text url, Text layer_name) -/ -/ deletes a WMS GetMap (and all related children) -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - layer_name = (const char *) sqlite3_value_text (argv[1]); - ret = unregister_wms_getmap (sqlite, url, layer_name); - sqlite3_result_int (context, ret); -} - -static void -fnct_SetWMSGetMapInfos (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_SetGetMapInfos(Text url, Text layer_name, Text title, Text abstract) -/ -/ updates the descriptive infos supporting a WMS GetMap -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - const char *title; - const char *abstract; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT - || sqlite3_value_type (argv[2]) != SQLITE_TEXT - || sqlite3_value_type (argv[3]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - layer_name = (const char *) sqlite3_value_text (argv[1]); - title = (const char *) sqlite3_value_text (argv[2]); - abstract = (const char *) sqlite3_value_text (argv[3]); - ret = set_wms_getmap_infos (sqlite, url, layer_name, title, abstract); - sqlite3_result_int (context, ret); -} - -static void -fnct_SetWMSGetMapOptions (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_SetGetMapOptions(Text url, Text layer_name, Int transparent, -/ Int flip_axes) -/ or -/ WMS_SetGetMapOptions(Text url, Text layer_name, Int tiled, Int cached, -/ Int tile_width, Int tile_height) -/ or -/ WMS_SetGetMapOptions(Text url, Text layer_name, Int is_queryable, -/ Text getfeatureinfo_url) -/ or -/ WMS_SetGetMapOptions(Text url, Text layer_name, Text bgcolor) -/ -/ updates the options supporting a WMS GetMap -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - int transparent; - int flip_axes; - int is_queryable; - int tiled; - int cached; - int tile_width = 512; - int tile_height = 512; - const char *getfeatureinfo_url = NULL; - const char *bgcolor = NULL; - char mode = '\0'; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT || - sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - layer_name = (const char *) sqlite3_value_text (argv[1]); - if (argc == 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - { - mode = 'B'; - bgcolor = (const char *) sqlite3_value_text (argv[2]); - if (!validate_wms_bgcolor (bgcolor)) - { - sqlite3_result_int (context, -1); - return; - } - } - else if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - { - mode = 'B'; - bgcolor = NULL; - } - else - { - sqlite3_result_int (context, -1); - return; - } - } - if (argc == 4) - { - if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER - && sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - { - mode = 'F'; - transparent = sqlite3_value_int (argv[2]); - flip_axes = sqlite3_value_int (argv[3]); - } - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER - && sqlite3_value_type (argv[3]) == SQLITE_TEXT) - { - mode = 'Q'; - is_queryable = sqlite3_value_int (argv[2]); - getfeatureinfo_url = - (const char *) sqlite3_value_text (argv[3]); - } - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER - && sqlite3_value_type (argv[3]) == SQLITE_NULL) - { - mode = 'Q'; - is_queryable = sqlite3_value_int (argv[2]); - getfeatureinfo_url = NULL; - } - else - { - sqlite3_result_int (context, -1); - return; - } - } - if (argc == 6) - { - if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER || - sqlite3_value_type (argv[3]) != SQLITE_INTEGER || - sqlite3_value_type (argv[4]) != SQLITE_INTEGER || - sqlite3_value_type (argv[5]) != SQLITE_INTEGER) - { - sqlite3_result_int (context, -1); - return; - } - mode = 'T'; - tiled = sqlite3_value_int (argv[2]); - cached = sqlite3_value_int (argv[3]); - tile_width = sqlite3_value_int (argv[4]); - tile_height = sqlite3_value_int (argv[5]); - } - switch (mode) - { - case 'B': - ret = set_wms_getmap_bgcolor (sqlite, url, layer_name, bgcolor); - break; - case 'F': - ret = - set_wms_getmap_options (sqlite, url, layer_name, transparent, - flip_axes); - break; - case 'Q': - ret = - set_wms_getmap_queryable (sqlite, url, layer_name, is_queryable, - getfeatureinfo_url); - break; - case 'T': - ret = - set_wms_getmap_tiled (sqlite, url, layer_name, tiled, cached, - tile_width, tile_height); - break; - default: - ret = -1; - }; - sqlite3_result_int (context, ret); -} - -static void -fnct_RegisterWMSSetting (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_RegisterSetting(Text url, Text layer_name, Text key, Text value) -/ or -/ WMS_RegisterSetting(Text url, Text layer_name, Text key, Text value, -/ Int default) -/ -/ inserts a WMS GetMap Setting -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - const char *key; - const char *value; - int is_default = 0; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - if (sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - layer_name = (const char *) sqlite3_value_text (argv[1]); - if (sqlite3_value_type (argv[2]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - key = (const char *) sqlite3_value_text (argv[2]); - if (sqlite3_value_type (argv[3]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - value = (const char *) sqlite3_value_text (argv[3]); - if (argc >= 5) - { - if (sqlite3_value_type (argv[4]) != SQLITE_INTEGER) - { - sqlite3_result_int (context, -1); - return; - } - is_default = sqlite3_value_int (argv[4]); - } - ret = - register_wms_setting (sqlite, url, layer_name, key, value, is_default); - sqlite3_result_int (context, ret); -} - -static void -fnct_UnregisterWMSSetting (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_UnRegisterSetting(Text url, Text layer_name, Text key, Text value) -/ -/ deletes a WMS GetMap Setting -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - const char *key; - const char *value; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - if (sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - layer_name = (const char *) sqlite3_value_text (argv[1]); - if (sqlite3_value_type (argv[2]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - key = (const char *) sqlite3_value_text (argv[2]); - if (sqlite3_value_type (argv[3]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - value = (const char *) sqlite3_value_text (argv[3]); - ret = unregister_wms_setting (sqlite, url, layer_name, key, value); - sqlite3_result_int (context, ret); -} - -static void -fnct_DefaultWMSSetting (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_DefaultSetting(Text url, Text layer_name, Text key, Text value) -/ -/ updates some GetMap default setting -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - const char *key; - const char *value; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT - || sqlite3_value_type (argv[2]) != SQLITE_TEXT - || sqlite3_value_type (argv[3]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - layer_name = (const char *) sqlite3_value_text (argv[1]); - key = (const char *) sqlite3_value_text (argv[2]); - value = (const char *) sqlite3_value_text (argv[3]); - ret = set_wms_default_setting (sqlite, url, layer_name, key, value); - sqlite3_result_int (context, ret); -} - -static void -fnct_RegisterWMSRefSys (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_RegisterRefSys(Text url, Text layer_name, Text ref_sys, Double minx, -/ Double miny, Double maxx, Double maxy) -/ or -/ WMS_RegisterRefSys(Text url, Text layer_name, Text ref_sys, Double minx, -/ Double miny, Double maxx, Double maxy, Int default) -/ -/ inserts a WMS GetMap SRS -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - const char *ref_sys; - double minx; - double miny; - double maxx; - double maxy; - int is_default = 0; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - if (sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - layer_name = (const char *) sqlite3_value_text (argv[1]); - if (sqlite3_value_type (argv[2]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - ref_sys = (const char *) sqlite3_value_text (argv[2]); - if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[3]); - minx = val; - } - else if (sqlite3_value_type (argv[3]) == SQLITE_FLOAT) - minx = sqlite3_value_double (argv[3]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[4]); - miny = val; - } - else if (sqlite3_value_type (argv[4]) == SQLITE_FLOAT) - miny = sqlite3_value_double (argv[4]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[5]); - maxx = val; - } - else if (sqlite3_value_type (argv[5]) == SQLITE_FLOAT) - maxx = sqlite3_value_double (argv[5]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[6]); - maxy = val; - } - else if (sqlite3_value_type (argv[6]) == SQLITE_FLOAT) - maxy = sqlite3_value_double (argv[6]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (argc >= 8) - { - if (sqlite3_value_type (argv[7]) != SQLITE_INTEGER) - { - sqlite3_result_int (context, -1); - return; - } - is_default = sqlite3_value_int (argv[7]); - } - ret = - register_wms_srs (sqlite, url, layer_name, ref_sys, minx, miny, maxx, - maxy, is_default); - sqlite3_result_int (context, ret); -} - -static void -fnct_UnregisterWMSRefSys (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_UnRegisterRefSys(Text url, Text layer_name, Text ref_sys) -/ -/ deletes a WMS GetMap SRS -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - const char *ref_sys; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - if (sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - layer_name = (const char *) sqlite3_value_text (argv[1]); - if (sqlite3_value_type (argv[2]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - ref_sys = (const char *) sqlite3_value_text (argv[2]); - ret = unregister_wms_srs (sqlite, url, layer_name, ref_sys); - sqlite3_result_int (context, ret); -} - -static void -fnct_DefaultWMSRefSys (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_DefaultRefSys(Text url, Text layer_name, Text ref_sys) -/ -/ updates some GetMap default SRS -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *url; - const char *layer_name; - const char *ref_sys; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT - || sqlite3_value_type (argv[2]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - url = (const char *) sqlite3_value_text (argv[0]); - layer_name = (const char *) sqlite3_value_text (argv[1]); - ref_sys = (const char *) sqlite3_value_text (argv[2]); - ret = set_wms_default_srs (sqlite, url, layer_name, ref_sys); - sqlite3_result_int (context, ret); -} - -static void -fnct_WMSGetMapRequestURL (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_GetMapRequestURL(Text getmap_url, Text layer_name, Int width, -/ Int height, Double minx, Double miny, -/ Double maxx, Double maxy) -/ -/ returns a WMS GetMap request URL on success -/ NULL on invalid arguments -*/ - char *url; - const char *getmap_url; - const char *layer_name; - int width; - int height; - double minx; - double miny; - double maxx; - double maxy; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_null (context); - return; - } - getmap_url = (const char *) sqlite3_value_text (argv[0]); - if (sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_null (context); - return; - } - layer_name = (const char *) sqlite3_value_text (argv[1]); - if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - width = sqlite3_value_int (argv[2]); - if (sqlite3_value_type (argv[3]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - height = sqlite3_value_int (argv[3]); - if (sqlite3_value_type (argv[4]) == SQLITE_FLOAT) - minx = sqlite3_value_double (argv[4]); - else if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[4]); - minx = val; - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[5]) == SQLITE_FLOAT) - miny = sqlite3_value_double (argv[5]); - else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[5]); - miny = val; - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[6]) == SQLITE_FLOAT) - maxx = sqlite3_value_double (argv[6]); - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[6]); - maxx = val; - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[7]) == SQLITE_FLOAT) - maxy = sqlite3_value_double (argv[7]); - else if (sqlite3_value_type (argv[7]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[7]); - maxy = val; - } - else - { - sqlite3_result_null (context); - return; - } - url = - wms_getmap_request_url (sqlite, getmap_url, layer_name, width, height, - minx, miny, maxx, maxy); - if (url == NULL) - sqlite3_result_null (context); - else - sqlite3_result_text (context, url, strlen (url), sqlite3_free); -} - -static void -fnct_WMSGetFeatureInfoRequestURL (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ WMS_GetFeatureInfoRequestURL(Text getmap_url, Text layer_name, Int width, -/ Int height, int x, int y, Double minx, -/ Double miny, Double maxx, Double maxy) -/ or -/ WMS_GetFeatureInfoRequestURL(Text getmap_url, Text layer_name, Int width, -/ Int height, int x, int y, Double minx, -/ Double miny, Double maxx, Double maxy, -/ Int feature_count ) -/ -/ returns a WMS GetFeatureInfo request URL on success -/ NULL on invalid arguments -*/ - char *url; - const char *getmap_url; - const char *layer_name; - int width; - int height; - int x; - int y; - double minx; - double miny; - double maxx; - double maxy; - int feature_count = 1; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_null (context); - return; - } - getmap_url = (const char *) sqlite3_value_text (argv[0]); - if (sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_null (context); - return; - } - layer_name = (const char *) sqlite3_value_text (argv[1]); - if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - width = sqlite3_value_int (argv[2]); - if (sqlite3_value_type (argv[3]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - height = sqlite3_value_int (argv[3]); - if (sqlite3_value_type (argv[4]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - x = sqlite3_value_int (argv[4]); - if (sqlite3_value_type (argv[5]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - y = sqlite3_value_int (argv[5]); - if (sqlite3_value_type (argv[6]) == SQLITE_FLOAT) - minx = sqlite3_value_double (argv[6]); - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[6]); - minx = val; - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[7]) == SQLITE_FLOAT) - miny = sqlite3_value_double (argv[7]); - else if (sqlite3_value_type (argv[7]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[7]); - miny = val; - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[8]) == SQLITE_FLOAT) - maxx = sqlite3_value_double (argv[8]); - else if (sqlite3_value_type (argv[8]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[8]); - maxx = val; - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[9]) == SQLITE_FLOAT) - maxy = sqlite3_value_double (argv[9]); - else if (sqlite3_value_type (argv[9]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[9]); - maxy = val; - } - else - { - sqlite3_result_null (context); - return; - } - if (argc >= 11) - { - if (sqlite3_value_type (argv[10]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - feature_count = sqlite3_value_int (argv[10]); - } - url = - wms_getfeatureinfo_request_url (sqlite, getmap_url, layer_name, width, - height, x, y, minx, miny, maxx, maxy, - feature_count); - if (url == NULL) - sqlite3_result_null (context); - else - sqlite3_result_text (context, url, strlen (url), sqlite3_free); -} - static void fnct_CreateMetaCatalogTables (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: @@ -8898,40 +7516,25 @@ unsigned char *p_blob; int n_bytes; int len; gaiaOutBuffer out_buf; gaiaGeomCollPtr geo = NULL; - int decimal_precision = -1; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - decimal_precision = cache->decimal_precision; - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); gaiaOutBufferInitialize (&out_buf); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { - if (decimal_precision >= 0) - gaiaOutWktEx (&out_buf, geo, decimal_precision); - else - gaiaOutWkt (&out_buf, geo); + gaiaOutWkt (&out_buf, geo); if (out_buf.Error || out_buf.Buffer == NULL) sqlite3_result_null (context); else { len = out_buf.WriteOffset; @@ -8956,19 +7559,11 @@ int n_bytes; int len; int precision = 15; gaiaOutBuffer out_buf; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -8982,13 +7577,11 @@ return; } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); gaiaOutBufferInitialize (&out_buf); if (!geo) sqlite3_result_null (context); else { @@ -9028,29 +7621,19 @@ unsigned char *p_blob; int n_bytes; int len; gaiaOutBuffer out_buf; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) { sqlite3_result_null (context); return; } @@ -9113,10 +7696,49 @@ sqlite3_result_null (context); } /* END of Klaus Foerster AsSvg() implementation */ +SPATIALITE_PRIVATE void +getProjParams (void *p_sqlite, int srid, char **proj_params) +{ +/* retrives the PROJ params from SPATIAL_SYS_REF table, if possible */ + sqlite3 *sqlite = (sqlite3 *) p_sqlite; + char *sql; + char **results; + int rows; + int columns; + int i; + int ret; + int len; + const char *proj4text; + char *errMsg = NULL; + *proj_params = NULL; + sql = sqlite3_mprintf + ("SELECT proj4text FROM spatial_ref_sys WHERE srid = %d", srid); + ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); + sqlite3_free (sql); + if (ret != SQLITE_OK) + { + spatialite_e ("unknown SRID: %d\t<%s>\n", srid, errMsg); + sqlite3_free (errMsg); + return; + } + for (i = 1; i <= rows; i++) + { + proj4text = results[(i * columns)]; + if (proj4text != NULL) + { + len = strlen (proj4text); + *proj_params = malloc (len + 1); + strcpy (*proj_params, proj4text); + } + } + if (*proj_params == NULL) + spatialite_e ("unknown SRID: %d\n", srid); + sqlite3_free_table (results); +} #ifndef OMIT_PROJ /* PROJ.4 is strictly required to support KML */ static void fnct_AsKml1 (sqlite3_context * context, int argc, sqlite3_value ** argv) { @@ -9135,19 +7757,11 @@ char *proj_from; char *proj_to; int precision = 15; void *data = sqlite3_user_data (context); sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -9162,13 +7776,11 @@ sqlite3_result_null (context); return; } } gaiaOutBufferInitialize (&out_buf); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (geo->Srid == 4326) @@ -9250,19 +7862,11 @@ char *proj_from; char *proj_to; int precision = 15; void *data = sqlite3_user_data (context); sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } switch (sqlite3_value_type (argv[0])) { case SQLITE_TEXT: name = (const char *) sqlite3_value_text (argv[0]); len = strlen (name); @@ -9343,13 +7947,11 @@ { sqlite3_result_null (context); goto stop; } } - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (geo->Srid == 4326) @@ -9451,19 +8053,11 @@ int len; int version = 2; int precision = 15; gaiaOutBuffer out_buf; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (argc == 3) { if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) version = sqlite3_value_int (argv[0]); else @@ -9517,13 +8111,11 @@ } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); } gaiaOutBufferInitialize (&out_buf); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { /* produce GML-notation - actual work is done in gaiageo/gg_wkt.c */ @@ -9570,16 +8162,11 @@ int len; int precision = 15; int options = 0; gaiaOutBuffer out_buf; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_amphibious = cache->gpkg_mode = cache->gpkg_mode;; if (argc == 3) { if (sqlite3_value_type (argv[0]) == SQLITE_BLOB && sqlite3_value_type (argv[1]) == SQLITE_INTEGER && sqlite3_value_type (argv[2]) == SQLITE_INTEGER) @@ -9623,13 +8210,11 @@ } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); } gaiaOutBufferInitialize (&out_buf); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { /* produce GeoJSON-notation - actual work is done in gaiageo/gg_wkt.c */ @@ -9659,29 +8244,19 @@ unsigned char *p_blob; int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaToWkb (geo, &p_result, &len); @@ -9695,11 +8270,11 @@ static void fnct_AsFGF (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ AsFGF(BLOB encoded geometry, int dims) +/ AsFGF(BLOB encoded geometry) / / returns the corresponding FGF encoded value / or NULL if any error is encountered */ unsigned char *p_blob; @@ -9706,19 +8281,11 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; int coord_dims; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -9740,13 +8307,11 @@ spatialite_e ("AsFGF() error: argument 2 [geom_coords] out of range [0,1,2,3]\n"); sqlite3_result_null (context); return; } - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaToFgf (geo, &p_result, &len, coord_dims); @@ -10358,29 +8923,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geom; gaiaDynamicLinePtr *p; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geom) return; p = sqlite3_aggregate_context (context, sizeof (gaiaDynamicLinePtr)); if (!(*p)) { @@ -10504,14 +9059,10 @@ / aggregate function - FINAL / */ gaiaGeomCollPtr result; gaiaDynamicLinePtr *p = sqlite3_aggregate_context (context, 0); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (!p) { sqlite3_result_null (context); return; } @@ -10522,11 +9073,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } @@ -10541,14 +9092,10 @@ int n_lns = 0; int n_pgs = 0; gaiaPointPtr pt; gaiaLinestringPtr ln; gaiaPolygonPtr pg; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (geom) { pt = geom->FirstPoint; while (pt) { @@ -10631,11 +9178,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } end: gaiaFreeGeomColl (geom); @@ -10659,29 +9206,19 @@ unsigned char *p_blob; int n_bytes; unsigned char *p_result = NULL; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); goto stop; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1) { sqlite3_result_null (context); goto stop; } @@ -10697,13 +9234,11 @@ sqlite3_result_null (context); goto stop; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo2) { sqlite3_result_null (context); goto stop; } @@ -10741,15 +9276,11 @@ double cx; double cy; double r; int srid = 0; double step = 10.0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { ival = sqlite3_value_int (argv[0]); cx = ival; } @@ -10815,11 +9346,11 @@ sqlite3_result_null (context); else { if (srid != 0) geom->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } if (geom) gaiaFreeGeomColl (geom); } @@ -10851,15 +9382,11 @@ double r; double start; double stop; int srid = 0; double step = 10.0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { ival = sqlite3_value_int (argv[0]); cx = ival; } @@ -10949,11 +9476,11 @@ sqlite3_result_null (context); else { if (srid != 0) geom->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } if (geom) gaiaFreeGeomColl (geom); } @@ -10983,15 +9510,11 @@ double cy; double x_axis; double y_axis; int srid = 0; double step = 10.0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { ival = sqlite3_value_int (argv[0]); cx = ival; } @@ -11068,11 +9591,11 @@ sqlite3_result_null (context); else { if (srid != 0) geom->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } if (geom) gaiaFreeGeomColl (geom); } @@ -11107,15 +9630,11 @@ double y_axis; double start; double stop; int srid = 0; double step = 10.0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { ival = sqlite3_value_int (argv[0]); cx = ival; } @@ -11217,11 +9736,11 @@ sqlite3_result_null (context); else { if (srid != 0) geom->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } if (geom) gaiaFreeGeomColl (geom); } @@ -11255,15 +9774,11 @@ double r; double start; double stop; int srid = 0; double step = 10.0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { ival = sqlite3_value_int (argv[0]); cx = ival; } @@ -11375,11 +9890,11 @@ } /* inserting the Centre - last point */ gaiaSetPoint (out->Coords, io, cx, cy); if (srid != 0) sector->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (sector, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (sector, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } if (geom) gaiaFreeGeomColl (geom); if (sector) @@ -11419,15 +9934,11 @@ double r2; double start; double stop; int srid = 0; double step = 10.0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { ival = sqlite3_value_int (argv[0]); cx = ival; } @@ -11559,11 +10070,11 @@ /* closing the Polygon Ring */ gaiaGetPoint (out->Coords, 0, &x, &y); gaiaSetPoint (out->Coords, io, x, y); if (srid != 0) stripe->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (stripe, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (stripe, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } if (arc1) gaiaFreeGeomColl (arc1); if (arc2) @@ -11603,15 +10114,11 @@ double y_axis; double start; double stop; int srid = 0; double step = 10.0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { ival = sqlite3_value_int (argv[0]); cx = ival; } @@ -11735,11 +10242,11 @@ } /* inserting the Centre - last point */ gaiaSetPoint (out->Coords, io, cx, cy); if (srid != 0) sector->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (sector, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (sector, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } if (geom) gaiaFreeGeomColl (geom); if (sector) @@ -11758,29 +10265,19 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geom; gaiaGeomCollPtr result; gaiaGeomCollPtr *p; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geom) return; p = sqlite3_aggregate_context (context, sizeof (gaiaGeomCollPtr)); if (!(*p)) { @@ -11793,10 +10290,11 @@ void *data = sqlite3_user_data (context); if (data != NULL) result = gaiaMergeGeometries_r (data, *p, geom); else result = gaiaMergeGeometries (*p, geom); + gaiaFreeGeomColl (*p); *p = result; gaiaFreeGeomColl (geom); } } @@ -11809,14 +10307,10 @@ / aggregate function - FINAL / */ gaiaGeomCollPtr result; gaiaGeomCollPtr *p = sqlite3_aggregate_context (context, 0); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (!p) { sqlite3_result_null (context); return; } @@ -11831,11 +10325,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } @@ -11851,49 +10345,29 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geo1 || !geo2) - { - if (geo1 != NULL) - gaiaFreeGeomColl (geo1); - if (geo2 != NULL) - gaiaFreeGeomColl (geo2); - geo1 = NULL; - geo2 = NULL; - sqlite3_result_null (context); - } + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + if (!geo1 || !geo2) + sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); if (data != NULL) result = gaiaMergeGeometries_r (data, geo1, geo2); @@ -11909,15 +10383,16 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } + gaiaFreeGeomColl (geo1); gaiaFreeGeomColl (geo2); } static void geom_from_text1 (sqlite3_context * context, int argc, sqlite3_value ** argv, @@ -11934,15 +10409,11 @@ */ int len; unsigned char *p_result = NULL; const unsigned char *text; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } @@ -11951,11 +10422,11 @@ if (geo == NULL) { sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -11973,15 +10444,11 @@ */ int len; unsigned char *p_result = NULL; const unsigned char *text; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } @@ -11996,11 +10463,11 @@ { sqlite3_result_null (context); return; } geo->Srid = sqlite3_value_int (argv[1]); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static int @@ -12064,15 +10531,11 @@ int len; int n_bytes; unsigned char *p_result = NULL; const unsigned char *wkb; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -12084,11 +10547,11 @@ if (geo == NULL) { sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -12107,15 +10570,11 @@ int len; int n_bytes; unsigned char *p_result = NULL; const unsigned char *wkb; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -12133,11 +10592,11 @@ { sqlite3_result_null (context); return; } geo->Srid = sqlite3_value_int (argv[1]); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -12156,15 +10615,11 @@ int len; int n_bytes; unsigned char *p_result = NULL; const unsigned char *fgf; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -12174,11 +10629,11 @@ if (geo == NULL) { sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -12197,15 +10652,11 @@ int len; int n_bytes; unsigned char *p_result = NULL; const unsigned char *fgf; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -12221,11 +10672,11 @@ { sqlite3_result_null (context); return; } geo->Srid = sqlite3_value_int (argv[1]); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } /* @@ -12346,15 +10797,11 @@ */ int len; unsigned char *p_result = NULL; const unsigned char *text; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } @@ -12364,11 +10811,11 @@ { sqlite3_result_null (context); return; } geo->Srid = 0; - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } /* @@ -12488,15 +10935,11 @@ int len; int n_bytes; unsigned char *p_result = NULL; const unsigned char *wkb; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -12509,11 +10952,11 @@ { sqlite3_result_null (context); return; } geo->Srid = 0; - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -12529,29 +10972,19 @@ unsigned char *p_blob; int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaToCompressedBlobWkb (geo, &p_result, &len); @@ -12573,34 +11006,24 @@ unsigned char *p_blob; int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } gaiaFreeGeomColl (geo); } @@ -12623,152 +11046,25 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr sanitized = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { sanitized = gaiaSanitize (geo); - gaiaToSpatiaLiteBlobWkbEx (sanitized, &p_result, &len, gpkg_mode); - sqlite3_result_blob (context, p_result, len, free); - } - gaiaFreeGeomColl (geo); - gaiaFreeGeomColl (sanitized); -} - -static void -fnct_EnsureClosedRings (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ EnsureClosedRings(BLOB encoded geometry) -/ -/ returns a SANITIZED geometry [if a valid Geometry was supplied] -/ or NULL in any other case -/ -/ Sanitizing includes only enforcing ring closure -/ -*/ - unsigned char *p_blob; - int n_bytes; - int len; - unsigned char *p_result = NULL; - gaiaGeomCollPtr geo = NULL; - gaiaGeomCollPtr sanitized = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geo) - sqlite3_result_null (context); - else - { - sanitized = gaiaEnsureClosedRings (geo); - gaiaToSpatiaLiteBlobWkbEx (sanitized, &p_result, &len, gpkg_mode); - sqlite3_result_blob (context, p_result, len, free); - } - gaiaFreeGeomColl (geo); - gaiaFreeGeomColl (sanitized); -} - -static void -fnct_RemoveRepeatedPoints (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ RemoveRepeatedPoints(BLOB encoded geometry) -/ RemoveRepeatedPoints(BLOB encoded geometry, double tolerance) -/ -/ returns a SANITIZED geometry [if a valid Geometry was supplied] -/ or NULL in any other case -/ -/ Sanitizing includes only repeated vertices suppression -/ -*/ - unsigned char *p_blob; - int n_bytes; - int len; - unsigned char *p_result = NULL; - gaiaGeomCollPtr geo = NULL; - gaiaGeomCollPtr sanitized = NULL; - double tolerance = 0.0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - int tol = sqlite3_value_int (argv[1]); - tolerance = tol; - } - else if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[1]); - else - { - sqlite3_result_null (context); - return; - } - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geo) - sqlite3_result_null (context); - else - { - sanitized = gaiaRemoveRepeatedPoints (geo, tolerance); - gaiaToSpatiaLiteBlobWkbEx (sanitized, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (sanitized, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } gaiaFreeGeomColl (geo); gaiaFreeGeomColl (sanitized); } @@ -12823,15 +11119,11 @@ unsigned char *p_blob; int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -12846,12 +11138,11 @@ geo = gaiaFromGeoPackageGeometryBlob (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, - gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } return; } @@ -12859,11 +11150,11 @@ #endif /* end GEOPACKAGE: supporting GPKG geometries */ sqlite3_result_null (context); } else { - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } } @@ -12883,29 +11174,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -12912,11 +11193,11 @@ if (pts == 1 && lns == 0 && pgs == 0) { geom2 = gaiaCloneGeomColl (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_POINT; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -12941,29 +11222,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -12970,11 +11241,11 @@ if (pts == 0 && lns == 1 && pgs == 0) { geom2 = gaiaCloneGeomColl (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_LINESTRING; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -12998,29 +11269,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13027,11 +11288,11 @@ if (pts == 0 && lns == 0 && pgs == 1) { geom2 = gaiaCloneGeomColl (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_POLYGON; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13056,29 +11317,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13085,11 +11336,11 @@ if (pts >= 1 && lns == 0 && pgs == 0) { geom2 = gaiaCloneGeomColl (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_MULTIPOINT; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13114,29 +11365,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13143,11 +11384,11 @@ if (pts == 0 && lns >= 1 && pgs == 0) { geom2 = gaiaCloneGeomColl (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_MULTILINESTRING; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13172,29 +11413,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13201,11 +11432,11 @@ if (pts == 0 && lns == 0 && pgs >= 1) { geom2 = gaiaCloneGeomColl (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_MULTIPOLYGON; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13230,29 +11461,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13259,11 +11480,11 @@ if (pts >= 1 || lns >= 1 || pgs >= 1) { geom2 = gaiaCloneGeomColl (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_GEOMETRYCOLLECTION; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13288,29 +11509,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13326,11 +11537,11 @@ geom2->DeclaredType = GAIA_MULTIPOLYGON; else geom2->DeclaredType = GAIA_GEOMETRYCOLLECTION; if (geo->DeclaredType == GAIA_GEOMETRYCOLLECTION) geom2->DeclaredType = GAIA_GEOMETRYCOLLECTION; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13355,29 +11566,19 @@ int lns; int pgs; int ok; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13396,11 +11597,11 @@ geom2->DeclaredType = GAIA_POINT; else if (lns == 1) geom2->DeclaredType = GAIA_LINESTRING; else geom2->DeclaredType = GAIA_POLYGON; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13421,38 +11622,28 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { geom2 = gaiaCastGeomCollToXY (geo); if (geom2) { geom2->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13473,38 +11664,28 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { geom2 = gaiaCastGeomCollToXYZ (geo); if (geom2) { geom2->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13525,38 +11706,28 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { geom2 = gaiaCastGeomCollToXYM (geo); if (geom2) { geom2->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13577,38 +11748,28 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { geom2 = gaiaCastGeomCollToXYZM (geo); if (geom2) { geom2->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13633,29 +11794,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13662,11 +11813,11 @@ if (pts >= 1) { geom2 = gaiaCloneGeomCollPoints (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_MULTIPOINT; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13691,29 +11842,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13720,11 +11861,11 @@ if (lns >= 1) { geom2 = gaiaCloneGeomCollLinestrings (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_MULTILINESTRING; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13749,29 +11890,19 @@ int pts; int lns; int pgs; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { cast_count (geo, &pts, &lns, &pgs); @@ -13778,11 +11909,11 @@ if (pgs >= 1) { geom2 = gaiaCloneGeomCollPolygons (geo); geom2->Srid = geo->Srid; geom2->DeclaredType = GAIA_MULTIPOLYGON; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -13803,36 +11934,26 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { geom2 = gaiaCloneGeomCollSpecial (geo, GAIA_REVERSE_ORDER); geom2->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (geo); } } @@ -13851,36 +11972,26 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { geom2 = gaiaCloneGeomCollSpecial (geo, GAIA_LHR_ORDER); geom2->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (geom2, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom2, &p_result, &len); gaiaFreeGeomColl (geom2); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (geo); } } @@ -13900,29 +12011,19 @@ */ unsigned char *p_blob; int n_bytes; int dim; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { dim = gaiaDimension (geo); @@ -13945,29 +12046,19 @@ int n_bytes; int len; char *p_dim = NULL; char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (geo->DimensionModel == GAIA_XY) @@ -14007,29 +12098,19 @@ */ unsigned char *p_blob; int n_bytes; int result = 0; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (geo->DimensionModel == GAIA_XY) @@ -14230,29 +12311,19 @@ int len; int type; char *p_type = NULL; char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { type = gaiaGeometryAliasType (geo); @@ -14402,19 +12473,11 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; int srid; unsigned char *p_result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -14425,19 +12488,17 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { geo->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &n_bytes, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &n_bytes); sqlite3_result_blob (context, p_result, n_bytes, free); } gaiaFreeGeomColl (geo); } @@ -14880,29 +12941,19 @@ unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr bbox; gaiaPolygonPtr polyg; gaiaRingPtr rect; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaMbrGeometry (geo); @@ -14913,11 +12964,11 @@ gaiaSetPoint (rect->Coords, 0, geo->MinX, geo->MinY); /* vertex # 1 */ gaiaSetPoint (rect->Coords, 1, geo->MaxX, geo->MinY); /* vertex # 2 */ gaiaSetPoint (rect->Coords, 2, geo->MaxX, geo->MaxY); /* vertex # 3 */ gaiaSetPoint (rect->Coords, 3, geo->MinX, geo->MaxY); /* vertex # 4 */ gaiaSetPoint (rect->Coords, 4, geo->MinX, geo->MinY); /* vertex # 5 [same as vertex # 1 to close the polygon] */ - gaiaToSpatiaLiteBlobWkbEx (bbox, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (bbox, &p_result, &len); gaiaFreeGeomColl (bbox); sqlite3_result_blob (context, p_result, len, free); } gaiaFreeGeomColl (geo); } @@ -14939,19 +12990,11 @@ gaiaGeomCollPtr bbox; gaiaPolygonPtr polyg; gaiaRingPtr rect; double tic; int int_value; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -14967,13 +13010,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaMbrGeometry (geo); @@ -14984,11 +13025,11 @@ gaiaSetPoint (rect->Coords, 0, geo->MinX - tic, geo->MinY - tic); /* vertex # 1 */ gaiaSetPoint (rect->Coords, 1, geo->MaxX + tic, geo->MinY - tic); /* vertex # 2 */ gaiaSetPoint (rect->Coords, 2, geo->MaxX + tic, geo->MaxY + tic); /* vertex # 3 */ gaiaSetPoint (rect->Coords, 3, geo->MinX - tic, geo->MaxY + tic); /* vertex # 4 */ gaiaSetPoint (rect->Coords, 4, geo->MinX - tic, geo->MinY - tic); /* vertex # 5 [same as vertex # 1 to close the polygon] */ - gaiaToSpatiaLiteBlobWkbEx (bbox, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (bbox, &p_result, &len); gaiaFreeGeomColl (bbox); sqlite3_result_blob (context, p_result, len, free); } gaiaFreeGeomColl (geo); } @@ -15394,29 +13435,19 @@ int n_bytes; gaiaGeomCollPtr geom; double **p; double *max_min; int *srid_check; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geom) return; gaiaMbrGeometry (geom); p = sqlite3_aggregate_context (context, sizeof (double **)); if (!(*p)) @@ -15468,14 +13499,10 @@ double miny; double maxx; double maxy; int *srid_check; double **p = sqlite3_aggregate_context (context, 0); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (!p) { sqlite3_result_null (context); return; } @@ -15509,11 +13536,11 @@ gaiaSetPoint (rect->Coords, 0, minx, miny); /* vertex # 1 */ gaiaSetPoint (rect->Coords, 1, maxx, miny); /* vertex # 2 */ gaiaSetPoint (rect->Coords, 2, maxx, maxy); /* vertex # 3 */ gaiaSetPoint (rect->Coords, 3, minx, maxy); /* vertex # 4 */ gaiaSetPoint (rect->Coords, 4, minx, miny); /* vertex # 5 [same as vertex # 1 to close the polygon] */ - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } free (max_min); } @@ -15878,29 +13905,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaPointPtr point; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { point = simplePoint (geo); @@ -15923,29 +13940,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaPointPtr point; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { point = simplePoint (geo); @@ -15968,29 +13975,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaPointPtr point; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { point = simplePoint (geo); @@ -16019,29 +14016,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaPointPtr point; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { point = simplePoint (geo); @@ -16070,29 +14057,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaLinestringPtr line; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { line = simpleLinestring (geo); @@ -16126,19 +14103,11 @@ double m; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; gaiaLinestringPtr line; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -16156,13 +14125,11 @@ vertex = -1; /* EndPoint() specifies a negative point index */ else vertex = 1; /* StartPoint() */ p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { line = simpleLinestring (geo); @@ -16210,12 +14177,11 @@ result = NULL; if (!result) sqlite3_result_null (context); else { - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, - gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); gaiaFreeGeomColl (result); sqlite3_result_blob (context, p_result, len, free); } } } @@ -16266,29 +14232,19 @@ gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; gaiaPolygonPtr polyg; gaiaRingPtr ring; gaiaLinestringPtr line; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { polyg = simplePolygon (geo); @@ -16328,11 +14284,11 @@ { gaiaGetPoint (ring->Coords, iv, &x, &y); gaiaSetPoint (line->Coords, iv, x, y); } } - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); gaiaFreeGeomColl (result); sqlite3_result_blob (context, p_result, len, free); } } gaiaFreeGeomColl (geo); @@ -16350,29 +14306,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaPolygonPtr polyg; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { polyg = simplePolygon (geo); @@ -16406,19 +14352,11 @@ gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; gaiaPolygonPtr polyg; gaiaRingPtr ring; gaiaLinestringPtr line; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -16428,13 +14366,11 @@ return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); border = sqlite3_value_int (argv[1]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { polyg = simplePolygon (geo); @@ -16480,12 +14416,11 @@ { gaiaGetPoint (ring->Coords, iv, &x, &y); gaiaSetPoint (line->Coords, iv, x, y); } } - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, - gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); gaiaFreeGeomColl (result); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -16508,29 +14443,19 @@ int cnt = 0; gaiaPointPtr point; gaiaLinestringPtr line; gaiaPolygonPtr polyg; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { point = geo->FirstPoint; @@ -16575,29 +14500,19 @@ gaiaPointPtr point; gaiaLinestringPtr line; gaiaPolygonPtr polyg; gaiaRingPtr rng; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { point = geo->FirstPoint; @@ -16646,29 +14561,19 @@ unsigned char *p_blob; int n_bytes; int cnt = 0; gaiaPolygonPtr polyg; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { polyg = geo->FirstPolygon; @@ -16775,29 +14680,19 @@ int out_iv; double x; double y; double m; double z; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!line) { sqlite3_result_null (context); return; } @@ -16807,13 +14702,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!point) { gaiaFreeGeomColl (line); sqlite3_result_null (context); return; @@ -16977,11 +14870,11 @@ gaiaSetPoint (out_ln->Coords, out_iv, x, y); } out_iv++; } } - gaiaToSpatiaLiteBlobWkbEx (out, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (out, &p_result, &len); gaiaFreeGeomColl (out); sqlite3_result_blob (context, p_result, len, free); stop: gaiaFreeGeomColl (line); gaiaFreeGeomColl (point); @@ -17001,14 +14894,10 @@ int iv; double x = 0.0; double y = 0.0; double m = 0.0; double z = 0.0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (is_single_linestring (line) && is_single_point (point)) ; else { @@ -17075,11 +14964,11 @@ else { gaiaSetPoint (out_ln->Coords, iv, x, y); } } - gaiaToSpatiaLiteBlobWkbEx (out, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (out, &p_result, &len); gaiaFreeGeomColl (out); sqlite3_result_blob (context, p_result, len, free); stop: gaiaFreeGeomColl (line); gaiaFreeGeomColl (point); @@ -17097,29 +14986,19 @@ unsigned char *p_blob; int n_bytes; int position; gaiaGeomCollPtr line = NULL; gaiaGeomCollPtr point = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!line) { sqlite3_result_null (context); return; } @@ -17136,13 +15015,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); n_bytes = sqlite3_value_bytes (argv[2]); - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!point) { gaiaFreeGeomColl (line); sqlite3_result_null (context); return; @@ -17161,29 +15038,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr line = NULL; gaiaGeomCollPtr point = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!line) { sqlite3_result_null (context); return; } @@ -17193,13 +15060,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!point) { gaiaFreeGeomColl (line); sqlite3_result_null (context); return; @@ -17220,29 +15085,19 @@ int n_bytes; gaiaLinestringPtr ln; gaiaGeomCollPtr line = NULL; gaiaGeomCollPtr point = NULL; int position; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!line) { sqlite3_result_null (context); return; } @@ -17252,13 +15107,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!point) { gaiaFreeGeomColl (line); sqlite3_result_null (context); return; @@ -17301,29 +15154,19 @@ int out_iv; double x; double y; double m; double z; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + line = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!line) { sqlite3_result_null (context); return; } @@ -17405,11 +15248,11 @@ gaiaGetPoint (ln->Coords, iv, &x, &y); gaiaSetPoint (out_ln->Coords, out_iv, x, y); } out_iv++; } - gaiaToSpatiaLiteBlobWkbEx (out, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (out, &p_result, &len); gaiaFreeGeomColl (out); sqlite3_result_blob (context, p_result, len, free); stop: gaiaFreeGeomColl (line); } @@ -17429,29 +15272,19 @@ gaiaGeomCollPtr exterior = NULL; gaiaGeomCollPtr interiors = NULL; gaiaGeomCollPtr out; int len; unsigned char *p_result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); goto stop; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - exterior = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + exterior = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!exterior) { sqlite3_result_null (context); goto stop; } @@ -17462,13 +15295,11 @@ sqlite3_result_null (context); goto stop; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - interiors = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + interiors = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!interiors) { sqlite3_result_null (context); goto stop; } @@ -17477,11 +15308,11 @@ if (!out) { sqlite3_result_null (context); goto stop; } - gaiaToSpatiaLiteBlobWkbEx (out, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (out, &p_result, &len); gaiaFreeGeomColl (out); sqlite3_result_blob (context, p_result, len, free); stop: gaiaFreeGeomColl (exterior); gaiaFreeGeomColl (interiors); @@ -17571,19 +15402,11 @@ double size_z = 0.0; double size_m = 0.0; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr point = NULL; gaiaGeomCollPtr result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -17713,13 +15536,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!point) { sqlite3_result_null (context); return; } @@ -17788,13 +15609,11 @@ return; } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { result = @@ -17806,11 +15625,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -18059,29 +15878,19 @@ int lon_band = 0; double lon_minutes = 0; int segmentNumber = 0; int lat_band = 0; double lat_minutes = 0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) { sqlite3_result_null (context); return; } @@ -18201,19 +16010,11 @@ gaiaRingPtr ring_in; gaiaRingPtr ring_out; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -18223,13 +16024,11 @@ return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); entity = sqlite3_value_int (argv[1]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { point = geo->FirstPoint; @@ -18413,11 +16212,11 @@ polyg = polyg->Next; } skip: if (result) { - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); gaiaFreeGeomColl (result); sqlite3_result_blob (context, p_result, len, free); } else sqlite3_result_null (context); @@ -18547,19 +16346,11 @@ int n_bytes; int ret = 0; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaLinestringPtr ln; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -18611,13 +16402,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1) sqlite3_result_null (context); else { gaiaMbrGeometry (geo1); @@ -18667,19 +16456,11 @@ unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; double shift_x; double shift_y; int int_value; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -18707,19 +16488,17 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaShiftCoords (geo, shift_x, shift_y); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); if (!p_result) sqlite3_result_null (context); else sqlite3_result_blob (context, p_result, len, free); } @@ -18742,19 +16521,11 @@ gaiaGeomCollPtr geo = NULL; double shift_x; double shift_y; double shift_z; int int_value; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -18794,19 +16565,17 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaShiftCoords3D (geo, shift_x, shift_y, shift_z); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); if (!p_result) sqlite3_result_null (context); else sqlite3_result_blob (context, p_result, len, free); } @@ -18827,35 +16596,25 @@ unsigned char *p_blob; int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaShiftLongitude (geo); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); if (!p_result) sqlite3_result_null (context); else sqlite3_result_blob (context, p_result, len, free); } @@ -18876,35 +16635,25 @@ unsigned char *p_blob; int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaNormalizeLonLat (geo); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); if (!p_result) sqlite3_result_null (context); else sqlite3_result_blob (context, p_result, len, free); } @@ -18926,19 +16675,10 @@ unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; double scale_x; double scale_y; int int_value; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -18972,19 +16712,17 @@ return; } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaScaleCoords (geo, scale_x, scale_y); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); if (!p_result) sqlite3_result_null (context); else sqlite3_result_blob (context, p_result, len, free); } @@ -19005,19 +16743,11 @@ int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; double angle; int int_value; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -19033,19 +16763,17 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaRotateCoords (geo, angle); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); if (!p_result) sqlite3_result_null (context); else sqlite3_result_blob (context, p_result, len, free); } @@ -19066,19 +16794,11 @@ int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; int x_axis; int y_axis; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -19096,19 +16816,17 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaReflectCoords (geo, x_axis, y_axis); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); if (!p_result) sqlite3_result_null (context); else sqlite3_result_blob (context, p_result, len, free); } @@ -19127,35 +16845,25 @@ unsigned char *p_blob; int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaSwapCoords (geo); - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); if (!p_result) sqlite3_result_null (context); else sqlite3_result_blob (context, p_result, len, free); } @@ -19260,15 +16968,11 @@ */ int len; unsigned char *p_result = NULL; const unsigned char *text; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } @@ -19277,11 +16981,11 @@ if (geo == NULL) { sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -19296,29 +17000,19 @@ unsigned char *p_blob; int n_bytes; int len; gaiaOutBuffer out_buf; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) { sqlite3_result_null (context); return; } @@ -19351,30 +17045,20 @@ unsigned char *p_blob; int n_bytes; int len; gaiaOutBuffer out_buf; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); gaiaOutBufferInitialize (&out_buf); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { gaiaToEWKT (&out_buf, geo); @@ -19402,15 +17086,11 @@ */ int len; unsigned char *p_result = NULL; const unsigned char *text; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } @@ -19419,11 +17099,11 @@ if (geo == NULL) { sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -19437,15 +17117,11 @@ */ int len; unsigned char *p_result = NULL; const unsigned char *text; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } @@ -19454,11 +17130,11 @@ if (geo == NULL) { sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -19472,15 +17148,11 @@ */ int len; unsigned char *p_result = NULL; const unsigned char *text; gaiaGeomCollPtr geo = NULL; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } @@ -19489,11 +17161,11 @@ if (geo == NULL) { sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -19509,15 +17181,11 @@ unsigned char *p_result = NULL; const unsigned char *text; gaiaGeomCollPtr geo = NULL; void *data = sqlite3_user_data (context); sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } @@ -19529,11 +17197,11 @@ if (geo == NULL) { sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geo, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geo, &p_result, &len); gaiaFreeGeomColl (geo); sqlite3_result_blob (context, p_result, len, free); } static void @@ -19551,29 +17219,19 @@ gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr geom_new = NULL; int len; int multi_linestring = 0; unsigned char *p_result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) { sqlite3_result_null (context); return; } @@ -19584,11 +17242,11 @@ } geom_new = gaiaLinearize (geo, multi_linestring); if (!geom_new) goto invalid; gaiaFreeGeomColl (geo); - gaiaToSpatiaLiteBlobWkbEx (geom_new, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom_new, &p_result, &len); gaiaFreeGeomColl (geom_new); sqlite3_result_blob (context, p_result, len, free); return; invalid: if (geo) @@ -19611,29 +17269,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -19647,11 +17295,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -19671,29 +17319,19 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geom; gaiaGeomCollPtr result; gaiaGeomCollPtr *p; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geom) return; p = sqlite3_aggregate_context (context, sizeof (gaiaGeomCollPtr)); if (!(*p)) { @@ -19706,10 +17344,11 @@ void *data = sqlite3_user_data (context); if (data != NULL) result = gaiaMergeGeometries_r (data, *p, geom); else result = gaiaMergeGeometries (*p, geom); + gaiaFreeGeomColl (*p); *p = result; gaiaFreeGeomColl (geom); } } @@ -19723,14 +17362,10 @@ / */ gaiaGeomCollPtr result; gaiaGeomCollPtr geom; gaiaGeomCollPtr *p = sqlite3_aggregate_context (context, 0); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (!p) { sqlite3_result_null (context); return; } @@ -19750,11 +17385,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; geom->Srid = result->Srid; - gaiaToSpatiaLiteBlobWkbEx (geom, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (geom); } gaiaFreeGeomColl (result); } @@ -19774,29 +17409,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { result = gaiaDissolveSegments (geo); @@ -19806,11 +17431,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -19827,29 +17452,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { result = gaiaDissolvePoints (geo); @@ -19859,11 +17474,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -19882,20 +17497,12 @@ */ unsigned char *p_blob; int n_bytes; int type; gaiaGeomCollPtr geo = NULL; - gaiaGeomCollPtr result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); + gaiaGeomCollPtr result; GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -19913,13 +17520,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { switch (type) @@ -19940,11 +17545,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -19967,19 +17572,11 @@ double m_start; double m_end; int intval; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -20012,13 +17609,11 @@ } else m_end = m_start; p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { result = gaiaLocateBetweenMeasures (geo, m_start, m_end); @@ -20028,11 +17623,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -20044,11 +17639,11 @@ fnct_Transform (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / Transform(BLOBencoded geometry, srid) / -/ returns a new geometry that is the original one received, but transformed / translated to the new SRID [coordinates translation is applied] +/ returns a new geometry that is the original one received, but with the new SRID [no coordinates translation is applied] / or NULL if any error is encountered */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; @@ -20057,19 +17652,11 @@ int srid_to; char *proj_from; char *proj_to; void *data = sqlite3_user_data (context); sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -20080,13 +17667,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { srid_from = geo->Srid; @@ -20114,11 +17699,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = srid_to; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -20208,15 +17793,11 @@ / return NULL on any other case */ int srid = -1; gaiaGeomCollPtr geom; void *data = sqlite3_user_data (context); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (argc == 1) { if (sqlite3_value_type (argv[0]) != SQLITE_INTEGER) { sqlite3_result_null (context); @@ -20233,105 +17814,42 @@ else { unsigned char *blob; int len; geom->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (geom, &blob, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom, &blob, &len); gaiaFreeGeomColl (geom); sqlite3_result_blob (context, blob, len, free); } } static void fnct_IsValidReason (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ IsValidReason(geom [ , esri_flag] ) -/ ST_IsValidReason(geom [ , esri_flag] ) +/ IsValidReason(geom) +/ ST_IsValidReason(geom) / / return a TEXT string stating if a Geometry is valid / and if not valid, a reason why / return NULL on any other case */ unsigned char *p_blob; int n_bytes; int len; gaiaGeomCollPtr geom; - int esri_flag = 0; char *str; void *data = sqlite3_user_data (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - esri_flag = sqlite3_value_int (argv[1]); - } - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (esri_flag) - { - gaiaGeomCollPtr detail; - if (data != NULL) - detail = gaiaIsValidDetailEx_r (data, geom, esri_flag); - else - detail = gaiaIsValidDetailEx (geom, esri_flag); - if (detail == NULL) - { - /* performing extra checks */ - if (data != NULL) - { - if (gaiaIsToxic_r (data, geom)) - sqlite3_result_text (context, - "Invalid: Toxic Geometry ... too few points", - -1, SQLITE_TRANSIENT); - else if (gaiaIsNotClosedGeomColl_r (data, geom)) - sqlite3_result_text (context, - "Invalid: Unclosed Rings were detected", - -1, SQLITE_TRANSIENT); - else - sqlite3_result_text (context, "Valid Geometry", -1, - SQLITE_TRANSIENT); - } - else - { - if (gaiaIsToxic (geom)) - sqlite3_result_text (context, - "Invalid: Toxic Geometry ... too few points", - -1, SQLITE_TRANSIENT); - else if (gaiaIsNotClosedGeomColl (geom)) - sqlite3_result_text (context, - "Invalid: Unclosed Rings were detected", - -1, SQLITE_TRANSIENT); - else - sqlite3_result_text (context, "Valid Geometry", -1, - SQLITE_TRANSIENT); - } - goto end; - } - else - gaiaFreeGeomColl (detail); - } + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (data != NULL) str = gaiaIsValidReason_r (data, geom); else str = gaiaIsValidReason (geom); if (str == NULL) @@ -20339,71 +17857,50 @@ else { len = strlen (str); sqlite3_result_text (context, str, len, free); } - end: if (geom != NULL) gaiaFreeGeomColl (geom); } static void fnct_IsValidDetail (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ IsValidDetail(geom [ , esri_flag] ) -/ ST_IsValidDetail(geom [ , esri_flag] ) +/ IsValidDetail(geom) +/ ST_IsValidDetail(geom) / / return a Geometry detail causing a Geometry to be invalid / return NULL on any other case */ unsigned char *p_blob; int n_bytes; int len; gaiaGeomCollPtr geom; gaiaGeomCollPtr detail; - int esri_flag = 0; unsigned char *p_result = NULL; void *data = sqlite3_user_data (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - esri_flag = sqlite3_value_int (argv[1]); - } - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (data != NULL) - detail = gaiaIsValidDetailEx_r (data, geom, esri_flag); + detail = gaiaIsValidDetail_r (data, geom); else - detail = gaiaIsValidDetailEx (geom, esri_flag); + detail = gaiaIsValidDetail (geom); if (detail == NULL) sqlite3_result_null (context); else { detail->Srid = geom->Srid; - gaiaToSpatiaLiteBlobWkbEx (detail, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (detail, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } if (geom != NULL) gaiaFreeGeomColl (geom); if (detail != NULL) @@ -20423,29 +17920,19 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr boundary; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (gaiaIsEmpty (geo)) @@ -20459,12 +17946,11 @@ boundary = gaiaBoundary (geo); if (!boundary) sqlite3_result_null (context); else { - gaiaToSpatiaLiteBlobWkbEx (boundary, &p_result, &len, - gpkg_mode); + gaiaToSpatiaLiteBlobWkb (boundary, &p_result, &len); gaiaFreeGeomColl (boundary); sqlite3_result_blob (context, p_result, len, free); } } } @@ -20483,29 +17969,19 @@ / or -1 if any error is encountered */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_int (context, -1); else { sqlite3_result_int (context, gaiaIsClosedGeom (geo)); @@ -20526,29 +18002,19 @@ */ unsigned char *p_blob; int n_bytes; int ret; gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -20578,35 +18044,25 @@ unsigned char *p_blob; int n_bytes; int ret; gaiaGeomCollPtr geo = NULL; gaiaLinestringPtr line; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_int (context, -1); else { line = simpleLinestring (geo); - if (line == NULL) + if (!line < 0) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); if (data != NULL) @@ -20621,11 +18077,11 @@ static void fnct_IsValid (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ IsValid(BLOB encoded GEOMETRY [ , BOOLEAN esri_flag] ) +/ IsValid(BLOB encoded GEOMETRY) / / returns: / 1 if this GEOMETRY is a valid one / 0 otherwise / or -1 if any error is encountered @@ -20632,91 +18088,33 @@ */ unsigned char *p_blob; int n_bytes; int ret; gaiaGeomCollPtr geo = NULL; - int esri_flag = 0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - esri_flag = sqlite3_value_int (argv[1]); - } - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); - if (esri_flag) - { - gaiaGeomCollPtr detail; - if (data != NULL) - detail = gaiaIsValidDetailEx_r (data, geo, esri_flag); - else - detail = gaiaIsValidDetailEx (geo, esri_flag); - if (detail == NULL) - { - /* extra checks */ - int extra = 0; - if (data != NULL) - { - if (gaiaIsToxic_r (data, geo)) - extra = 1; - if (gaiaIsNotClosedGeomColl_r (data, geo)) - extra = 1; - } - else - { - if (gaiaIsToxic (geo)) - extra = 1; - if (gaiaIsNotClosedGeomColl (geo)) - extra = 1; - } - if (extra) - sqlite3_result_int (context, 0); - else - sqlite3_result_int (context, 1); - } - else - { - gaiaFreeGeomColl (detail); - sqlite3_result_int (context, 0); - } - goto end; - } if (data != NULL) ret = gaiaIsValid_r (data, geo); else ret = gaiaIsValid (geo); if (ret < 0) sqlite3_result_int (context, -1); else sqlite3_result_int (context, ret); } - end: gaiaFreeGeomColl (geo); } static void length_common (const void *p_cache, sqlite3_context * context, int argc, @@ -20731,19 +18129,11 @@ double a; double b; double rf; gaiaGeomCollPtr geo = NULL; sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -20758,13 +18148,11 @@ if (use_ellipsoid != 0) use_ellipsoid = 1; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (use_ellipsoid >= 0) @@ -20787,14 +18175,15 @@ { /* Linestrings */ l = gaiaGeodesicTotalLength (a, b, rf, + line->DimensionModel, + line-> + Coords, line-> - DimensionModel, - line->Coords, - line->Points); + Points); if (l < 0.0) { length = -1.0; break; } @@ -20812,13 +18201,16 @@ { /* exterior Ring */ ring = polyg->Exterior; l = gaiaGeodesicTotalLength (a, b, rf, - ring->DimensionModel, - ring->Coords, - ring->Points); + ring-> + DimensionModel, + ring-> + Coords, + ring-> + Points); if (l < 0.0) { length = -1.0; break; } @@ -20960,65 +18352,10 @@ */ void *data = sqlite3_user_data (context); length_common (data, context, argc, argv, 1); } -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -static void -fnct_3dLength (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ ST_3dLength(BLOB encoded GEOMETRYCOLLECTION) -/ -/ returns the total 2D or 3D length for current geometry -/ accordingly to the Geometry dimensions -/ returns NULL if any error is encountered -/ -/ Please note: this function will ignore -/ any Polygon (only Linestrings will be considered) -/ -*/ - unsigned char *p_blob; - int n_bytes; - double length = 0.0; - int ret; - gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geo) - sqlite3_result_null (context); - else - { - ret = gaia3dLength (cache, geo, &length); - if (!ret) - sqlite3_result_null (context); - else - sqlite3_result_double (context, length); - } - gaiaFreeGeomColl (geo); -} - -#endif /* end RTTOPO conditional */ - static void fnct_Area (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / Area(BLOB encoded GEOMETRYCOLLECTION) @@ -21029,26 +18366,18 @@ unsigned char *p_blob; int n_bytes; double area = 0.0; int ret; int use_ellipsoid = -1; -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ +#ifdef ENABLE_LWGEOM /* only if LWGEOM is enabled */ double a; double b; double rf; sqlite3 *sqlite = sqlite3_context_db_handle (context); -#endif /* end RTTOPO conditional */ +#endif /* end LWGEOM conditional */ gaiaGeomCollPtr geo = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -21063,30 +18392,26 @@ if (use_ellipsoid != 0) use_ellipsoid = 1; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (use_ellipsoid >= 0) { -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ +#ifdef ENABLE_LWGEOM /* only if LWGEOM is enabled */ /* attempting to identify the corresponding ellipsoid */ if (getEllipsoidParams (sqlite, geo->Srid, &a, &b, &rf)) - ret = - gaiaGeodesicArea (cache, geo, a, b, use_ellipsoid, - &area); + ret = gaiaGeodesicArea (geo, a, b, use_ellipsoid, &area); else ret = 0; #else ret = 0; -#endif /* end RTTOPO conditional */ +#endif /* end LWGEOM conditional */ } else { void *data = sqlite3_user_data (context); if (data != NULL) @@ -21118,29 +18443,19 @@ double x; double y; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (gaiaIsEmpty (geo)) @@ -21157,12 +18472,11 @@ else { result = gaiaAllocGeomColl (); result->Srid = geo->Srid; gaiaAddPointToGeomColl (result, x, y); - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, - gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); gaiaFreeGeomColl (result); sqlite3_result_blob (context, p_result, len, free); } } } @@ -21184,29 +18498,19 @@ double x; double y; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21217,32 +18521,14 @@ posret = gaiaGetPointOnSurface (geo, &x, &y); if (!posret) sqlite3_result_null (context); else { - if (geo->DimensionModel == GAIA_XY_Z) - { - result = gaiaAllocGeomCollXYZ (); - gaiaAddPointToGeomCollXYZ (result, x, y, 0.0); - } - else if (geo->DimensionModel == GAIA_XY_M) - { - result = gaiaAllocGeomCollXYM (); - gaiaAddPointToGeomCollXYM (result, x, y, 0.0); - } - else if (geo->DimensionModel == GAIA_XY_Z_M) - { - result = gaiaAllocGeomCollXYZM (); - gaiaAddPointToGeomCollXYZM (result, x, y, 0.0, 0.0); - } - else - { - result = gaiaAllocGeomColl (); - gaiaAddPointToGeomColl (result, x, y); - } + result = gaiaAllocGeomColl (); + gaiaAddPointToGeomColl (result, x, y); result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); gaiaFreeGeomColl (result); sqlite3_result_blob (context, p_result, len, free); } } gaiaFreeGeomColl (geo); @@ -21261,19 +18547,11 @@ int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; int int_value; double tolerance; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -21289,13 +18567,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21308,11 +18584,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -21332,19 +18608,11 @@ int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; int int_value; double tolerance; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -21360,13 +18628,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21380,11 +18646,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -21403,29 +18669,19 @@ int n_bytes; int len; unsigned char *p_result = NULL; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21435,11 +18691,11 @@ result = gaiaConvexHull (geo); if (!result) sqlite3_result_null (context); else { - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -21460,19 +18716,11 @@ gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; double radius; int int_value; int quadrantsegments = 30; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -21499,13 +18747,11 @@ if (quadrantsegments <= 0) quadrantsegments = 1; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21520,11 +18766,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -21542,39 +18788,27 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21592,11 +18826,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo1); @@ -21651,29 +18885,19 @@ struct gaia_geom_chain_item *item; unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geom; struct gaia_geom_chain **p; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geom) return; p = sqlite3_aggregate_context (context, sizeof (struct gaia_geom_chain **)); if (!(*p)) { @@ -21730,14 +18954,10 @@ struct gaia_geom_chain_item *item; gaiaGeomCollPtr aggregate = NULL; gaiaGeomCollPtr result; void *data = sqlite3_user_data (context); struct gaia_geom_chain **p = sqlite3_aggregate_context (context, 0); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (!p) { sqlite3_result_null (context); return; } @@ -21758,10 +18978,11 @@ } if (data != NULL) tmp = gaiaMergeGeometries_r (data, aggregate, geom); else tmp = gaiaMergeGeometries (aggregate, geom); + gaiaFreeGeomColl (aggregate); gaiaFreeGeomColl (geom); item->geom = NULL; aggregate = tmp; item = item->next; } @@ -21779,11 +19000,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); } gaiaFreeGeomColl (result); } @@ -21799,39 +19020,27 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21849,11 +19058,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo1); @@ -21872,39 +19081,27 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21922,11 +19119,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo1); @@ -21945,39 +19142,27 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -21995,11 +19180,11 @@ else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo1); @@ -22020,39 +19205,27 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - sqlite3_result_int (context, -1); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_int (context, -1); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_int (context, -1); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -22082,19 +19255,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -22103,16 +19268,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -22144,19 +19307,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -22165,16 +19320,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -22206,19 +19359,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -22227,16 +19372,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -22268,19 +19411,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -22289,16 +19424,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -22330,19 +19463,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -22351,16 +19476,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -22392,19 +19515,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -22413,16 +19528,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -22454,19 +19567,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -22475,16 +19580,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -22508,160 +19611,53 @@ / / returns: / 1 if GEOM-1 and GEOM-2 have a spatial relationship as specified by the patternMatrix / 0 otherwise / or -1 if any error is encountered -/ -/ or alternatively: -/ -/ Relate(BLOBencoded geom1, BLOBencoded geom2) -/ Relate(BLOBencoded geom1, BLOBencoded geom2, int bnr) -/ -/ returns: -/ an intersection matrix [DE-9IM] -/ NULL if any error is encountered -*/ - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr geo1 = NULL; - gaiaGeomCollPtr geo2 = NULL; - int ret; - const char *pattern = NULL; - int bnr = 1; - char *matrix; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - if (argc < 3) - sqlite3_result_null (context); - else - { - if (sqlite3_value_type (argv[2]) != SQLITE_TEXT) - sqlite3_result_null (context); - else - sqlite3_result_int (context, -1); - } - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - if (argc < 3) - sqlite3_result_null (context); - else - { - if (sqlite3_value_type (argv[2]) != SQLITE_TEXT) - sqlite3_result_null (context); - else - sqlite3_result_int (context, -1); - } - return; - } - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - pattern = (const char *) sqlite3_value_text (argv[2]); - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - bnr = sqlite3_value_int (argv[2]); - else - { - sqlite3_result_null (context); - return; - } - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); +*/ + unsigned char *p_blob; + int n_bytes; + gaiaGeomCollPtr geo1 = NULL; + gaiaGeomCollPtr geo2 = NULL; + int ret; + const unsigned char *pattern; + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_int (context, -1); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_int (context, -1); + return; + } + if (sqlite3_value_type (argv[2]) != SQLITE_TEXT) + { + sqlite3_result_int (context, -1); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + pattern = sqlite3_value_text (argv[2]); if (!geo1 || !geo2) - { - if (pattern == NULL) - sqlite3_result_null (context); - else - sqlite3_result_int (context, -1); - } - else - { - void *data = sqlite3_user_data (context); - if (pattern != NULL) - { - /* evaluating the given intersection matrix pattern */ - if (data != NULL) - ret = gaiaGeomCollRelate_r (data, geo1, geo2, pattern); - else - ret = gaiaGeomCollRelate (geo1, geo2, pattern); - sqlite3_result_int (context, ret); - } - else - { - /* returning an intersection matrix */ - if (data != NULL) - matrix = - gaiaGeomCollRelateBoundaryNodeRule_r (data, geo1, geo2, - bnr); - else - matrix = - gaiaGeomCollRelateBoundaryNodeRule (geo1, geo2, bnr); - if (matrix == NULL) - sqlite3_result_null (context); - else - sqlite3_result_text (context, matrix, strlen (matrix), - free); - } - gaiaFreeGeomColl (geo1); - gaiaFreeGeomColl (geo2); - } -} - -static void -fnct_RelateMatch (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ ST_RelateMatch(string matrix, string pattern) -/ -/ returns: -/ 1 if the intersection matrix satisfies the intersection pattern -/ 0 otherwise -/ or -1 if any error is encountered -*/ - int ret; - const char *matrix; - const char *pattern; - void *data = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - else - matrix = (char *) sqlite3_value_text (argv[0]); - if (sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - else - pattern = (char *) sqlite3_value_text (argv[1]); - if (data != NULL) - ret = gaiaIntersectionMatrixPatternMatch_r (data, matrix, pattern); - else - ret = gaiaIntersectionMatrixPatternMatch (matrix, pattern); - sqlite3_result_int (context, ret); + sqlite3_result_int (context, -1); + else + { + void *data = sqlite3_user_data (context); + if (data != NULL) + ret = gaiaGeomCollRelate_r (data, geo1, geo2, (char *) pattern); + else + ret = gaiaGeomCollRelate (geo1, geo2, (char *) pattern); + sqlite3_result_int (context, ret); + } + gaiaFreeGeomColl (geo1); + gaiaFreeGeomColl (geo2); } static void fnct_Distance (sqlite3_context * context, int argc, sqlite3_value ** argv) { @@ -22681,19 +19677,11 @@ double b; double rf; int ret; sqlite3 *sqlite = sqlite3_context_db_handle (context); void *data = sqlite3_user_data (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -22713,36 +19701,20 @@ if (use_ellipsoid != 0) use_ellipsoid = 1; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { if (use_ellipsoid >= 0) { - /* checking first if an intersection exists */ - if (data != NULL) - ret = gaiaGeomCollIntersects_r (data, geo1, geo2); - else - ret = gaiaGeomCollIntersects (geo1, geo2); - if (ret) - { - /* if an intersection exists the distance is always ZERO */ - sqlite3_result_double (context, 0.0); - goto stop; - } - /* attempting to identify the corresponding ellipsoid */ if (getEllipsoidParams (sqlite, geo1->Srid, &a, &b, &rf)) { gaiaGeomCollPtr shortest; if (data != NULL) @@ -22901,19 +19873,11 @@ double a; double b; double rf; int ret; void *data = sqlite3_user_data (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -22939,18 +19903,14 @@ return; } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) { int dst = sqlite3_value_int (argv[2]); ref_dist = dst; } @@ -23097,14 +20057,10 @@ int len; unsigned char *p_result = NULL; gaiaPolygonPtr pg; int pgs = 0; void *data = sqlite3_user_data (context); - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (!geom_org) goto invalid; if (data != NULL) geom_new = gaiaPolygonize_r (data, geom_org, force_multipolygon); else @@ -23123,11 +20079,11 @@ /* invalid: a POLYGON is expected !!! */ gaiaFreeGeomColl (geom_new); sqlite3_result_null (context); return; } - gaiaToSpatiaLiteBlobWkbEx (geom_new, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom_new, &p_result, &len); gaiaFreeGeomColl (geom_new); sqlite3_result_blob (context, p_result, len, free); return; invalid: if (geom_org) @@ -23468,10 +20424,1264 @@ } geo->Srid = sqlite3_value_int (argv[1]); fnct_aux_polygonize (context, geo, 1, 1); return; } + +static int +check_topo_table (sqlite3 * sqlite, const char *table, int is_view) +{ +/* checking if some Topology-related table/view already exists */ + int exists = 0; + char *sql_statement; + char *errMsg = NULL; + int ret; + char **results; + int rows; + int columns; + int i; + sql_statement = + sqlite3_mprintf ("SELECT name FROM sqlite_master WHERE type = '%s'" + "AND Upper(name) = Upper(%Q)", + (!is_view) ? "table" : "view", table); + ret = sqlite3_get_table (sqlite, sql_statement, &results, &rows, &columns, + &errMsg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + sqlite3_free (errMsg); + return 0; + } + for (i = 1; i <= rows; i++) + exists = 1; + sqlite3_free_table (results); + return exists; +} + +static int +create_topo_nodes (sqlite3 * sqlite, const char *table, int srid, int dims) +{ +/* creating the topo_nodes table */ + char *sql_statement; + char *sqltable; + char *idx_name; + char *xidx_name; + int ret; + char *err_msg = NULL; + sqltable = gaiaDoubleQuotedSql (table); + sql_statement = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" + "node_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" + "node_code TEXT)", sqltable); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE TABLE '%s' error: %s\n", table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sql_statement = + sqlite3_mprintf + ("SELECT AddGeometryColumn(%Q, 'Geometry', %d, 'POINT', '%s', 1)", + table, srid, (dims == GAIA_XY_Z) ? "XYZ" : "XY"); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("AddGeometryColumn '%s'.'Geometry' error: %s\n", + table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sql_statement = + sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'Geometry')", table); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CreateSpatialIndex '%s'.'Geometry' error: %s\n", + table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sqltable = gaiaDoubleQuotedSql (table); + idx_name = sqlite3_mprintf ("idx_%s_code", table); + xidx_name = gaiaDoubleQuotedSql (idx_name); + sqlite3_free (idx_name); + sql_statement = + sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (node_code)", + xidx_name, sqltable); + free (sqltable); + free (xidx_name); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("Create Index '%s'('node_code') error: %s\n", + sqltable, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_topo_edges (sqlite3 * sqlite, const char *table, int srid, int dims) +{ +/* creating the topo_edges table */ + char *sql_statement; + char *sqltable; + char *idx_name; + char *xidx_name; + int ret; + char *err_msg = NULL; + sqltable = gaiaDoubleQuotedSql (table); + sql_statement = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" + "edge_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" + "node_from_code TEXT,\n" + "node_to_code TEXT,\n" + "edge_code TEXT)", sqltable); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE TABLE '%s' error: %s\n", table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sql_statement = + sqlite3_mprintf + ("SELECT AddGeometryColumn(%Q, 'Geometry', %d, 'LINESTRING', '%s', 1)", + table, srid, (dims == GAIA_XY_Z) ? "XYZ" : "XY"); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("AddGeometryColumn '%s'.'Geometry' error: %s\n", + table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sql_statement = + sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'Geometry')", table); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CreateSpatialIndex '%s'.'Geometry' error: %s\n", + table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sqltable = gaiaDoubleQuotedSql (table); + idx_name = sqlite3_mprintf ("idx_%s_code", table); + xidx_name = gaiaDoubleQuotedSql (idx_name); + sqlite3_free (idx_name); + sql_statement = + sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (edge_code)", + xidx_name, sqltable); + free (sqltable); + free (xidx_name); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("Create Index '%s'('edge_code') error: %s\n", + sqltable, err_msg); + sqlite3_free (err_msg); + return 0; + } + sqltable = gaiaDoubleQuotedSql (table); + idx_name = sqlite3_mprintf ("idx_%s_from", table); + xidx_name = gaiaDoubleQuotedSql (idx_name); + sqlite3_free (idx_name); + sql_statement = + sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (node_from_code)", + xidx_name, sqltable); + free (sqltable); + free (xidx_name); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("Create Index '%s'('node_from_code') error: %s\n", + sqltable, err_msg); + sqlite3_free (err_msg); + return 0; + } + sqltable = gaiaDoubleQuotedSql (table); + idx_name = sqlite3_mprintf ("idx_%s_to", table); + xidx_name = gaiaDoubleQuotedSql (idx_name); + sqlite3_free (idx_name); + sql_statement = + sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (node_to_code)", + xidx_name, sqltable); + free (sqltable); + free (xidx_name); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("Create Index '%s'('node_to_code') error: %s\n", + sqltable, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_topo_faces (sqlite3 * sqlite, const char *table) +{ +/* creating the topo_faces table */ + char *sql_statement; + char *sqltable; + char *idx_name; + char *xidx_name; + int ret; + char *err_msg = NULL; + sqltable = gaiaDoubleQuotedSql (table); + sql_statement = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" + "face_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" + "face_code TEXT)", sqltable); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE TABLE '%s' error: %s\n", table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sqltable = gaiaDoubleQuotedSql (table); + idx_name = sqlite3_mprintf ("idx_%s_code", table); + xidx_name = gaiaDoubleQuotedSql (idx_name); + sqlite3_free (idx_name); + sql_statement = + sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (face_code)", + xidx_name, sqltable); + free (sqltable); + free (xidx_name); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("Create Index '%s'('face_code') error: %s\n", + sqltable, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_topo_faces_edges (sqlite3 * sqlite, const char *table, + const char *table2) +{ +/* creating the topo_faces_edges table */ + char *sql_statement; + char *sqltable; + char *sqltable2; + char *idx_name; + char *xidx_name; + int ret; + char *err_msg = NULL; + sqltable = gaiaDoubleQuotedSql (table); + sqltable2 = gaiaDoubleQuotedSql (table2); + sql_statement = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" + "face_id INTEGER NOT NULL,\n" + "edge_code TEXT NOT NULL,\n" + "orientation TEXT,\n" + "CONSTRAINT pk_faces_edges PRIMARY KEY " + "(face_id, edge_code),\n" + "CONSTRAINT fk_faces_edges FOREIGN KEY " + "(face_id) REFERENCES \"%s\" (face_id))\n", + sqltable, sqltable2); + free (sqltable); + free (sqltable2); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE TABLE '%s' error: %s\n", table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sqltable = gaiaDoubleQuotedSql (table); + idx_name = sqlite3_mprintf ("idx_%s_edge", table); + xidx_name = gaiaDoubleQuotedSql (idx_name); + sqlite3_free (idx_name); + sql_statement = + sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (edge_code)", + xidx_name, sqltable); + free (sqltable); + free (xidx_name); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("Create Index '%s'('edge_code') error: %s\n", + sqltable, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_topo_curves (sqlite3 * sqlite, const char *table) +{ +/* creating the topo_curves table */ + char *sql_statement; + char *sqltable; + char *idx_name; + char *xidx_name; + int ret; + char *err_msg = NULL; + sqltable = gaiaDoubleQuotedSql (table); + sql_statement = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" + "curve_id INTEGER NOT NULL,\n" + "edge_code TEXT NOT NULL,\n" + "orientation TEXT,\n" + "CONSTRAINT pk_curves PRIMARY KEY " + "(curve_id, edge_code))\n", sqltable); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE TABLE '%s' error: %s\n", table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sqltable = gaiaDoubleQuotedSql (table); + idx_name = sqlite3_mprintf ("idx_%s_edge", table); + xidx_name = gaiaDoubleQuotedSql (idx_name); + sqlite3_free (idx_name); + sql_statement = + sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (edge_code)", + xidx_name, sqltable); + free (sqltable); + free (xidx_name); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("Create Index '%s'('edge_code') error: %s\n", + sqltable, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_topo_surfaces (sqlite3 * sqlite, const char *table) +{ +/* creating the topo_surfaces table */ + char *sql_statement; + char *sqltable; + char *idx_name; + char *xidx_name; + int ret; + char *err_msg = NULL; + sqltable = gaiaDoubleQuotedSql (table); + sql_statement = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" + "surface_id INTEGER NOT NULL,\n" + "face_code TEXT NOT NULL,\n" + "orientation TEXT,\n" + "CONSTRAINT pk_surfaces PRIMARY KEY " + "(surface_id, face_code))", sqltable); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE TABLE '%s' error: %s\n", table, err_msg); + sqlite3_free (err_msg); + return 0; + } + sqltable = gaiaDoubleQuotedSql (table); + idx_name = sqlite3_mprintf ("idx_%s_face", table); + xidx_name = gaiaDoubleQuotedSql (idx_name); + sqlite3_free (idx_name); + sql_statement = + sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (face_code)", + xidx_name, sqltable); + free (sqltable); + free (xidx_name); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("Create Index '%s'('face_code') error: %s\n", + sqltable, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_check_node_codes (sqlite3 * sqlite, const char *view, + const char *table_nodes) +{ +/* creating the check node codes VIEW */ + char *sql_statement; + char *sqltable; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sqltable = gaiaDoubleQuotedSql (table_nodes); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT node_code AS node_code, Count(node_id) AS count\n" + "FROM \"%s\"\nGROUP BY node_code\nHAVING count > 1\n", + sqlview, sqltable); + free (sqlview); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_check_node_geoms (sqlite3 * sqlite, const char *view, + const char *table_nodes) +{ +/* creating the check node geoms VIEW */ + char *sql_statement; + char *sqltable; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sqltable = gaiaDoubleQuotedSql (table_nodes); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT n1.node_id AS node1_id, n1.node_code AS node1_code, " + "n2.node_id AS node2_id, n2.node_code AS node2_code\n" + "FROM \"%s\" AS n1\nJOIN \"%s\" AS n2 ON (\n" + " n1.node_id <> n2.node_id AND\n" + " ST_Equals(n1.Geometry, n2.Geometry) = 1 AND\n" + " n2.node_id IN (\n SELECT ROWID FROM SpatialIndex\n" + " WHERE f_table_name = %Q AND\n search_frame = n1.Geometry))\n", + sqlview, sqltable, sqltable, table_nodes); + free (sqlview); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_check_edge_codes (sqlite3 * sqlite, const char *view, + const char *table_edges) +{ +/* creating the check edge codes VIEW */ + char *sql_statement; + char *sqltable; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sqltable = gaiaDoubleQuotedSql (table_edges); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT edge_code AS edge_code, Count(edge_id) AS count\n" + "FROM \"%s\"\nGROUP BY edge_code\nHAVING count > 1\n", + sqlview, sqltable); + free (sqlview); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_check_edge_geoms (sqlite3 * sqlite, const char *view, + const char *table_edges) +{ +/* creating the check edge geoms VIEW */ + char *sql_statement; + char *sqltable; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sqltable = gaiaDoubleQuotedSql (table_edges); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT e1.edge_id AS edge1_id, e1.edge_code AS edge1_code, " + "e2.edge_id AS edge2_id, e2.edge_code AS edge2_code\n" + "FROM \"%s\" AS e1\nJOIN \"%s\" AS e2 ON (\n e1.edge_id <> e2.edge_id AND\n" + "NOT (e1.node_from_code = e2.node_from_code " + "AND e1.node_to_code = e2.node_to_code) AND\n" + " ST_Crosses(e1.Geometry, e2.Geometry) = 1 AND\n" + " e2.edge_id IN (\n" + " SELECT ROWID FROM SpatialIndex\n" + " WHERE f_table_name = %Q AND\n search_frame = e1.Geometry))\n", + sqlview, sqltable, sqltable, table_edges); + free (sqlview); + free (sqltable); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_check_edge_node_geoms (sqlite3 * sqlite, const char *view, + const char *table_edges, const char *table_nodes) +{ +/* creating the check edge/node geoms VIEW */ + char *sql_statement; + char *sql_edges; + char *sql_nodes; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sql_edges = gaiaDoubleQuotedSql (table_edges); + sql_nodes = gaiaDoubleQuotedSql (table_nodes); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT e.edge_id AS edge_id, n.node_id AS node_id\n" + "FROM \"%s\" AS e,\n\"%s\" AS n\n" + "WHERE ST_Intersects(e.Geometry, n.Geometry)\n" + " AND ST_Equals(ST_StartPoint(e.Geometry), n.Geometry) = 0\n" + " AND ST_Equals(ST_EndPoint(e.Geometry), n.Geometry) = 0\n" + " AND n.ROWID IN (\n SELECT ROWID FROM SpatialIndex\n" + " WHERE f_table_name = %Q\n AND search_frame = e.Geometry);", + sqlview, sql_edges, sql_nodes, + table_nodes); + free (sqlview); + free (sql_nodes); + free (sql_edges); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_check_face_codes (sqlite3 * sqlite, const char *view, + const char *table_faces) +{ +/* creating the check face codes VIEW */ + char *sql_statement; + char *sqltable; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sqltable = gaiaDoubleQuotedSql (table_faces); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT face_code AS face_code, Count(face_id) AS count\n" + "FROM \"%s\"\nGROUP BY face_code\nHAVING count > 1\n", + sqlview, sqltable); + free (sqltable); + free (sqlview); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_faces_resolved (sqlite3 * sqlite, const char *view, const char *faces, + const char *faces_edges, const char *edges) +{ +/* creating the Faces Resolved VIEW */ + char *sql_statement; + char *sql_faces; + char *sql_faces_edges; + char *sql_edges; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sql_faces = gaiaDoubleQuotedSql (faces); + sql_faces_edges = gaiaDoubleQuotedSql (faces_edges); + sql_edges = gaiaDoubleQuotedSql (edges); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT f.face_id AS face_id, f.face_code AS face_code, " + "ST_Polygonize(e.Geometry) AS Geometry\n" + "FROM \"%s\" AS f\nLEFT JOIN \"%s\" AS fe ON (fe.face_id = f.face_id)\n" + "LEFT JOIN \"%s\" AS e ON (e.edge_code = fe.edge_code)\n" + "GROUP BY f.face_id\n", sqlview, + sql_faces, sql_faces_edges, sql_edges); + free (sqlview); + free (sql_faces); + free (sql_faces_edges); + free (sql_edges); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_curves_resolved (sqlite3 * sqlite, const char *view, + const char *curves, char *edges) +{ +/* creating the Curves Resolved VIEW */ + char *sql_statement; + char *sql_curves; + char *sql_edges; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sql_curves = gaiaDoubleQuotedSql (curves); + sql_edges = gaiaDoubleQuotedSql (edges); + sql_statement = + sqlite3_mprintf + ("CREATE VIEW \"%s\" AS\nSELECT c.curve_id AS curve_id, " + "CastToMultiLinestring(ST_Collect(e.Geometry)) AS Geometry\n" + "FROM \"%s\" AS c\nLEFT JOIN \"%s\" AS e ON (e.edge_code = c.edge_code)\n" + "GROUP BY c.curve_id\n", sqlview, sql_curves, sql_edges); + free (sqlview); + free (sql_edges); + free (sql_curves); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_surfaces_resolved (sqlite3 * sqlite, const char *view, + const char *surfaces, const char *faces) +{ +/* creating the Surfaces Resolved VIEW */ + char *sql_statement; + char *sql_surfaces; + char *sql_faces; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sql_surfaces = gaiaDoubleQuotedSql (surfaces); + sql_faces = gaiaDoubleQuotedSql (faces); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT s.surface_id AS surface_id,\n" + " CastToMultipolygon(ST_UnaryUnion(ST_Collect(f.Geometry))) AS Geometry\n" + "FROM \"%s\" AS s\n" + "LEFT JOIN \"%s\" AS f ON (f.face_code = s.face_code)\n" + "GROUP BY s.surface_id\n", sqlview, + sql_surfaces, sql_faces); + free (sqlview); + free (sql_surfaces); + free (sql_faces); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_dangling_nodes (sqlite3 * sqlite, const char *view, + const char *nodes, const char *edges) +{ +/* creating the Dangling Nodes VIEW */ + char *sql_statement; + char *sql_nodes; + char *sql_edges; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sql_nodes = gaiaDoubleQuotedSql (nodes); + sql_edges = gaiaDoubleQuotedSql (edges); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT n.node_id AS node_id\nFROM \"%s\" AS n\n" + "LEFT JOIN \"%s\" AS e ON (n.node_code = e.node_from_code)\n" + "WHERE e.edge_id IS NULL\nINTERSECT\nSELECT n.node_id AS node_id\n" + "FROM \"%s\" AS n\nLEFT JOIN \"%s\" AS e ON (n.node_code = e.node_to_code)\n" + "WHERE e.edge_id IS NULL\n", sqlview, + sql_nodes, sql_edges, sql_nodes, + sql_edges); + free (sqlview); + free (sql_nodes); + free (sql_edges); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_dangling_edges (sqlite3 * sqlite, const char *view, + const char *edges, const char *faces_edges, + const char *curves) +{ +/* creating the Dangling Edges VIEW */ + char *sql_statement; + char *sql_edges; + char *sql_faces_edges; + char *sql_curves; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sql_edges = gaiaDoubleQuotedSql (edges); + sql_faces_edges = gaiaDoubleQuotedSql (faces_edges); + sql_curves = gaiaDoubleQuotedSql (curves); + sql_statement = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" + "SELECT e.edge_id AS edge_id\nFROM \"%s\" AS e\n" + "LEFT JOIN \"%s\" AS f ON (e.edge_code = f.edge_code)\n" + "WHERE f.edge_code IS NULL\nINTERSECT\nSELECT e.edge_id AS edge_id\n" + "FROM \"%s\" AS e\nLEFT JOIN \"%s\" AS c ON (e.edge_code = c.edge_code)\n" + "WHERE c.edge_code IS NULL\n", sqlview, + sql_edges, sql_faces_edges, sql_edges, + sql_curves); + free (sqlview); + free (sql_edges); + free (sql_faces_edges); + free (sql_curves); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_check_edges_from_to (sqlite3 * sqlite, const char *view, + const char *edges, const char *nodes) +{ +/* creating the Edges/Nodes [from/to] VIEW */ + char skeleton[2048]; + char *sql_statement; + char *sql_edges; + char *sql_nodes; + char *sqlview; + int ret; + char *err_msg = NULL; + sqlview = gaiaDoubleQuotedSql (view); + sql_edges = gaiaDoubleQuotedSql (edges); + sql_nodes = gaiaDoubleQuotedSql (nodes); + strcpy (skeleton, "CREATE VIEW \"%s\" AS\n"); + strcat (skeleton, "SELECT e.edge_id AS edge_id, n.node_id AS node_id,\n"); + strcat (skeleton, " n.node_code AS node_code,\n"); + strcat (skeleton, "'Mismatching coords' AS error_cause\n"); + strcat (skeleton, "FROM \"%s\" AS e\n"); + strcat (skeleton, "JOIN \"%s\" AS n ON "); + strcat (skeleton, "(e.node_from_code = n.node_code)\n"); + strcat (skeleton, + "WHERE ST_Equals(ST_StartPoint(e.Geometry), n.Geometry) = 0\n"); + strcat (skeleton, "UNION\n"); + strcat (skeleton, "SELECT e.edge_id AS edge_id, n.node_id AS node_id,\n"); + strcat (skeleton, " n.node_code AS node_code,\n"); + strcat (skeleton, " 'Mismatching coords' AS error_cause\n"); + strcat (skeleton, "FROM \"%s\" AS e\n"); + strcat (skeleton, "JOIN \"%s\" AS n ON "); + strcat (skeleton, "(e.node_to_code = n.node_code)\n"); + strcat (skeleton, + "WHERE ST_Equals(ST_EndPoint(e.Geometry), n.Geometry) = 0\n"); + strcat (skeleton, "UNION\n"); + strcat (skeleton, "SELECT e.edge_id AS edge_id, n.node_id AS node_id,\n"); + strcat (skeleton, " n.node_code AS node_code,\n"); + strcat (skeleton, " 'Unresolved Node reference' AS error_cause\n"); + strcat (skeleton, "FROM \"%s\" AS e\n"); + strcat (skeleton, "LEFT JOIN \"%s\" AS n ON "); + strcat (skeleton, "(e.node_from_code = n.node_code)\n"); + strcat (skeleton, "WHERE n.node_id IS NULL\n"); + strcat (skeleton, "UNION\n"); + strcat (skeleton, "SELECT e.edge_id AS edge_id, n.node_id AS node_id,\n"); + strcat (skeleton, " n.node_code AS node_code,\n"); + strcat (skeleton, " 'Unresolved Node reference' AS error_cause\n"); + strcat (skeleton, "FROM \"%s\" AS e\n"); + strcat (skeleton, "LEFT JOIN \"%s\" AS n ON "); + strcat (skeleton, "(e.node_to_code = n.node_code)\n"); + strcat (skeleton, "WHERE n.node_id IS NULL\n"); + sql_statement = sqlite3_mprintf (skeleton, sqlview, + sql_edges, sql_nodes, sql_edges, + sql_nodes, sql_edges, sql_nodes, + sql_edges, sql_nodes); + free (sqlview); + free (sql_edges); + free (sql_nodes); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE VIEW '%s' error: %s\n", view, err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +create_topo_master (sqlite3 * sqlite) +{ +/* creating the topo_master table */ + char sql[2048]; + int ret; + char *err_msg = NULL; + +/* creating the table */ + strcpy (sql, "CREATE TABLE topology_master (\n"); + strcat (sql, "nodes TEXT NOT NULL,\n"); + strcat (sql, "edges TEXT NOT NULL,\n"); + strcat (sql, "faces TEXT NOT NULL,\n"); + strcat (sql, "faces_edges TEXT NOT NULL,\n"); + strcat (sql, "curves TEXT NOT NULL,\n"); + strcat (sql, "surfaces TEXT NOT NULL,\n"); + strcat (sql, "check_node_ids TEXT NOT NULL,\n"); + strcat (sql, "check_node_geoms TEXT NOT NULL,\n"); + strcat (sql, "check_edge_ids TEXT NOT NULL,\n"); + strcat (sql, "check_edge_geoms TEXT NOT NULL,\n"); + strcat (sql, "check_edge_node_geoms TEXT NOT NULL,\n"); + strcat (sql, "check_face_ids TEXT NOT NULL,\n"); + strcat (sql, "faces_resolved TEXT NOT NULL,\n"); + strcat (sql, "curves_resolved TEXT NOT NULL,\n"); + strcat (sql, "surfaces_resolved TEXT NOT NULL,\n"); + strcat (sql, "dangling_nodes TEXT NOT NULL,\n"); + strcat (sql, "dangling_edges TEXT NOT NULL,\n"); + strcat (sql, "check_edges_from_to TEXT NOT NULL,\n"); + strcat (sql, "coord_dimension TEXT NOT NULL,\n"); + strcat (sql, "srid INTEGER NOT NULL,\n"); + strcat (sql, "CONSTRAINT fk_topo_master FOREIGN KEY \n"); + strcat (sql, "(srid) REFERENCES spatial_ref_sys (srid))"); + ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); + if (ret != SQLITE_OK) + { + spatialite_e ("CREATE TABLE 'topology_master' error: %s\n", err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static int +update_topo_master (sqlite3 * sqlite, const char *nodes, const char *edges, + const char *faces, const char *faces_edges, + const char *curves, const char *surfaces, + const char *check_nodes, const char *check_node_geoms, + const char *check_edges, const char *check_edge_geoms, + const char *check_edge_node_geoms, + const char *check_faces, const char *faces_res, + const char *curves_res, const char *surfaces_res, + const char *dangling_nodes, const char *dangling_edges, + const char *check_edges_from_to, int srid, int dims) +{ +/* updating the topo_master table */ + char *sql_statement; + int ret; + char *err_msg = NULL; + +/* inserting Topology data into MASTER */ + sql_statement = sqlite3_mprintf ("INSERT INTO topology_master " + "(nodes, edges, faces, faces_edges, curves, surfaces, check_node_ids, " + "check_node_geoms, check_edge_ids, check_edge_geoms, check_edge_node_geoms, " + "check_face_ids, faces_resolved, curves_resolved, surfaces_resolved, " + "dangling_nodes, dangling_edges, check_edges_from_to, coord_dimension, srid) " + "VALUES (%Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %Q, %d)", + nodes, edges, faces, faces_edges, curves, + surfaces, check_nodes, check_node_geoms, + check_edges, check_edge_geoms, + check_edge_node_geoms, check_faces, + faces_res, curves_res, surfaces_res, + dangling_nodes, dangling_edges, + check_edges_from_to, + (dims == GAIA_XY_Z) ? "XYZ" : "XY", srid); + ret = sqlite3_exec (sqlite, sql_statement, NULL, NULL, &err_msg); + sqlite3_free (sql_statement); + if (ret != SQLITE_OK) + { + spatialite_e ("INSERT INTO 'topology_master' error: %s\n", err_msg); + sqlite3_free (err_msg); + return 0; + } + return 1; +} + +static void +fnct_CreateTopologyTables (sqlite3_context * context, int argc, + sqlite3_value ** argv) +{ +/* SQL function: +/ CreateTopologyTables(srid, coord_dims) +/ or +/ CreateTopologyTables(prefix, srid, coord_dims) +/ +/ creates any Topology related table +/ returns 1 on success +/ 0 on failure +*/ + const char *prefix = "topo_"; + const unsigned char *txt_dims; + int srid = -1; + int dimension; + int dims = -1; + char *table_curves; + char *table_surfaces; + char *table_nodes; + char *table_edges; + char *table_faces; + char *table_faces_edges; + char *view_check_node_codes; + char *view_check_node_geoms; + char *view_check_edge_codes; + char *view_check_edge_geoms; + char *view_check_edge_node_geoms; + char *view_check_face_codes; + char *view_faces_resolved; + char *view_curves_resolved; + char *view_surfaces_resolved; + char *view_dangling_nodes; + char *view_dangling_edges; + char *view_edges_check_from_to; + const char *tables[20]; + int views[20]; + int *p_view; + const char **p_tbl; + int ok_table; + int create_master = 1; + sqlite3 *sqlite = sqlite3_context_db_handle (context); + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (argc == 3) + { + if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) + { + spatialite_e + ("CreateTopologyTables() error: argument 1 [table_prefix] is not of the String type\n"); + sqlite3_result_int (context, 0); + return; + } + prefix = (char *) sqlite3_value_text (argv[0]); + if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER) + { + spatialite_e + ("CreateTopologyTables() error: argument 2 [SRID] is not of the Integer type\n"); + sqlite3_result_int (context, 0); + return; + } + srid = sqlite3_value_int (argv[1]); + if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) + { + dimension = sqlite3_value_int (argv[2]); + if (dimension == 2) + dims = GAIA_XY; + if (dimension == 3) + dims = GAIA_XY_Z; + } + else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) + { + txt_dims = sqlite3_value_text (argv[2]); + if (strcasecmp ((char *) txt_dims, "XY") == 0) + dims = GAIA_XY; + if (strcasecmp ((char *) txt_dims, "XYZ") == 0) + dims = GAIA_XY_Z; + } + else + { + spatialite_e + ("CreateTopologyTables() error: argument 3 [dimension] is not of the Integer or Text type\n"); + sqlite3_result_int (context, 0); + return; + } + } + else + { + if (sqlite3_value_type (argv[0]) != SQLITE_INTEGER) + { + spatialite_e + ("CreateTopologyTables() error: argument 1 [SRID] is not of the Integer type\n"); + sqlite3_result_int (context, 0); + return; + } + srid = sqlite3_value_int (argv[0]); + if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) + { + dimension = sqlite3_value_int (argv[1]); + if (dimension == 2) + dims = GAIA_XY; + if (dimension == 3) + dims = GAIA_XY_Z; + } + else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) + { + txt_dims = sqlite3_value_text (argv[1]); + if (strcasecmp ((char *) txt_dims, "XY") == 0) + dims = GAIA_XY; + if (strcasecmp ((char *) txt_dims, "XYZ") == 0) + dims = GAIA_XY_Z; + } + else + { + spatialite_e + ("CreateTopologyTables() error: argument 2 [dimension] is not of the Integer or Text type\n"); + sqlite3_result_int (context, 0); + return; + } + } + if (dims == GAIA_XY || dims == GAIA_XY_Z) + ; + else + { + spatialite_e + ("CreateTopologyTables() error: [dimension] ILLEGAL VALUE\n"); + sqlite3_result_int (context, 0); + return; + } + if (srid <= 0) + { + spatialite_e ("CreateTopologyTables() error: [SRID] ILLEGAL VALUE\n"); + sqlite3_result_int (context, 0); + return; + } + +/* checking Topology tables */ + tables[0] = "topology_master"; + views[0] = 0; + table_curves = sqlite3_mprintf ("%scurves", prefix); + tables[1] = table_curves; + views[1] = 0; + table_surfaces = sqlite3_mprintf ("%ssurfaces", prefix); + tables[2] = table_surfaces; + views[2] = 0; + table_nodes = sqlite3_mprintf ("%snodes", prefix); + tables[3] = table_nodes; + views[3] = 0; + table_edges = sqlite3_mprintf ("%sedges", prefix); + tables[4] = table_edges; + views[4] = 0; + table_faces = sqlite3_mprintf ("%sfaces", prefix); + tables[5] = table_faces; + views[5] = 0; + table_faces_edges = sqlite3_mprintf ("%sfaces_edges", prefix); + tables[6] = table_faces_edges; + views[6] = 0; + view_check_node_codes = + sqlite3_mprintf ("%snodes_check_dupl_codes", prefix); + tables[7] = view_check_node_codes; + views[7] = 1; + view_check_node_geoms = + sqlite3_mprintf ("%snodes_check_dupl_geoms", prefix); + tables[8] = view_check_node_geoms; + views[8] = 1; + view_check_edge_codes = + sqlite3_mprintf ("%sedges_check_dupl_codes", prefix); + tables[9] = view_check_edge_codes; + views[9] = 1; + view_check_edge_geoms = + sqlite3_mprintf ("%sedges_check_intersections", prefix); + tables[10] = view_check_edge_geoms; + views[10] = 1; + view_check_edge_node_geoms = + sqlite3_mprintf ("%sedges_check_nodes", prefix); + tables[11] = view_check_edge_node_geoms; + views[11] = 1; + view_check_face_codes = + sqlite3_mprintf ("%sfaces_check_dupl_codes", prefix); + tables[12] = view_check_face_codes; + views[12] = 1; + view_faces_resolved = sqlite3_mprintf ("%sfaces_resolved", prefix); + tables[13] = view_faces_resolved; + views[13] = 1; + view_curves_resolved = sqlite3_mprintf ("%scurves_resolved", prefix); + tables[14] = view_curves_resolved; + views[14] = 1; + view_surfaces_resolved = sqlite3_mprintf ("%ssurfaces_resolved", prefix); + tables[15] = view_surfaces_resolved; + views[15] = 1; + view_dangling_nodes = sqlite3_mprintf ("%sdangling_nodes", prefix); + tables[16] = view_dangling_nodes; + views[16] = 1; + view_dangling_edges = sqlite3_mprintf ("%sdangling_edges", prefix); + tables[17] = view_dangling_edges; + views[17] = 1; + view_edges_check_from_to = + sqlite3_mprintf ("%sedges_check_from_to", prefix); + tables[18] = view_edges_check_from_to; + views[18] = 1; + tables[19] = NULL; + p_view = views; + p_tbl = tables; + while (*p_tbl != NULL) + { + ok_table = check_topo_table (sqlite, *p_tbl, *p_view); + if (ok_table) + { + if (strcmp (*p_tbl, "topology_master") == 0) + create_master = 0; + else + { + spatialite_e + ("CreateTopologyTables() error: table '%s' already exists\n", + *p_tbl); + goto error; + } + } + p_tbl++; + p_view++; + } + +/* creating Topology tables */ + if (create_master) + { + if (!create_topo_master (sqlite)) + goto error; + } + if (!create_topo_nodes (sqlite, table_nodes, srid, dims)) + goto error; + if (!create_topo_edges (sqlite, table_edges, srid, dims)) + goto error; + if (!create_topo_faces (sqlite, table_faces)) + goto error; + if (!create_topo_faces_edges (sqlite, table_faces_edges, table_faces)) + goto error; + if (!create_topo_curves (sqlite, table_curves)) + goto error; + if (!create_topo_surfaces (sqlite, table_surfaces)) + goto error; + if (!create_check_node_codes (sqlite, view_check_node_codes, table_nodes)) + goto error; + if (!create_check_node_geoms (sqlite, view_check_node_geoms, table_nodes)) + goto error; + if (!create_check_edge_codes (sqlite, view_check_edge_codes, table_edges)) + goto error; + if (!create_check_edge_geoms (sqlite, view_check_edge_geoms, table_edges)) + goto error; + if (!create_check_edge_node_geoms + (sqlite, view_check_edge_node_geoms, table_edges, table_nodes)) + goto error; + if (!create_check_face_codes (sqlite, view_check_face_codes, table_faces)) + goto error; + if (!create_faces_resolved + (sqlite, view_faces_resolved, table_faces, table_faces_edges, + table_edges)) + goto error; + if (!create_curves_resolved + (sqlite, view_curves_resolved, table_curves, table_edges)) + goto error; + if (!create_surfaces_resolved + (sqlite, view_surfaces_resolved, table_surfaces, view_faces_resolved)) + goto error; + if (!create_dangling_nodes + (sqlite, view_dangling_nodes, table_nodes, table_edges)) + goto error; + if (!create_dangling_edges + (sqlite, view_dangling_edges, table_edges, table_faces_edges, + table_curves)) + goto error; + if (!create_check_edges_from_to + (sqlite, view_edges_check_from_to, table_edges, table_nodes)) + goto error; + if (!update_topo_master + (sqlite, table_nodes, table_edges, table_faces, table_faces_edges, + table_curves, table_surfaces, view_check_node_codes, + view_check_node_geoms, view_check_edge_codes, view_check_edge_geoms, + view_check_edge_node_geoms, view_check_face_codes, + view_faces_resolved, view_curves_resolved, view_surfaces_resolved, + view_dangling_nodes, view_dangling_edges, view_edges_check_from_to, + srid, dims)) + goto error; + updateSpatiaLiteHistory (sqlite, "*** TOPOLOGY ***", NULL, + "Topology tables successfully created"); + sqlite3_result_int (context, 1); + sqlite3_free (table_curves); + sqlite3_free (table_surfaces); + sqlite3_free (table_nodes); + sqlite3_free (table_edges); + sqlite3_free (table_faces); + sqlite3_free (table_faces_edges); + sqlite3_free (view_check_node_codes); + sqlite3_free (view_check_node_geoms); + sqlite3_free (view_check_edge_codes); + sqlite3_free (view_check_edge_geoms); + sqlite3_free (view_check_edge_node_geoms); + sqlite3_free (view_check_face_codes); + sqlite3_free (view_faces_resolved); + sqlite3_free (view_curves_resolved); + sqlite3_free (view_surfaces_resolved); + sqlite3_free (view_dangling_nodes); + sqlite3_free (view_dangling_edges); + sqlite3_free (view_edges_check_from_to); + return; + + error: + sqlite3_result_int (context, 0); + sqlite3_free (table_curves); + sqlite3_free (table_surfaces); + sqlite3_free (table_nodes); + sqlite3_free (table_edges); + sqlite3_free (table_faces); + sqlite3_free (table_faces_edges); + sqlite3_free (view_check_node_codes); + sqlite3_free (view_check_node_geoms); + sqlite3_free (view_check_edge_codes); + sqlite3_free (view_check_edge_geoms); + sqlite3_free (view_check_edge_node_geoms); + sqlite3_free (view_check_face_codes); + sqlite3_free (view_faces_resolved); + sqlite3_free (view_curves_resolved); + sqlite3_free (view_surfaces_resolved); + sqlite3_free (view_dangling_nodes); + sqlite3_free (view_dangling_edges); + sqlite3_free (view_edges_check_from_to); + return; +} static void fnct_OffsetCurve (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: @@ -23487,19 +21697,11 @@ int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; double radius; int int_value; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -23515,13 +21717,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -23535,11 +21735,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -23561,19 +21761,11 @@ gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; double radius; int int_value; int left_right; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -23596,13 +21788,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -23617,11 +21807,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -23640,39 +21830,27 @@ int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; double dist; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -23701,39 +21879,27 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); + n_bytes = sqlite3_value_bytes (argv[1]); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo1 == NULL || geo2 == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -23747,11 +21913,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo1->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo1); @@ -23774,19 +21940,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -23795,16 +21953,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -23836,19 +21992,11 @@ int bytes1; int bytes2; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_int (context, -1); return; } @@ -23857,16 +22005,14 @@ sqlite3_result_int (context, -1); return; } blob1 = (unsigned char *) sqlite3_value_blob (argv[0]); bytes1 = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (blob1, bytes1, gpkg_mode, gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (blob1, bytes1); blob2 = (unsigned char *) sqlite3_value_blob (argv[1]); bytes2 = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (blob2, bytes2, gpkg_mode, gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (blob2, bytes2); if (!geo1 || !geo2) sqlite3_result_int (context, -1); else { void *data = sqlite3_user_data (context); @@ -23897,19 +22043,11 @@ int n_bytes; int int_value; double fraction; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -23925,13 +22063,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -23945,11 +22081,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -23970,19 +22106,11 @@ int n_bytes; int int_value; double distance; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -23998,13 +22126,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24019,11 +22145,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -24046,19 +22172,11 @@ unsigned char *p_blob; int n_bytes; double fraction; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -24067,18 +22185,14 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo1 == NULL || geo2 == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24110,19 +22224,11 @@ int int_value; double fraction1; double fraction2; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -24150,13 +22256,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24170,11 +22274,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -24192,19 +22296,11 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -24213,18 +22309,14 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo1 == NULL || geo2 == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24277,11 +22369,11 @@ { gaiaGetPoint (ln->Coords, 0, &x, &y); gaiaAddPointToGeomColl (pt, x, y); } pt->Srid = geo1->Srid; - gaiaToSpatiaLiteBlobWkbEx (pt, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (pt, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); gaiaFreeGeomColl (pt); } } @@ -24301,19 +22393,11 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -24322,18 +22406,14 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo1 == NULL || geo2 == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24348,11 +22428,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo1->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo1); @@ -24374,19 +22454,11 @@ int int_value; double tolerance; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -24407,18 +22479,14 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo1 == NULL || geo2 == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24432,11 +22500,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo1->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo1); @@ -24456,29 +22524,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24492,11 +22550,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -24513,29 +22571,19 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24549,11 +22597,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -24562,19 +22610,12 @@ static void fnct_SquareGrid (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / ST_SquareGrid(BLOBencoded geom, double size) -/ ST_SquareGrid(BLOBencoded geom, double size, int mode) -/ ST_SquareGrid(BLOBencoded geom, double size, int mode, BLOBencoded origin) -/ -/ mode interpretation: -/ ============================================== -/ positive = a MULTILINESTRING will be returned -/ 0 = a MULTIPOLYGON will be returned -/ negative = a MULTIPOINT will be returned -/ ============================================== +/ ST_SquareGrid(BLOBencoded geom, double size, boolean edges_only) +/ ST_SquareGrid(BLOBencoded geom, double size, boolean edges_only, BLOBencoded origin) / / Builds a regular grid (Square cells) covering the geom. / each cell has the edges's length as defined by the size argument / an arbitrary origin is supported (0,0 is assumed by default) / return NULL if any error is encountered @@ -24583,23 +22624,156 @@ int n_bytes; int int_value; double origin_x = 0.0; double origin_y = 0.0; double size; - int mode = 0; + int edges_only = 0; + gaiaGeomCollPtr geo = NULL; + gaiaGeomCollPtr point = NULL; + gaiaGeomCollPtr result = NULL; + GAIA_UNUSED (); /* LCOV_EXCL_LINE */ + if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) + { + int_value = sqlite3_value_int (argv[1]); + size = int_value; + } + else if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) + { + size = sqlite3_value_double (argv[1]); + } + else + { + sqlite3_result_null (context); + return; + } + if (size <= 0.0) + { + /* negative side size */ + sqlite3_result_null (context); + return; + } + if (argc >= 3) + { + if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) + edges_only = sqlite3_value_int (argv[2]); + else + { + sqlite3_result_null (context); + return; + } + } + if (argc == 4) + { + if (sqlite3_value_type (argv[3]) != SQLITE_BLOB) + { + sqlite3_result_null (context); + return; + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[3]); + n_bytes = sqlite3_value_bytes (argv[3]); + point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + if (!point) + { + sqlite3_result_null (context); + return; + } + if (point->FirstLinestring != NULL) + goto no_point; + if (point->FirstPolygon != NULL) + goto no_point; + if (point->FirstPoint != NULL) + { + if (point->FirstPoint == point->LastPoint) + { + origin_x = point->FirstPoint->X; + origin_y = point->FirstPoint->Y; + gaiaFreeGeomColl (point); + } + else + goto no_point; + } + else + goto no_point; + + } + p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); + n_bytes = sqlite3_value_bytes (argv[0]); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); + if (!geo) + sqlite3_result_null (context); + else + { + void *data = sqlite3_user_data (context); + if (geo->FirstPoint != NULL) + goto no_polygon; + if (geo->FirstLinestring != NULL) + goto no_polygon; + if (geo->FirstPolygon == NULL) + goto no_polygon; + if (data != NULL) + result = + gaiaSquareGrid_r (data, geo, origin_x, origin_y, size, + edges_only); + else + result = + gaiaSquareGrid (geo, origin_x, origin_y, size, edges_only); + if (result == NULL) + sqlite3_result_null (context); + else + { + /* builds the BLOB geometry to be returned */ + int len; + unsigned char *p_result = NULL; + result->Srid = geo->Srid; + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); + sqlite3_result_blob (context, p_result, len, free); + gaiaFreeGeomColl (result); + } + } + gaiaFreeGeomColl (geo); + return; + + no_point: + gaiaFreeGeomColl (point); + sqlite3_result_null (context); + return; + + no_polygon: + gaiaFreeGeomColl (geo); + sqlite3_result_null (context); + return; +} + +static void +fnct_TriangularGrid (sqlite3_context * context, int argc, sqlite3_value ** argv) +{ +/* SQL function: +/ ST_TriangularGrid(BLOBencoded geom, double size) +/ ST_TriangularGrid(BLOBencoded geom, double size, boolean edges_only) +/ ST_TriangularGrid(BLOBencoded geom, double size, boolean edges_only, BLOBencoded origin) +/ +/ Builds a regular grid (Triangular cells) covering the geom. +/ each cell has the edge's length as defined by the size argument +/ an arbitrary origin is supported (0,0 is assumed by default) +/ return NULL if any error is encountered +*/ + unsigned char *p_blob; + int n_bytes; + int int_value; + double origin_x = 0.0; + double origin_y = 0.0; + double size; + int edges_only = 0; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr point = NULL; gaiaGeomCollPtr result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -24624,11 +22798,11 @@ return; } if (argc >= 3) { if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - mode = sqlite3_value_int (argv[2]); + edges_only = sqlite3_value_int (argv[2]); else { sqlite3_result_null (context); return; } @@ -24640,13 +22814,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[3]); n_bytes = sqlite3_value_bytes (argv[3]); - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!point) { sqlite3_result_null (context); return; } @@ -24669,13 +22841,11 @@ goto no_point; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -24685,22 +22855,25 @@ goto no_polygon; if (geo->FirstPolygon == NULL) goto no_polygon; if (data != NULL) result = - gaiaSquareGrid_r (data, geo, origin_x, origin_y, size, mode); + gaiaTriangularGrid_r (data, geo, origin_x, origin_y, size, + edges_only); else - result = gaiaSquareGrid (geo, origin_x, origin_y, size, mode); + result = + gaiaTriangularGrid (geo, origin_x, origin_y, size, + edges_only); if (result == NULL) sqlite3_result_null (context); else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -24716,48 +22889,33 @@ sqlite3_result_null (context); return; } static void -fnct_TriangularGrid (sqlite3_context * context, int argc, sqlite3_value ** argv) +fnct_HexagonalGrid (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ ST_TriangularGrid(BLOBencoded geom, double size) -/ ST_TriangularGrid(BLOBencoded geom, double size, int mode) -/ ST_TriangularGrid(BLOBencoded geom, double size, int mode, BLOBencoded origin) +/ ST_HexagonalGrid(BLOBencoded geom, double size) +/ ST_HexagonalGrid(BLOBencoded geom, double size, boolean edges_only) +/ ST_HexagonalGrid(BLOBencoded geom, double size, boolean edges_only, BLOBencoded origin) / -/ mode interpretation: -/ ============================================== -/ positive = a MULTILINESTRING will be returned -/ 0 = a MULTIPOLYGON will be returned -/ negative = a MULTIPOINT will be returned -/ ============================================== -/ -/ Builds a regular grid (Triangular cells) covering the geom. -/ each cell has the edge's length as defined by the size argument +/ Builds a regular grid (Hexagonal cells) covering the geom. +/ each cell has the edges's length as defined by the size argument / an arbitrary origin is supported (0,0 is assumed by default) / return NULL if any error is encountered */ unsigned char *p_blob; int n_bytes; int int_value; double origin_x = 0.0; double origin_y = 0.0; double size; - int mode = 0; + int edges_only = 0; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr point = NULL; gaiaGeomCollPtr result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -24782,11 +22940,11 @@ return; } if (argc >= 3) { if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - mode = sqlite3_value_int (argv[2]); + edges_only = sqlite3_value_int (argv[2]); else { sqlite3_result_null (context); return; } @@ -24798,13 +22956,11 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[3]); n_bytes = sqlite3_value_bytes (argv[3]); - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + point = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!point) { sqlite3_result_null (context); return; } @@ -24827,172 +22983,11 @@ goto no_point; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geo) - sqlite3_result_null (context); - else - { - void *data = sqlite3_user_data (context); - if (geo->FirstPoint != NULL) - goto no_polygon; - if (geo->FirstLinestring != NULL) - goto no_polygon; - if (geo->FirstPolygon == NULL) - goto no_polygon; - if (data != NULL) - result = - gaiaTriangularGrid_r (data, geo, origin_x, origin_y, size, - mode); - else - result = gaiaTriangularGrid (geo, origin_x, origin_y, size, mode); - if (result == NULL) - sqlite3_result_null (context); - else - { - /* builds the BLOB geometry to be returned */ - int len; - unsigned char *p_result = NULL; - result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); - sqlite3_result_blob (context, p_result, len, free); - gaiaFreeGeomColl (result); - } - } - gaiaFreeGeomColl (geo); - return; - - no_point: - gaiaFreeGeomColl (point); - sqlite3_result_null (context); - return; - - no_polygon: - gaiaFreeGeomColl (geo); - sqlite3_result_null (context); - return; -} - -static void -fnct_HexagonalGrid (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ ST_HexagonalGrid(BLOBencoded geom, double size) -/ ST_HexagonalGrid(BLOBencoded geom, double size, int mode) -/ ST_HexagonalGrid(BLOBencoded geom, double size, int mode, BLOBencoded origin) -/ -/ mode interpretation: -/ ============================================== -/ positive = a MULTILINESTRING will be returned -/ 0 = a MULTIPOLYGON will be returned -/ negative = a MULTIPOINT will be returned -/ ============================================== -/ -/ Builds a regular grid (Hexagonal cells) covering the geom. -/ each cell has the edges's length as defined by the size argument -/ an arbitrary origin is supported (0,0 is assumed by default) -/ return NULL if any error is encountered -*/ - unsigned char *p_blob; - int n_bytes; - int int_value; - double origin_x = 0.0; - double origin_y = 0.0; - double size; - int mode = 0; - gaiaGeomCollPtr geo = NULL; - gaiaGeomCollPtr point = NULL; - gaiaGeomCollPtr result = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - int_value = sqlite3_value_int (argv[1]); - size = int_value; - } - else if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - { - size = sqlite3_value_double (argv[1]); - } - else - { - sqlite3_result_null (context); - return; - } - if (size <= 0.0) - { - /* negative side size */ - sqlite3_result_null (context); - return; - } - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - mode = sqlite3_value_int (argv[2]); - else - { - sqlite3_result_null (context); - return; - } - } - if (argc == 4) - { - if (sqlite3_value_type (argv[3]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[3]); - n_bytes = sqlite3_value_bytes (argv[3]); - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - { - sqlite3_result_null (context); - return; - } - if (point->FirstLinestring != NULL) - goto no_point; - if (point->FirstPolygon != NULL) - goto no_point; - if (point->FirstPoint != NULL) - { - if (point->FirstPoint == point->LastPoint) - { - origin_x = point->FirstPoint->X; - origin_y = point->FirstPoint->Y; - gaiaFreeGeomColl (point); - } - else - goto no_point; - } - else - goto no_point; - - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -25003,22 +22998,23 @@ if (geo->FirstPolygon == NULL) goto no_polygon; if (data != NULL) result = gaiaHexagonalGrid_r (data, geo, origin_x, origin_y, size, - mode); + edges_only); else - result = gaiaHexagonalGrid (geo, origin_x, origin_y, size, mode); + result = + gaiaHexagonalGrid (geo, origin_x, origin_y, size, edges_only); if (result == NULL) sqlite3_result_null (context); else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -25050,19 +23046,11 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geom1 = NULL; gaiaGeomCollPtr geom2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -25071,18 +23059,14 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geom2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geom1 == NULL || geom2 == NULL) { if (geom1) gaiaFreeGeomColl (geom1); if (geom2) @@ -25099,11 +23083,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geom1->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } gaiaFreeGeomColl (geom1); gaiaFreeGeomColl (geom2); @@ -25313,29 +23297,19 @@ gaiaPolygonPtr pg; gaiaGeomCollPtr geom = NULL; gaiaGeomCollPtr geom1 = NULL; gaiaGeomCollPtr geom2 = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geom == NULL) { sqlite3_result_null (context); return; } @@ -25382,11 +23356,11 @@ { /* there is no need to cut any Ring [no Nodes] */ int len; unsigned char *p_result = NULL; geom1->Srid = geom->Srid; - gaiaToSpatiaLiteBlobWkbEx (geom1, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom1, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (geom); gaiaFreeGeomColl (geom1); return; } @@ -25399,11 +23373,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geom->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } gaiaFreeGeomColl (geom); gaiaFreeGeomColl (geom1); @@ -25430,19 +23404,11 @@ gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; int int_value; double tolerance = 0.0; int only_edges = 0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -25471,13 +23437,11 @@ return; } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -25493,11 +23457,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -25524,19 +23488,11 @@ gaiaGeomCollPtr result; int int_value; double tolerance = 0.0; double extra_frame_size = -1.0; int only_edges = 0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -25580,13 +23536,11 @@ return; } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -25604,11 +23558,11 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -25634,19 +23588,11 @@ gaiaGeomCollPtr result; int int_value; double tolerance = 0.0; double factor = 3.0; int allow_holes = 0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -25690,13 +23636,11 @@ return; } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { void *data = sqlite3_user_data (context); @@ -25711,56 +23655,54 @@ { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); } #endif /* end GEOS advanced features */ -#ifdef ENABLE_RTTOPO /* enabling RTTOPO support */ +#ifdef ENABLE_LWGEOM /* enabling LWGEOM support */ static void -fnct_RTTOPO_GetLastWarningMsg (sqlite3_context * context, int argc, +fnct_LWGEOM_GetLastWarningMsg (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ RTTOPO_GetLastWarningMsg() +/ LWGEOM_GetLastWarningMsg() / -/ return the most recent RTTOPO warning message (if any) +/ return the most recent LWGEOM warning message (if any) / return NULL on any other case */ const char *msg; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - msg = gaiaGetRtTopoWarningMsg (cache); + msg = gaiaGetLwGeomWarningMsg (); if (msg == NULL) sqlite3_result_null (context); else sqlite3_result_text (context, msg, strlen (msg), SQLITE_STATIC); } static void -fnct_RTTOPO_GetLastErrorMsg (sqlite3_context * context, int argc, +fnct_LWGEOM_GetLastErrorMsg (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ RTTOPO_GetLastErrorMsg() +/ LWGEOM_GetLastErrorMsg() / -/ return the most recent RTEOM error message (if any) +/ return the most recent LWGEOM error message (if any) / return NULL on any other case */ const char *msg; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - msg = gaiaGetRtTopoErrorMsg (cache); + msg = gaiaGetLwGeomErrorMsg (); if (msg == NULL) sqlite3_result_null (context); else sqlite3_result_text (context, msg, strlen (msg), SQLITE_STATIC); } @@ -25776,54 +23718,44 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { - result = gaiaMakeValid (cache, geo); + result = gaiaMakeValid (geo); if (result == NULL) { char *msg; - const char *lw_err = gaiaGetRtTopoErrorMsg (cache); + const char *lw_err = gaiaGetLwGeomErrorMsg (); if (lw_err) msg = sqlite3_mprintf - ("MakeValid error - RTTOPO reports: %s\n", lw_err); + ("MakeValid error - LWGEOM reports: %s\n", lw_err); else msg = sqlite3_mprintf - ("MakeValid error - RTTOPO reports: Unknown Reason\n"); + ("MakeValid error - LWGEOM reports: Unknown Reason\n"); sqlite3_result_error (context, msg, strlen (msg)); sqlite3_free (msg); } else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -25842,43 +23774,33 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { - result = gaiaMakeValidDiscarded (cache, geo); + result = gaiaMakeValidDiscarded (geo); if (result == NULL) sqlite3_result_null (context); else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -25897,19 +23819,11 @@ int n_bytes; int int_value; double dist; gaiaGeomCollPtr geo = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -25925,27 +23839,25 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geo == NULL) sqlite3_result_null (context); else { - result = gaiaSegmentize (cache, geo, dist); + result = gaiaSegmentize (geo, dist); if (result == NULL) sqlite3_result_null (context); else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = geo->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (geo); @@ -25963,19 +23875,11 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr input = NULL; gaiaGeomCollPtr blade = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -25984,41 +23888,37 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - input = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (input == NULL) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - blade = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + blade = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (blade == NULL) { gaiaFreeGeomColl (input); sqlite3_result_null (context); return; } else { - result = gaiaSplit (cache, input, blade); + result = gaiaSplit (input, blade); if (result == NULL) sqlite3_result_null (context); else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = input->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (input); @@ -26037,19 +23937,11 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr input = NULL; gaiaGeomCollPtr blade = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26058,41 +23950,37 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - input = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (input == NULL) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - blade = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + blade = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (blade == NULL) { gaiaFreeGeomColl (input); sqlite3_result_null (context); return; } else { - result = gaiaSplitLeft (cache, input, blade); + result = gaiaSplitLeft (input, blade); if (result == NULL) sqlite3_result_null (context); else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = input->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (input); @@ -26111,19 +23999,11 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr input = NULL; gaiaGeomCollPtr blade = NULL; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26132,41 +24012,37 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - input = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (input == NULL) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - blade = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + blade = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (blade == NULL) { gaiaFreeGeomColl (input); sqlite3_result_null (context); return; } else { - result = gaiaSplitRight (cache, input, blade); + result = gaiaSplitRight (input, blade); if (result == NULL) sqlite3_result_null (context); else { /* builds the BLOB geometry to be returned */ int len; unsigned char *p_result = NULL; result->Srid = input->Srid; - gaiaToSpatiaLiteBlobWkbEx (result, &p_result, &len, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_result, &len); sqlite3_result_blob (context, p_result, len, free); gaiaFreeGeomColl (result); } } gaiaFreeGeomColl (input); @@ -26205,19 +24081,11 @@ double b; double rf; double azimuth; int srid; sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26228,13 +24096,11 @@ } /* retrieving and validating the first point */ p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geom == NULL) { sqlite3_result_null (context); return; } @@ -26248,13 +24114,11 @@ gaiaFreeGeomColl (geom); /* retrieving and validating the second point */ p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geom == NULL) { sqlite3_result_null (context); return; } @@ -26266,18 +24130,18 @@ } gaiaFreeGeomColl (geom); if (getEllipsoidParams (sqlite, srid, &a, &b, &rf)) { - if (gaiaEllipsoidAzimuth (cache, x1, y1, x2, y2, a, b, &azimuth)) + if (gaiaEllipsoidAzimuth (x1, y1, x2, y2, a, b, &azimuth)) sqlite3_result_double (context, azimuth); else sqlite3_result_null (context); return; } - if (gaiaAzimuth (cache, x1, y1, x2, y2, &azimuth)) + if (gaiaAzimuth (x1, y1, x2, y2, &azimuth)) sqlite3_result_double (context, azimuth); else sqlite3_result_null (context); } @@ -26308,19 +24172,11 @@ double a; double b; double rf; int srid; sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26350,13 +24206,11 @@ } /* retrieving and validating the start point */ p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geom == NULL) { sqlite3_result_null (context); return; } @@ -26382,11 +24236,11 @@ else sqlite3_result_blob (context, p_blob, n_bytes, free); return; } - if (gaiaProjectedPoint (cache, x1, y1, a, b, distance, azimuth, &x2, &y2)) + if (gaiaProjectedPoint (x1, y1, a, b, distance, azimuth, &x2, &y2)) { gaiaMakePoint (x2, y2, srid, &p_blob, &n_bytes); if (!p_blob) sqlite3_result_null (context); else @@ -26410,19 +24264,11 @@ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr geom; int precision = 0; char *geo_hash; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26437,19 +24283,17 @@ } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geom == NULL) { sqlite3_result_null (context); return; } - geo_hash = gaiaGeoHash (cache, geom, precision); + geo_hash = gaiaGeoHash (geom, precision); if (geo_hash != NULL) { int len = strlen (geo_hash); sqlite3_result_text (context, geo_hash, len, free); } @@ -26517,19 +24361,11 @@ int options = 0; const char *refid = ""; char *srs = NULL; char *x3d; sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26564,13 +24400,11 @@ } } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (geom == NULL) { sqlite3_result_null (context); return; } @@ -26579,11 +24413,11 @@ int longshort = 0; if (options & 1) longshort = 1; srs = get_srs_by_srid (sqlite, geom->Srid, longshort); } - x3d = gaiaAsX3D (cache, geom, srs, precision, options, refid); + x3d = gaiaAsX3D (geom, srs, precision, options, refid); if (x3d != NULL) { int len = strlen (x3d); sqlite3_result_text (context, x3d, len, free); } @@ -26606,19 +24440,11 @@ int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; double dist; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26627,23 +24453,19 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { - ret = gaia3DDistance (cache, geo1, geo2, &dist); + ret = gaia3DDistance (geo1, geo2, &dist); if (!ret) sqlite3_result_null (context); else sqlite3_result_double (context, dist); } @@ -26663,19 +24485,11 @@ int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; double dist; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26684,23 +24498,19 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { - ret = gaiaMaxDistance (cache, geo1, geo2, &dist); + ret = gaiaMaxDistance (geo1, geo2, &dist); if (!ret) sqlite3_result_null (context); else sqlite3_result_double (context, dist); } @@ -26720,19 +24530,11 @@ int n_bytes; gaiaGeomCollPtr geo1 = NULL; gaiaGeomCollPtr geo2 = NULL; double dist; int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -26741,23 +24543,19 @@ sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo1 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes = sqlite3_value_bytes (argv[1]); - geo2 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo2 = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo1 || !geo2) sqlite3_result_null (context); else { - ret = gaia3DMaxDistance (cache, geo1, geo2, &dist); + ret = gaia3DMaxDistance (geo1, geo2, &dist); if (!ret) sqlite3_result_null (context); else sqlite3_result_double (context, dist); } @@ -26776,41 +24574,31 @@ */ unsigned char *p_blob; int n_bytes; gaiaGeomCollPtr input; gaiaGeomCollPtr result; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } /* retrieving the input geometry */ p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - input = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (input == NULL) { sqlite3_result_null (context); return; } - result = gaiaNodeLines (cache, input); + result = gaiaNodeLines (input); if (result != NULL) { - gaiaToSpatiaLiteBlobWkbEx (result, &p_blob, &n_bytes, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_blob, &n_bytes); sqlite3_result_blob (context, p_blob, n_bytes, free); gaiaFreeGeomColl (result); } else sqlite3_result_null (context); @@ -27035,31 +24823,21 @@ gaiaGeomCollPtr input; gaiaGeomCollPtr noded; gaiaGeomCollPtr result; gaiaGeomCollPtr nodes_in; gaiaGeomCollPtr nodes_out; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } /* retrieving the input geometry */ p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - input = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + input = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (input == NULL) { sqlite3_result_null (context); return; } @@ -27072,11 +24850,11 @@ return; } /* extracting all input nodes */ nodes_in = get_nodes (input); - noded = gaiaNodeLines (cache, input); + noded = gaiaNodeLines (input); gaiaFreeGeomColl (input); /* extracting all output nodes */ nodes_out = get_nodes (noded); gaiaFreeGeomColl (noded); @@ -27085,187 +24863,19 @@ gaiaFreeGeomColl (nodes_in); gaiaFreeGeomColl (nodes_out); if (result != NULL) { result->DeclaredType = GAIA_MULTIPOINT; - gaiaToSpatiaLiteBlobWkbEx (result, &p_blob, &n_bytes, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (result, &p_blob, &n_bytes); sqlite3_result_blob (context, p_blob, n_bytes, free); gaiaFreeGeomColl (result); } else sqlite3_result_null (context); } -#endif /* end RTTOPO support */ - - -static void -fnct_Cutter (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ ST_Cutter(TEXT in_db_prefix, TEXT input_table, TEXT input_geom, -/ TEXT blade_db_prefix, TEXT blade_table, TEXT blade_geom, -/ TEXT output_table) -/ ST_Cutter(TEXT in_db_prefix, TEXT input_table, TEXT input_geom, -/ TEXT blade_db_prefix, TEXT blade_table, TEXT blade_geom, -/ TEXT output_table, INT transaction) -/ ST_Cutter(TEXT in_db_prefix, TEXT input_table, TEXT input_geom, -/ TEXT blade_db_prefix, TEXT blade_table, TEXT blade_geom, -/ TEXT output_table, INT transaction, INT ram_temp_store) -/ -/ the "input" table-geometry is expected to be declared as POINT, -/ LINESTRING, POLYGON, MULTIPOINT, MULTILINESTRING or MULTIPOLYGON -/ and can be of any 2D or 3D dimension -/ -/ the "blade" table-geometry is expected to be declared as POLYGON -/ or MULTIPOLYGON, and will always be casted to a pure(X,Y) dimension -/ -/ the "output" table *must* not exists, and will be automatically -/ created within the MAIN database. -/ -/ in_db_prefix and/or blade_db_prefix can eventually be NULL, and -/ in this case the MAIN db will be assumed -/ -/ input_geom and/or blade_geom can eventually be NULL, and in this -/ case the geometry column name will be automatically determined. -/ anyway when a table defines two or more Geometries declaring a -/ NULL geometry name will cause a failure. -/ -/////////////////////////////////////////////////////////////////// -/ -/ will precisely cut the input dataset against polygonal blade(s) -/ and will consequently create and populate an output dataset -/ -/ -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - sqlite3 *sqlite; - int ret = 0; - const char *in_db_prefix = NULL; - const char *input_table = NULL; - const char *input_geom = NULL; - const char *blade_db_prefix = NULL; - const char *blade_table = NULL; - const char *blade_geom = NULL; - const char *output_table = NULL; - int transaction = 0; - int ram_tmp_store = 0; - char **message = NULL; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - message = &(cache->cutterMessage); - - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - in_db_prefix = (const char *) sqlite3_value_text (argv[0]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - input_table = (const char *) sqlite3_value_text (argv[1]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - input_geom = (const char *) sqlite3_value_text (argv[2]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - blade_db_prefix = (const char *) sqlite3_value_text (argv[3]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - blade_table = (const char *) sqlite3_value_text (argv[4]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[5]) == SQLITE_TEXT) - blade_geom = (const char *) sqlite3_value_text (argv[5]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (sqlite3_value_type (argv[6]) == SQLITE_TEXT) - output_table = (const char *) sqlite3_value_text (argv[6]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (argc >= 8) - { - if (sqlite3_value_type (argv[7]) == SQLITE_INTEGER) - transaction = sqlite3_value_int (argv[7]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - if (argc == 9) - { - if (sqlite3_value_type (argv[8]) == SQLITE_INTEGER) - ram_tmp_store = sqlite3_value_int (argv[8]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - - sqlite = sqlite3_context_db_handle (context); - ret = - gaiaCutter (sqlite, cache, in_db_prefix, input_table, input_geom, - blade_db_prefix, blade_table, blade_geom, output_table, - transaction, ram_tmp_store, message); - - sqlite3_result_int (context, ret); -} - -static void -fnct_GetCutterMessage (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ GetCutterMessage( void ) -/ -/ will return the last diagnostic message from Cutter -/ NULL if there is no pending message -*/ - char *message = NULL; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - message = cache->cutterMessage; - - if (message == NULL) - sqlite3_result_null (context); - else - sqlite3_result_text (context, message, strlen (message), SQLITE_STATIC); -} +#endif /* end LWGEOM support */ #endif /* end including GEOS */ static int text2double (const unsigned char *str, double *val) @@ -28255,54 +25865,10 @@ } else sqlite3_result_null (context); } -static void -fnct_math_atan2 (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ atan2(double Y, double X) -/ -/ Returns the principal value of the arc tangent of Y/X, using -/ the signs of the two arguments to determine the quadrant of -/ the result. -/ or NULL if any error is encountered -*/ - int int_value; - double x = 0.0; - double y = 0.0; - double t; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) - x = sqlite3_value_double (argv[0]); - else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) - { - int_value = sqlite3_value_int (argv[0]); - y = int_value; - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - y = sqlite3_value_double (argv[1]); - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - int_value = sqlite3_value_int (argv[1]); - x = int_value; - } - else - { - sqlite3_result_null (context); - return; - } - t = atan2 (y, x); - sqlite3_result_double (context, t); -} - static void fnct_math_ceil (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / ceil(double X) @@ -28983,15 +26549,11 @@ gaiaGeomCollPtr geom; unsigned char *geoblob; int geosize; double longitude; double latitude; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -29000,11 +26562,11 @@ if (gaiaGetGpsCoords (p_blob, n_bytes, &longitude, &latitude)) { geom = gaiaAllocGeomColl (); geom->Srid = 4326; gaiaAddPointToGeomColl (geom, longitude, latitude); - gaiaToSpatiaLiteBlobWkbEx (geom, &geoblob, &geosize, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (geom, &geoblob, &geosize); gaiaFreeGeomColl (geom); sqlite3_result_blob (context, geoblob, geosize, free); } else sqlite3_result_null (context); @@ -29391,12 +26953,10 @@ fclose (out); } sqlite3_result_int (context, ret); } -#ifndef OMIT_GEOS /* only if GEOS is enabled */ - static int load_dxf (sqlite3 * db_handle, struct splite_internal_cache *cache, char *filename, int srid, int append, int force_dims, int mode, int special_rings, char *prefix, char *layer_name) { @@ -29591,11 +27151,11 @@ while (1) { if ((c_file.attrib & _A_RDONLY) == _A_RDONLY || (c_file.attrib & _A_NORMAL) == _A_NORMAL) { - if (is_dxf_file (c_file.name)) + if (is_dxf_file (entry->d_name)) { filepath = sqlite3_mprintf ("%s/%s", dir_path, c_file.name); cnt += @@ -29607,11 +27167,11 @@ } if (_findnext (hFile, &c_file) != 0) break; }; _findclose (hFile); - } + re} #else /* not Visual Studio .NET */ struct dirent *entry; DIR *dir = opendir (dir_path); if (!dir) @@ -29755,12 +27315,10 @@ scan_dxf_dir (db_handle, cache, dir_path, srid, append, force_dims, mode, special_rings, prefix, layer_name); sqlite3_result_int (context, ret); } -#endif /* end GEOS conditional */ - static void fnct_ExportDXF (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / ExportDXF(TEXT out_dir, TEXT filename, TEXT sql_query, TEXT layer_col_name, @@ -29789,19 +27347,11 @@ const char *text_rotation_col_name = NULL; gaiaGeomCollPtr geom = NULL; int precision = 3; int ret = 1; sqlite3 *db_handle = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) dir_path = (const char *) sqlite3_value_text (argv[0]); if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) filename = (const char *) sqlite3_value_text (argv[1]); if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) @@ -29818,13 +27368,11 @@ text_rotation_col_name = (const char *) sqlite3_value_text (argv[7]); if (sqlite3_value_type (argv[8]) == SQLITE_BLOB) { p_blob = (unsigned char *) sqlite3_value_blob (argv[8]); n_bytes = sqlite3_value_bytes (argv[8]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geom = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); } if (argc == 10) { if (sqlite3_value_type (argv[9]) == SQLITE_INTEGER) precision = sqlite3_value_int (argv[9]); @@ -29898,38 +27446,27 @@ fnct_RemoveDuplicateRows (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / RemoveDuplicateRows(TEXT table) -/ RemoveDuplicateRows(TEXT table, BOOL transaction) / / returns: / the number of duplicate rows removed / NULL on invalid arguments */ char *table; - int transaction = 1; int rows; sqlite3 *db_handle = sqlite3_context_db_handle (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } table = (char *) sqlite3_value_text (argv[0]); - if (argc == 2) - { - if (sqlite3_value_type (argv[1]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - transaction = sqlite3_value_int (argv[1]); - } - remove_duplicated_rows_ex2 (db_handle, table, &rows, transaction); + remove_duplicated_rows_ex (db_handle, table, &rows); if (rows < 0) sqlite3_result_null (context); else sqlite3_result_int (context, rows); @@ -29940,12 +27477,10 @@ sqlite3_value ** argv) { /* SQL function: / ElementaryGeometries(TEXT input_table, TEXT geo_column, TEXT out_table, / TEXT out_pk, TEXT out_multi_id) -/ ElementaryGeometries(TEXT input_table, TEXT geo_column, TEXT out_table, -/ TEXT out_pk, TEXT out_multi_id, BOOL transaction) / / returns: / the number of inserted rows / NULL on invalid arguments */ @@ -29953,11 +27488,10 @@ char *geo_column; char *out_table; char *out_pk; char *out_multi_id; int rows; - int transaction = 1; sqlite3 *db_handle = sqlite3_context_db_handle (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); @@ -29986,22 +27520,13 @@ { sqlite3_result_null (context); return; } out_multi_id = (char *) sqlite3_value_text (argv[4]); - if (argc == 6) - { - if (sqlite3_value_type (argv[5]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - transaction = sqlite3_value_int (argv[5]); - } - elementary_geometries_ex2 (db_handle, in_table, geo_column, out_table, - out_pk, out_multi_id, &rows, transaction); + elementary_geometries_ex (db_handle, in_table, geo_column, out_table, + out_pk, out_multi_id, &rows); if (rows <= 0) sqlite3_result_null (context); else sqlite3_result_int (context, rows); @@ -30010,66 +27535,49 @@ static void fnct_DropGeoTable (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / DropGeoTable(TEXT table) -/ DropGeoTable(TEXT table, BOOL transaction) / DropGeoTable(TEXT db_prefix, TEXT table) -/ DropGeoTable(TEXT db_prefix, TEXT table, BOOL transaction) / / returns: / 1 on success, 0 on failure / NULL on invalid arguments */ char *db_prefix = "main"; - char *table = NULL; - int transaction = 1; + char *table; int ret; int cnt; sqlite3 *db_handle = sqlite3_context_db_handle (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (argc == 1) + if (argc > 1) + { + if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) + { + sqlite3_result_null (context); + return; + } + db_prefix = (char *) sqlite3_value_text (argv[0]); + if (sqlite3_value_type (argv[1]) != SQLITE_TEXT) + { + sqlite3_result_null (context); + return; + } + table = (char *) sqlite3_value_text (argv[1]); + } + else { if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); return; } table = (char *) sqlite3_value_text (argv[0]); } - else if (argc >= 2) - { - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT - && sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - table = (char *) sqlite3_value_text (argv[0]); - transaction = sqlite3_value_int (argv[1]); - } - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT - && sqlite3_value_type (argv[1]) == SQLITE_TEXT) - { - db_prefix = (char *) sqlite3_value_text (argv[0]); - table = (char *) sqlite3_value_text (argv[1]); - } - else - { - sqlite3_result_null (context); - return; - } - } - if (argc == 3) - { - if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - transaction = sqlite3_value_int (argv[2]); - } cnt = sqlite3_total_changes (db_handle); - ret = gaiaDropTableEx3 (db_handle, db_prefix, table, transaction, NULL); + ret = gaiaDropTableEx (db_handle, db_prefix, table); if (ret) { if (sqlite3_total_changes (db_handle) <= cnt) ret = 0; } @@ -30154,12 +27662,10 @@ /* SQL function: / ImportDBF(TEXT filename, TEXT table, TEXT charset) / ImportDBF(TEXT filename, TEXT table, TEXT charset, TEXT pk_column) / ImportDBF(TEXT filename, TEXT table, TEXT charset, TEXT pk_column, / INTEGER text_dates) -/ ImportDBF(TEXT filename, TEXT table, TEXT charset, TEXT pk_column, -/ INTEGER text_dates, INTEGER colname_case) / / returns: / the number of inserted rows / NULL on invalid arguments */ @@ -30167,11 +27673,10 @@ char *table; char *path; char *charset; char *pk_column = NULL; int text_dates = 0; - int colname_case = GAIA_DBF_COLNAME_LOWERCASE; int rows; sqlite3 *db_handle = sqlite3_context_db_handle (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { @@ -30208,35 +27713,15 @@ sqlite3_result_null (context); return; } else text_dates = sqlite3_value_int (argv[4]); - } - if (argc > 5) - { - if (sqlite3_value_type (argv[5]) != SQLITE_TEXT) - { - sqlite3_result_null (context); - return; - } - else - { - const char *val = (char *) sqlite3_value_text (argv[5]); - if (strcasecmp (val, "UPPER") == 0 - || strcasecmp (val, "UPPERCASE") == 0) - colname_case = GAIA_DBF_COLNAME_UPPERCASE; - else if (strcasecmp (val, "SAME") == 0 - || strcasecmp (val, "SAMECASE") == 0) - colname_case = GAIA_DBF_COLNAME_CASE_IGNORE; - else - colname_case = GAIA_DBF_COLNAME_LOWERCASE; - } } ret = - load_dbf_ex3 (db_handle, path, table, pk_column, charset, 1, text_dates, - &rows, colname_case, NULL); + load_dbf_ex2 (db_handle, path, table, pk_column, charset, 1, text_dates, + &rows, NULL); if (rows < 0 || !ret) sqlite3_result_null (context); else sqlite3_result_int (context, rows); @@ -30245,11 +27730,10 @@ static void fnct_ExportDBF (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / ExportDBF(TEXT table, TEXT filename, TEXT charset) -/ ExportDBF(TEXT table, TEXT filename, TEXT charset, TEXT colname_case) / / returns: / the number of exported rows / NULL on invalid arguments */ @@ -30256,11 +27740,10 @@ int ret; char *table; char *path; char *charset; int rows; - int colname_case = GAIA_DBF_COLNAME_LOWERCASE; sqlite3 *db_handle = sqlite3_context_db_handle (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { sqlite3_result_null (context); @@ -30277,34 +27760,12 @@ { sqlite3_result_null (context); return; } charset = (char *) sqlite3_value_text (argv[2]); - if (argc > 3) - { - if (sqlite3_value_type (argv[3]) != SQLITE_TEXT) - { - sqlite3_result_null (context); - return; - } - else - { - const char *val = (char *) sqlite3_value_text (argv[3]); - if (strcasecmp (val, "UPPER") == 0 - || strcasecmp (val, "UPPERCASE") == 0) - colname_case = GAIA_DBF_COLNAME_UPPERCASE; - else if (strcasecmp (val, "SAME") == 0 - || strcasecmp (val, "SAMECASE") == 0) - colname_case = GAIA_DBF_COLNAME_CASE_IGNORE; - else - colname_case = GAIA_DBF_COLNAME_LOWERCASE; - } - } - ret = - dump_dbf_ex2 (db_handle, table, path, charset, &rows, colname_case, - NULL); + ret = dump_dbf_ex (db_handle, table, path, charset, &rows, NULL); if (rows <= 0 || !ret) sqlite3_result_null (context); else sqlite3_result_int (context, rows); @@ -30333,23 +27794,10 @@ / INT coerce2d, INT compressed, INT spatial_index) / ImportSHP(TEXT filename, TEXT table, TEXT charset, INT srid, / TEXT geom_column, TEXT pk_column, TEXT geom_type, / INT coerce2d, INT compressed, INT spatial_index, / INT text_dates) -/ ImportSHP(TEXT filename, TEXT table, TEXT charset, INT srid, -/ TEXT geom_column, TEXT pk_column, TEXT geom_type, -/ INT coerce2d, INT compressed, INT spatial_index, -/ INT text_dates, TEXT colname_case) -/ ImportSHP(TEXT filename, TEXT table, TEXT charset, INT srid, -/ TEXT geom_column, TEXT pk_column, TEXT geom_type, -/ INT coerce2d, INT compressed, INT spatial_index, -/ INT text_dates, TEXT colname_case, INT update_statistics) -/ ImportSHP(TEXT filename, TEXT table, TEXT charset, INT srid, -/ TEXT geom_column, TEXT pk_column, TEXT geom_type, -/ INT coerce2d, INT compressed, INT spatial_index, -/ INT text_dates, TEXT colname_case, INT update_statistics, -/ INT verbose) / / returns: / the number of imported rows / NULL on invalid arguments */ @@ -30360,16 +27808,13 @@ int srid = -1; int coerce2d = 0; int compressed = 0; int spatial_index = 0; int text_dates = 0; - int update_statistics = 1; - int verbose = 1; char *pk_column = NULL; char *geo_column = NULL; char *geom_type = NULL; - int colname_case = GAIA_DBF_COLNAME_LOWERCASE; int rows; sqlite3 *db_handle = sqlite3_context_db_handle (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { @@ -30467,76 +27912,29 @@ return; } else text_dates = sqlite3_value_int (argv[10]); } - if (argc > 11) - { - if (sqlite3_value_type (argv[11]) != SQLITE_TEXT) - { - sqlite3_result_null (context); - return; - } - else - { - const char *val = (char *) sqlite3_value_text (argv[11]); - if (strcasecmp (val, "UPPER") == 0 - || strcasecmp (val, "UPPERCASE") == 0) - colname_case = GAIA_DBF_COLNAME_UPPERCASE; - else if (strcasecmp (val, "SAME") == 0 - || strcasecmp (val, "SAMECASE") == 0) - colname_case = GAIA_DBF_COLNAME_CASE_IGNORE; - else - colname_case = GAIA_DBF_COLNAME_LOWERCASE; - } - } - if (argc > 12) - { - if (sqlite3_value_type (argv[12]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - else - update_statistics = sqlite3_value_int (argv[12]); - } - if (argc > 13) - { - if (sqlite3_value_type (argv[13]) != SQLITE_INTEGER) - { - sqlite3_result_null (context); - return; - } - else - verbose = sqlite3_value_int (argv[13]); - } ret = - load_shapefile_ex3 (db_handle, path, table, charset, srid, geo_column, - geom_type, pk_column, coerce2d, compressed, verbose, - spatial_index, text_dates, &rows, colname_case, - NULL); + load_shapefile_ex2 (db_handle, path, table, charset, srid, geo_column, + geom_type, pk_column, coerce2d, compressed, 1, + spatial_index, text_dates, &rows, NULL); if (rows < 0 || !ret) sqlite3_result_null (context); else - { - if (update_statistics) - update_layer_statistics (db_handle, table, NULL); - sqlite3_result_int (context, rows); - } + sqlite3_result_int (context, rows); } static void fnct_ExportSHP (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / ExportSHP(TEXT table, TEXT geom_column, TEXT filename, TEXT charset) / ExportSHP(TEXT table, TEXT geom_column, TEXT filename, TEXT charset, / TEXT geom_type) -/ ExportSHP(TEXT table, TEXT geom_column, TEXT filename, TEXT charset, -/ TEXT geom_type, TEXT colname_case) / / returns: / the number of exported rows / NULL on invalid arguments */ @@ -30544,11 +27942,10 @@ char *table; char *column; char *path; char *charset; char *geom_type = NULL; - int colname_case = GAIA_DBF_COLNAME_CASE_IGNORE; int rows; sqlite3 *db_handle = sqlite3_context_db_handle (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ if (sqlite3_value_type (argv[0]) != SQLITE_TEXT) { @@ -30581,35 +27978,15 @@ sqlite3_result_null (context); return; } else geom_type = (char *) sqlite3_value_text (argv[4]); - } - if (argc > 5) - { - if (sqlite3_value_type (argv[5]) != SQLITE_TEXT) - { - sqlite3_result_null (context); - return; - } - else - { - const char *val = (char *) sqlite3_value_text (argv[5]); - if (strcasecmp (val, "UPPER") == 0 - || strcasecmp (val, "UPPERCASE") == 0) - colname_case = GAIA_DBF_COLNAME_UPPERCASE; - else if (strcasecmp (val, "SAME") == 0 - || strcasecmp (val, "SAMECASE") == 0) - colname_case = GAIA_DBF_COLNAME_CASE_IGNORE; - else - colname_case = GAIA_DBF_COLNAME_LOWERCASE; - } } ret = - dump_shapefile_ex (db_handle, table, column, path, charset, geom_type, - 1, &rows, colname_case, NULL); + dump_shapefile (db_handle, table, column, path, charset, geom_type, 1, + &rows, NULL); if (rows < 0 || !ret) sqlite3_result_null (context); else sqlite3_result_int (context, rows); @@ -30930,11 +28307,11 @@ "OR sql LIKE '%BlobToFile%' OR sql LIKE '%XB_LoadXML%' " "OR sql LIKE '%XB_StoreXML%' OR sql LIKE '%ImportDXF%' " "OR sql LIKE '%ExportDXF%' OR sql LIKE '%ImportDBF%' " "OR sql LIKE '%ExportDBF%' OR sql LIKE '%ImportSHP%' " "OR sql LIKE '%ExportSHP%' OR sql LIKE '%ExportKML%' " - "OR sql LIKE '%ExportGeoJSON%' OR (sql LIKE '%eval%' AND sql LIKE '%(%') " + "OR sql LIKE '%ExportGeoJSON%' OR sql LIKE '%eval%' " "OR sql LIKE '%ImportWFS%' OR sql LIKE '%ImportXLS%')"; ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); if (ret != SQLITE_OK) goto unknown; if (rows < 1) @@ -30971,29 +28348,19 @@ gaiaLinestringPtr line; gaiaPolygonPtr polyg; gaiaRingPtr ring; int ib; sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (getEllipsoidParams (sqlite, geo->Srid, &a, &b, &rf)) @@ -31034,11 +28401,12 @@ for (ib = 0; ib < polyg->NumInteriors; ib++) { /* interior Rings */ ring = polyg->Interiors + ib; l = gaiaGeodesicTotalLength (a, b, rf, - ring->DimensionModel, + ring-> + DimensionModel, ring->Coords, ring->Points); if (l < 0.0) { length = -1.0; @@ -31082,29 +28450,19 @@ gaiaLinestringPtr line; gaiaPolygonPtr polyg; gaiaRingPtr ring; int ib; sqlite3 *sqlite = sqlite3_context_db_handle (context); - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes = sqlite3_value_bytes (argv[0]); - geo = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); + geo = gaiaFromSpatiaLiteBlobWkb (p_blob, n_bytes); if (!geo) sqlite3_result_null (context); else { if (getEllipsoidParams (sqlite, geo->Srid, &a, &b, &rf)) @@ -31128,20 +28486,22 @@ { /* exterior Ring */ ring = polyg->Exterior; length += gaiaGreatCircleTotalLength (a, b, - ring->DimensionModel, + ring-> + DimensionModel, ring->Coords, ring->Points); for (ib = 0; ib < polyg->NumInteriors; ib++) { /* interior Rings */ ring = polyg->Interiors + ib; length += gaiaGreatCircleTotalLength (a, b, - ring->DimensionModel, + ring-> + DimensionModel, ring->Coords, ring->Points); } polyg = polyg->Next; } @@ -31528,130 +28888,10 @@ sqlite3_result_null (context); else sqlite3_result_text (context, dms, strlen (dms), free); } -static void -fnct_sequence_currval (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ sequence_currval ( seq_name TEXT ) -/ -/ return the current value from some Sequence -/ or NULL if any error is encountered -*/ - const char *seq_name = NULL; - gaiaSequencePtr seq; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - seq_name = (const char *) sqlite3_value_text (argv[0]); - seq = gaiaFindSequence (cache, seq_name); - if (seq == NULL) - sqlite3_result_null (context); - else - sqlite3_result_int (context, seq->value); -} - -static void -fnct_sequence_lastval (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ sequence_lastval () -/ -/ return the last value returned by sequence_nextval() -/ or NULL if any error is encountered -*/ - int value; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (gaiaLastUsedSequence (cache, &value) == 0) - sqlite3_result_null (context); - else - sqlite3_result_int (context, value); -} - -static void -fnct_sequence_nextval (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ sequence_nextval ( seq_name TEXT ) -/ -/ return the next value from some Sequence -/ or NULL if any error is encountered -*/ - const char *seq_name = NULL; - gaiaSequencePtr seq; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - seq_name = (const char *) sqlite3_value_text (argv[0]); - seq = gaiaFindSequence (cache, seq_name); - if (seq == NULL) - { - seq = gaiaCreateSequence (cache, seq_name); - if (seq == NULL) - sqlite3_result_null (context); - else - { - gaiaSequenceNext (cache, seq); - sqlite3_result_int (context, seq->value); - } - } - else - { - gaiaSequenceNext (cache, seq); - sqlite3_result_int (context, seq->value); - } -} - -static void -fnct_sequence_setval (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ sequence_setval ( seq_name TEXT , value INT ) -/ -/ resets the next value for some Sequence and return the value itself -/ or NULL if any error is encountered -*/ - const char *seq_name = NULL; - int value; - gaiaSequencePtr seq; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - seq_name = (const char *) sqlite3_value_text (argv[0]); - if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - value = sqlite3_value_int (argv[1]); - else - { - sqlite3_result_null (context); - return; - } - seq = gaiaFindSequence (cache, seq_name); - if (seq == NULL) - { - seq = gaiaCreateSequence (cache, seq_name); - if (seq == NULL) - sqlite3_result_null (context); - else - { - gaiaResetSequence (seq, value); - sqlite3_result_int (context, seq->value); - } - } - else - { - gaiaResetSequence (seq, value); - sqlite3_result_int (context, seq->value); - } -} - #ifdef ENABLE_LIBXML2 /* including LIBXML2 */ static void fnct_CreateStylingTables (sqlite3_context * context, int argc, sqlite3_value ** argv) @@ -31955,66 +29195,10 @@ srid = sqlite3_value_int (argv[1]); ret = unregister_vector_coverage_srid (sqlite, coverage_name, srid); sqlite3_result_int (context, ret); } -static void -fnct_RegisterVectorCoverageKeyword (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ RegisterVectorCoverageKeyword(Text coverage_name, Text keyword) -/ -/ inserts a Vector Coverage Keyword -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *coverage_name; - const char *keyword; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - coverage_name = (const char *) sqlite3_value_text (argv[0]); - keyword = (const char *) sqlite3_value_text (argv[1]); - ret = register_vector_coverage_keyword (sqlite, coverage_name, keyword); - sqlite3_result_int (context, ret); -} - -static void -fnct_UnregisterVectorCoverageKeyword (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ UnRegisterVectorCoverageSrid(Text coverage_name, Text keyword) -/ -/ deletes a Vector Coverage Keyword -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *coverage_name; - const char *keyword; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - coverage_name = (const char *) sqlite3_value_text (argv[0]); - keyword = (const char *) sqlite3_value_text (argv[1]); - ret = unregister_vector_coverage_keyword (sqlite, coverage_name, keyword); - sqlite3_result_int (context, ret); -} - static void fnct_UpdateVectorCoverageExtent (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: @@ -32497,66 +29681,10 @@ srid = sqlite3_value_int (argv[1]); ret = unregister_raster_coverage_srid (sqlite, coverage_name, srid); sqlite3_result_int (context, ret); } -static void -fnct_RegisterRasterCoverageKeyword (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ RegisterRasterCoverageKeyword(Text coverage_name, Text keyword) -/ -/ inserts a Raster Coverage Keyword -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *coverage_name; - const char *keyword; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - coverage_name = (const char *) sqlite3_value_text (argv[0]); - keyword = (const char *) sqlite3_value_text (argv[1]); - ret = register_raster_coverage_keyword (sqlite, coverage_name, keyword); - sqlite3_result_int (context, ret); -} - -static void -fnct_UnregisterRasterCoverageKeyword (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ UnRegisterRasterCoverageKeyword(Text coverage_name, Text keyword) -/ -/ deletes a Raster Coverage Keyword -/ returns 1 on success -/ 0 on failure, -1 on invalid arguments -*/ - int ret; - const char *coverage_name; - const char *keyword; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_TEXT - || sqlite3_value_type (argv[1]) != SQLITE_TEXT) - { - sqlite3_result_int (context, -1); - return; - } - coverage_name = (const char *) sqlite3_value_text (argv[0]); - keyword = (const char *) sqlite3_value_text (argv[1]); - ret = unregister_raster_coverage_keyword (sqlite, coverage_name, keyword); - sqlite3_result_int (context, ret); -} - static void fnct_UpdateRasterCoverageExtent (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: @@ -33271,11 +30399,11 @@ / attempt will be made in order to identify a SchemaURI defined / internally within the XMLDocument itself. / if such internal SchemaURI doesn't exists, or if the formal / Schema Validation fails, NULL will be returned. */ - int len = 0; + int len; unsigned char *p_result = NULL; const unsigned char *xml; int xml_len; int compressed = 1; int use_internal_schema_uri = 0; @@ -33524,11 +30652,11 @@ / XB_SchemaValidate(XmlBLOB, int InternalSchemaURI, bool compressed) / / returns a validated XmlBLOB object if the SchemaValidation was successful / or NULL if any error is encountered */ - int len = 0; + int len; unsigned char *p_result = NULL; const unsigned char *p_blob; int n_bytes; unsigned char *xml; int xml_len; @@ -33863,35 +30991,10 @@ n_bytes = sqlite3_value_bytes (argv[0]); ret = gaiaIsSvgXmlBlob (p_blob, n_bytes); sqlite3_result_int (context, ret); } -static void -fnct_XB_IsGpx (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ XB_IsGpx(XmlBLOB) -/ -/ returns TRUE if the current BLOB is a GPX document XmlBLOB, -/ FALSE if it's a valid XmlBLOB but not a GPX document -/ or -1 if any error is encountered -*/ - unsigned char *p_blob; - int n_bytes; - int ret; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_int (context, -1); - return; - } - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - ret = gaiaIsGpxXmlBlob (p_blob, n_bytes); - sqlite3_result_int (context, ret); -} - static void fnct_XB_GetDocumentSize (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: @@ -34356,51 +31459,10 @@ sqlite3_result_null (context); else sqlite3_result_blob (context, blob, blob_len, free); } -static void -fnct_XB_MLineFromGPX (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ XB_MLineFromGPX(XmlBLOB) -/ -/ if the BLOB is a valid XmlBLOB of the GPX type then -/ a MultiLinestring will be returned -/ return NULL on any other case -*/ - const unsigned char *p_blob; - int n_bytes; - int blob_len; - unsigned char *blob = NULL; - gaiaGeomCollPtr geom; - int gpkg_mode = 0; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; - if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) - { - sqlite3_result_null (context); - return; - } - p_blob = sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - geom = gaiaXmlBlobMLineFromGPX (p_blob, n_bytes, sqlite); - if (geom != NULL) - { - /* builds the BLOB geometry to be returned */ - gaiaToSpatiaLiteBlobWkbEx (geom, &blob, &blob_len, gpkg_mode); - sqlite3_result_blob (context, blob, blob_len, free); - gaiaFreeGeomColl (geom); - } - else - sqlite3_result_null (context); -} - static void fnct_XB_GetEncoding (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / XB_GetEncoding(XmlBLOB) @@ -34578,10 +31640,12 @@ / ATM_Create(double a, double b, double c, double d, / double e, double f, double g, double h, / double i, double xoff, double yoff, / double zoff) - 3D / +/ will create a BLOB-encoded Affine Transform Matrix +/ / returns a BLOB-ATM object or NULL on failure */ double a = 1.0; double b = 0.0; double c = 0.0; @@ -34841,10 +31905,12 @@ /* SQL function: / ATM_CreateTranslate(double tx, double ty) - 2D / or / ATM_CreateTranslate(double tx, double ty, double tz) - 3D / +/ will create a BLOB-encoded Affine Transform Matrix +/ / returns a BLOB-ATM object or NULL on failure */ double a = 1.0; double b = 0.0; double c = 0.0; @@ -34948,10 +32014,12 @@ /* SQL function: / ATM_CreateScale(double sx, double sy) - 2D / or / ATM_CreateScale(double sx, double sy, double sz - 3D / +/ will create a BLOB-encoded Affine Transform Matrix +/ / returns a BLOB-ATM object or NULL on failure */ double a = 1.0; double b = 0.0; double c = 0.0; @@ -35055,10 +32123,12 @@ /* SQL function: / ATM_CreateRotate(double angleInDegrees) - 2D / or / ATM_CreateZRoll(double angeInDegrees) - 3D / +/ will create a BLOB-encoded Affine Transform Matrix +/ / returns a BLOB-ATM object or NULL on failure */ double a = 1.0; double b = 0.0; double c = 0.0; @@ -35116,10 +32186,12 @@ sqlite3_value ** argv) { /* SQL function: / ATM_CreateXRoll(double angleInDegrees) - 3D / +/ will create a BLOB-encoded Affine Transform Matrix +/ / returns a BLOB-ATM object or NULL on failure */ double a = 1.0; double b = 0.0; double c = 0.0; @@ -35177,10 +32249,12 @@ sqlite3_value ** argv) { /* SQL function: / ATM_CreateYRoll(double angleInDegrees) - 3D / +/ will create a BLOB-encoded Affine Transform Matrix +/ / returns a BLOB-ATM object or NULL on failure */ double a = 1.0; double b = 0.0; double c = 0.0; @@ -35237,10 +32311,13 @@ fnct_AffineTransformMatrix_Multiply (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: / ATM_Multiply(blob atmA, blob atmB) +/ +/ will create a BLOB-encoded Affine Transform Matrix +/ by multiplying atmA by atmB / / returns a BLOB-ATM object or NULL on failure */ unsigned char *blob; int blob_sz; @@ -35284,14 +32361,16 @@ static void fnct_AffineTransformMatrix_Translate (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ ATM_Translate(blob atm, double tx, double ty) - 2D +/ ATM_Translate(double tx, double ty, blob atm) - 2D / or -/ ATM_Translate(blob atm, double tx, double ty, double tz) - 3D +/ ATM_Translate(double tx, double ty, double tz, blob atm) - 3D / +/ will create a BLOB-encoded Affine Transform Matrix +/ / returns a BLOB-ATM object or NULL on failure */ double a = 1.0; double b = 0.0; double c = 0.0; @@ -35305,96 +32384,96 @@ double yoff = 0.0; double zoff = 0.0; int int_value; unsigned char *blob; int blob_sz; - const unsigned char *iblob = NULL; - int iblob_sz = 0; + const unsigned char *iblob; + int iblob_sz; GAIA_UNUSED (); /* LCOV_EXCL_LINE */ /* validating the input args */ if (argc == 3) { /* 2D translate */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) + if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) + xoff = sqlite3_value_double (argv[0]); + else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); + int_value = sqlite3_value_int (argv[0]); + xoff = int_value; } else { sqlite3_result_null (context); return; } if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - xoff = sqlite3_value_double (argv[1]); + yoff = sqlite3_value_double (argv[1]); else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) { int_value = sqlite3_value_int (argv[1]); - xoff = int_value; - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - yoff = sqlite3_value_double (argv[2]); - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int_value = sqlite3_value_int (argv[2]); yoff = int_value; } + else + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) + { + iblob = sqlite3_value_blob (argv[2]); + iblob_sz = sqlite3_value_bytes (argv[2]); + } else { sqlite3_result_null (context); return; } } else if (argc == 4) { /* 3D translate */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) + if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) + xoff = sqlite3_value_double (argv[0]); + else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); + int_value = sqlite3_value_int (argv[0]); + xoff = int_value; } else { sqlite3_result_null (context); return; } if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - xoff = sqlite3_value_double (argv[1]); + yoff = sqlite3_value_double (argv[1]); else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) { int_value = sqlite3_value_int (argv[1]); - xoff = int_value; + yoff = int_value; } else { sqlite3_result_null (context); return; } if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - yoff = sqlite3_value_double (argv[2]); + zoff = sqlite3_value_double (argv[2]); else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) { int_value = sqlite3_value_int (argv[2]); - yoff = int_value; + zoff = int_value; } else { sqlite3_result_null (context); return; } - if (sqlite3_value_type (argv[3]) == SQLITE_FLOAT) - zoff = sqlite3_value_double (argv[3]); - else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) + if (sqlite3_value_type (argv[3]) == SQLITE_BLOB) { - int_value = sqlite3_value_int (argv[3]); - zoff = int_value; + iblob = sqlite3_value_blob (argv[3]); + iblob_sz = sqlite3_value_bytes (argv[3]); } else { sqlite3_result_null (context); return; @@ -35413,13 +32492,13 @@ static void fnct_AffineTransformMatrix_Scale (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ ATM_Scale(blob atm, double sx, double sy) - 2D +/ ATM_Scale(double sx, double sy, blob atm) - 2D / or -/ ATM_Scale(blob atm, double sx, double sy, double sz) - 3D +/ ATM_Scale(double sx, double sy, double sz, blob atm) - 3D / / will create a BLOB-encoded Affine Transform Matrix / / returns a BLOB-ATM object or NULL on failure */ @@ -35436,46 +32515,46 @@ double yoff = 0.0; double zoff = 0.0; int int_value; unsigned char *blob; int blob_sz; - const unsigned char *iblob = NULL; - int iblob_sz = 0; + const unsigned char *iblob; + int iblob_sz; GAIA_UNUSED (); /* LCOV_EXCL_LINE */ /* validating the input args */ if (argc == 3) { /* 2D scale */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) + if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) + a = sqlite3_value_double (argv[0]); + else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); + int_value = sqlite3_value_int (argv[0]); + a = int_value; } else { sqlite3_result_null (context); return; } if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - a = sqlite3_value_double (argv[1]); + e = sqlite3_value_double (argv[1]); else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) { int_value = sqlite3_value_int (argv[1]); - a = int_value; + e = int_value; } else { sqlite3_result_null (context); return; } - if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - e = sqlite3_value_double (argv[2]); - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) + if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) { - int_value = sqlite3_value_int (argv[2]); - e = int_value; + iblob = sqlite3_value_blob (argv[2]); + iblob_sz = sqlite3_value_bytes (argv[2]); } else { sqlite3_result_null (context); return; @@ -35482,50 +32561,50 @@ } } else if (argc == 4) { /* 3D scale */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) + if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) + a = sqlite3_value_double (argv[0]); + else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); + int_value = sqlite3_value_int (argv[0]); + a = int_value; } else { sqlite3_result_null (context); return; } if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - a = sqlite3_value_double (argv[1]); + e = sqlite3_value_double (argv[1]); else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) { int_value = sqlite3_value_int (argv[1]); - a = int_value; + e = int_value; } else { sqlite3_result_null (context); return; } if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - e = sqlite3_value_double (argv[2]); + i = sqlite3_value_double (argv[2]); else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) { int_value = sqlite3_value_int (argv[2]); - e = int_value; + i = int_value; } else { sqlite3_result_null (context); return; } - if (sqlite3_value_type (argv[3]) == SQLITE_FLOAT) - i = sqlite3_value_double (argv[3]); - else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) + if (sqlite3_value_type (argv[3]) == SQLITE_BLOB) { - int_value = sqlite3_value_int (argv[3]); - i = int_value; + iblob = sqlite3_value_blob (argv[3]); + iblob_sz = sqlite3_value_bytes (argv[3]); } else { sqlite3_result_null (context); return; @@ -35544,13 +32623,13 @@ static void fnct_AffineTransformMatrix_Rotate (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ ATM_Rotate(blob atm, double angleInDegrees) - 2D +/ ATM_Rotate(double angleInDegrees, blob atm) - 2D / or -/ ATM_ZRoll(blob atm, double angleInDegrees) - 3D +/ ATM_ZRoll(double angleInDegrees, blob atm) - 3D / / will create a BLOB-encoded Affine Transform Matrix / / returns a BLOB-ATM object or NULL on failure */ @@ -35577,27 +32656,27 @@ const unsigned char *iblob; int iblob_sz; GAIA_UNUSED (); /* LCOV_EXCL_LINE */ /* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) + if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) + angle = sqlite3_value_double (argv[0]); + else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - angle = sqlite3_value_double (argv[1]); - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - int_value = sqlite3_value_int (argv[1]); + int_value = sqlite3_value_int (argv[0]); angle = int_value; } + else + { + sqlite3_result_null (context); + return; + } + if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) + { + iblob = sqlite3_value_blob (argv[1]); + iblob_sz = sqlite3_value_bytes (argv[1]); + } else { sqlite3_result_null (context); return; } @@ -35652,26 +32731,26 @@ const unsigned char *iblob; int iblob_sz; GAIA_UNUSED (); /* LCOV_EXCL_LINE */ /* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) + if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) + angle = sqlite3_value_double (argv[0]); + else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); + int_value = sqlite3_value_int (argv[0]); + angle = int_value; } else { sqlite3_result_null (context); return; } - if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - angle = sqlite3_value_double (argv[1]); - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) + if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) { - int_value = sqlite3_value_int (argv[1]); - angle = int_value; + iblob = sqlite3_value_blob (argv[1]); + iblob_sz = sqlite3_value_bytes (argv[1]); } else { sqlite3_result_null (context); return; @@ -35727,26 +32806,26 @@ const unsigned char *iblob; int iblob_sz; GAIA_UNUSED (); /* LCOV_EXCL_LINE */ /* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) + if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) + angle = sqlite3_value_double (argv[0]); + else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); + int_value = sqlite3_value_int (argv[0]); + angle = int_value; } else { sqlite3_result_null (context); return; } - if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - angle = sqlite3_value_double (argv[1]); - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) + if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) { - int_value = sqlite3_value_int (argv[1]); - angle = int_value; + iblob = sqlite3_value_blob (argv[1]); + iblob_sz = sqlite3_value_bytes (argv[1]); } else { sqlite3_result_null (context); return; @@ -35766,121 +32845,16 @@ sqlite3_result_null (context); else sqlite3_result_blob (context, blob, blob_sz, free); } -static void -fnct_AffineTransformMatrix_Determinant (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ ATM_Determinant(blob atm) -/ -/ will return the Determinant from a BLOB-encoded Affine Transform Matrix -/ or 0.0 on failure -*/ - const unsigned char *iblob; - int iblob_sz; - double det = 0.0; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - -/* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); - } - else - { - sqlite3_result_double (context, det); - return; - } - -/* evaluating the Affine Transform Matrix */ - det = gaia_matrix_determinant (iblob, iblob_sz); - sqlite3_result_double (context, det); -} - -static void -fnct_AffineTransformMatrix_IsInvertible (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ ATM_IsInvertible(blob atm) -/ -/ will return TRUE if the a BLOB-encoded Affine Transform Matrix -/ is Invertible, FALSE if not -/ -1 on invalid arguments -*/ - const unsigned char *iblob; - int iblob_sz; - double det; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - -/* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); - } - else - { - sqlite3_result_int (context, -1); - return; - } - -/* evaluating the Affine Transform Matrix */ - det = gaia_matrix_determinant (iblob, iblob_sz); - if (det != 0.0) - sqlite3_result_int (context, 1); - else - sqlite3_result_int (context, 0); -} - -static void -fnct_AffineTransformMatrix_Invert (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ ATM_Invert(blob atm) -/ -/ will create an Inverse BLOB-encoded Affine Transform Matrix -/ -/ returns a BLOB-ATM object or NULL on failure -*/ - unsigned char *blob; - int blob_sz; - const unsigned char *iblob; - int iblob_sz; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - -/* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - iblob = sqlite3_value_blob (argv[0]); - iblob_sz = sqlite3_value_bytes (argv[0]); - } - else - { - sqlite3_result_null (context); - return; - } - -/* creating the BLOB-encoded Affine Transform Matrix (Inverse) */ - gaia_matrix_invert (iblob, iblob_sz, &blob, &blob_sz); - if (blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, blob, blob_sz, free); -} - static void fnct_AffineTransformMatrix_GeometryTransform (sqlite3_context * context, int argc, sqlite3_value ** argv) { /* SQL function: -/ ATM_Transform(blob geom, blob atm [ , int srid] ) +/ ATM_Transform(blob geom, blob atm) / / will create a BLOB-Geometry by applying to the input Geometry all / transformations specified by the Affine Transform Matrix / / returns a BLOB-ATM object or NULL on failure @@ -35891,20 +32865,11 @@ int iblob1_sz; const unsigned char *iblob2; int iblob2_sz; gaiaGeomCollPtr g1; gaiaGeomCollPtr g2; - int srid = -9999; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } /* validating the input args */ if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) { iblob1 = sqlite3_value_blob (argv[0]); @@ -35922,25 +32887,14 @@ } else { sqlite3_result_null (context); return; - } - if (argc == 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - srid = sqlite3_value_int (argv[2]); - else - { - sqlite3_result_null (context); - return; - } } /* attempting to parse the BLOB-Geometry */ - g1 = gaiaFromSpatiaLiteBlobWkbEx (iblob1, iblob1_sz, gpkg_mode, - gpkg_amphibious); + g1 = gaiaFromSpatiaLiteBlobWkb (iblob1, iblob1_sz); if (g1 == NULL) { sqlite3_result_null (context); return; } @@ -35949,13 +32903,11 @@ if (g2 == NULL) { sqlite3_result_null (context); return; } - if (srid != -9999) - g2->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (g2, &blob, &blob_sz, gpkg_mode); + gaiaToSpatiaLiteBlobWkb (g2, &blob, &blob_sz); gaiaFreeGeomColl (g2); if (blob == NULL) sqlite3_result_null (context); else sqlite3_result_blob (context, blob, blob_sz, free); @@ -36027,12 +32979,10 @@ sqlite3_result_null (context); else sqlite3_result_text (context, text, strlen (text), sqlite3_free); } -#ifdef ENABLE_GCP /* only if ControlPoints enabled */ - static int get_control_point (gaiaGeomCollPtr geom, double *x, double *y, double *z, int *has3d) { /* checking a Control Point */ @@ -36074,16 +33024,18 @@ if (has3d_1 != cp->has3d) return 0; return 1; } +#ifdef ENABLE_CONTROL_POINTS /* only if ControlPoints enabled */ + static void -fnct_GroundControlPoints_Compute_step (sqlite3_context * context, - int argc, sqlite3_value ** argv) +fnct_AffineTransformMatrix_ControlPoints_step (sqlite3_context * context, + int argc, sqlite3_value ** argv) { /* SQL function: -/ GCP_Compute(BLOB point1, BLOB point2 [ , int order ] ) +/ ATM_ControlPoints(BLOB point1, BLOB point2 [ , int tps ] ) / / aggregate function - STEP / */ unsigned char *p_blob0; @@ -36098,22 +33050,13 @@ double x1; double y1; double z1; int has3d_0; int has3d_1; - int order = 1; int tps = 0; GaiaControlPointsPtr *cp; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } if (sqlite3_value_type (argv[0]) != SQLITE_BLOB) { sqlite3_result_null (context); return; } @@ -36127,35 +33070,18 @@ if (sqlite3_value_type (argv[2]) != SQLITE_INTEGER) { sqlite3_result_null (context); return; } - order = sqlite3_value_int (argv[2]); - if (order >= 1 && order <= 3) - ; /* 1st, 2nd or 3rd polynomial order */ - else if (order == 0) - { - /* Thin Plate Splite */ - order = 1; - tps = 1; - } - else - { - sqlite3_result_null (context); - return; - } + tps = sqlite3_value_int (argv[2]); } p_blob0 = (unsigned char *) sqlite3_value_blob (argv[0]); n_bytes0 = sqlite3_value_bytes (argv[0]); p_blob1 = (unsigned char *) sqlite3_value_blob (argv[1]); n_bytes1 = sqlite3_value_bytes (argv[1]); - geom0 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob0, n_bytes0, gpkg_mode, - gpkg_amphibious); - geom1 = - gaiaFromSpatiaLiteBlobWkbEx (p_blob1, n_bytes1, gpkg_mode, - gpkg_amphibious); + geom0 = gaiaFromSpatiaLiteBlobWkb (p_blob0, n_bytes0); + geom1 = gaiaFromSpatiaLiteBlobWkb (p_blob1, n_bytes1); if (!get_control_point (geom0, &x0, &y0, &z0, &has3d_0)) goto error; if (!get_control_point (geom1, &x1, &y1, &z1, &has3d_1)) goto error; if (has3d_0 != has3d_1) @@ -36163,11 +33089,11 @@ cp = sqlite3_aggregate_context (context, sizeof (struct gaia_control_points)); if (*cp == NULL) { /* this is the first row */ - *cp = gaiaCreateControlPoints (1024, has3d_0, order, tps); + *cp = gaiaCreateControlPoints (1024, has3d_0, tps); if (has3d_0) gaiaAddControlPoint3D (*cp, x0, y0, z0, x1, y1, z1); else gaiaAddControlPoint2D (*cp, x0, y0, x1, y1); } @@ -36192,934 +33118,99 @@ gaiaFreeGeomColl (geom1); sqlite3_result_null (context); } static void -fnct_GroundControlPoints_Compute_final (sqlite3_context * context) +fnct_AffineTransformMatrix_ControlPoints_final (sqlite3_context * context) { /* SQL function: -/ GCP_Compute(BLOB point1, BLOB point2 [ , int order ] ) +/ ATM_ControlPoints(BLOB point1, BLOB point2 [ , int tps ] ) / / aggregate function - FINAL / */ + double a = 1.0; + double b = 0.0; + double c = 0.0; + double d = 0.0; + double e = 1.0; + double f = 0.0; + double g = 0.0; + double h = 0.0; + double i = 1.0; + double xoff = 0.0; + double yoff = 0.0; + double zoff = 0.0; unsigned char *blob = NULL; int blob_sz; int ret; GaiaControlPointsPtr *cp = sqlite3_aggregate_context (context, 0); if (cp == NULL) { sqlite3_result_null (context); return; } - ret = gaiaCreatePolynomialCoeffs (*cp, &blob, &blob_sz); + ret = gaiaAffineFromControlPoints (*cp); + if (ret) + { + struct gaia_control_points *xcp = (struct gaia_control_points *) *cp; + if (xcp->affine_valid) + { + if (xcp->has3d) + { + /* 3D affine transform matrix */ + a = xcp->a; + b = xcp->b; + c = xcp->c; + d = xcp->d; + e = xcp->e; + f = xcp->f; + g = xcp->g; + h = xcp->h; + i = xcp->i; + xoff = xcp->xoff; + yoff = xcp->yoff; + zoff = xcp->zoff; + } + else + { + /* 2D affine transform matrix */ + a = xcp->a; + b = xcp->b; + d = xcp->d; + e = xcp->e; + xoff = xcp->xoff; + yoff = xcp->yoff; + } + } + } + gaiaFreeControlPoints (*cp); if (!ret) sqlite3_result_null (context); else - sqlite3_result_blob (context, blob, blob_sz, free); - gaiaFreeControlPoints (*cp); -} - -static void -fnct_GroundControlPoints_GeometryTransform (sqlite3_context * context, - int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ GCP_Transform(blob geom, blob gcp [ , int srid ] ) -/ -/ will create a BLOB-Geometry by applying to the input Geometry all -/ transformations specified by the Polynomial coefficients -/ -/ returns a BLOB-ATM object or NULL on failure -*/ - unsigned char *blob; - int blob_sz; - const unsigned char *iblob1; - int iblob1_sz; - const unsigned char *iblob2; - int iblob2_sz; - gaiaGeomCollPtr g1; - gaiaGeomCollPtr g2; - int srid = -9999; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - -/* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - iblob1 = sqlite3_value_blob (argv[0]); - iblob1_sz = sqlite3_value_bytes (argv[0]); - } - else - { - sqlite3_result_null (context); - return; - } - if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - iblob2 = sqlite3_value_blob (argv[1]); - iblob2_sz = sqlite3_value_bytes (argv[1]); - } - else - { - sqlite3_result_null (context); - return; - } - if (argc == 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - srid = sqlite3_value_int (argv[2]); + /* creating the BLOB-encoded Affine Transform Matrix */ + gaia_matrix_create (a, b, c, d, e, f, g, h, i, xoff, yoff, zoff, + &blob, &blob_sz); + if (blob == NULL) + sqlite3_result_null (context); else - { - sqlite3_result_null (context); - return; - } + sqlite3_result_blob (context, blob, blob_sz, free); } - -/* attempting to parse the BLOB-Geometry */ - g1 = gaiaFromSpatiaLiteBlobWkbEx (iblob1, iblob1_sz, gpkg_mode, - gpkg_amphibious); - if (g1 == NULL) - { - sqlite3_result_null (context); - return; - } - g2 = gaiaPolynomialTransformGeometry (g1, iblob2, iblob2_sz); - gaiaFreeGeomColl (g1); - if (g2 == NULL) - { - sqlite3_result_null (context); - return; - } - if (srid != -9999) - g2->Srid = srid; - gaiaToSpatiaLiteBlobWkbEx (g2, &blob, &blob_sz, gpkg_mode); - gaiaFreeGeomColl (g2); - if (blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, blob, blob_sz, free); } -static void -fnct_GroundControlPoints_IsValid (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ GCO_IsValid(BLOB polynomail) -/ -/ returns TRUE if the current BLOB is a valid BLOB-GCP, FALSE if not -/ or -1 if any error is encountered -*/ - const unsigned char *blob; - int blob_sz; - int ret; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ -/* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - blob = (const unsigned char *) sqlite3_value_blob (argv[0]); - blob_sz = sqlite3_value_bytes (argv[0]); - } - else - { - sqlite3_result_int (context, -1); - return; - } - -/* verifying the BLOB-Polynomail */ - ret = gaiaPolynomialIsValid (blob, blob_sz); - if (ret) - sqlite3_result_int (context, 1); - else - sqlite3_result_int (context, 0); -} - -static void -fnct_GroundControlPoints_AsText (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ GCP_AsText(BLOB polynomail) -/ -/ returns a textual representaion of the BLOB-Polynomial -/ or NULL if any error is encountered -*/ - const unsigned char *blob; - int blob_sz; - char *text; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ -/* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - blob = (const unsigned char *) sqlite3_value_blob (argv[0]); - blob_sz = sqlite3_value_bytes (argv[0]); - } - else - { - sqlite3_result_null (context); - return; - } - -/* retrieving the textual representation from the BLOB-Matrix */ - text = gaiaPolynomialAsText (blob, blob_sz); - if (text == NULL) - sqlite3_result_null (context); - else - sqlite3_result_text (context, text, strlen (text), sqlite3_free); -} - -static void -fnct_GroundControlPoints_ToATM (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ GCP2ATM(BLOB polynomail) -/ -/ returns a BLOB-Atm corresponding to a BLOB-Polynomial (first order only) -/ or NULL if any error is encountered -*/ - const unsigned char *blob; - int blob_sz; - unsigned char *oblob; - int oblob_sz; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ -/* validating the input args */ - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - blob = (const unsigned char *) sqlite3_value_blob (argv[0]); - blob_sz = sqlite3_value_bytes (argv[0]); - } - else - { - sqlite3_result_null (context); - return; - } - -/* converting Polynomial coefficients into an Affine Transformation matrix */ - if (!gaiaPolynomialToMatrix (blob, blob_sz, &oblob, &oblob_sz)) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, oblob, oblob_sz, free); -} - -#endif /* end including GCP */ - -#ifdef ENABLE_GEOPACKAGE /* GEOPACKAGE enabled: supporting GPKG geometries */ - -static void -fnct_enableGpkgMode (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ EnableGpkgMode ( void ) -/ -/ returns: nothing -*/ - sqlite3 *sqlite; - int ret; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache == NULL) - return; - sqlite = sqlite3_context_db_handle (context); - ret = checkSpatialMetaData (sqlite); - if (ret != 4) - return; /* not GeoPackage */ - cache->gpkg_mode = 1; - cache->gpkg_amphibious_mode = 0; -} - -static void -fnct_disableGpkgMode (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ DisableGpkgMode ( void ) -/ -/ returns: nothing -*/ - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache == NULL) - return; - cache->gpkg_mode = 0; -} - -static void -fnct_getGpkgMode (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ -/* SQL function: -/ GetGpkgMode ( void ) -/ -/ returns: TRUE or FALSE -*/ - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache == NULL) - { - sqlite3_result_int (context, 0); - return; - } - sqlite3_result_int (context, cache->gpkg_mode); -} - - -static void -fnct_enableGpkgAmphibiousMode (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ EnableGpkgAmphibiousMode ( void ) -/ -/ returns: nothing -*/ - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache == NULL) - return; - cache->gpkg_mode = 0; - cache->gpkg_amphibious_mode = 1; -} - -static void -fnct_disableGpkgAmphibiousMode (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ DisableGpkgAmphibiousMode ( void ) -/ -/ returns: nothing -*/ - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache == NULL) - return; - cache->gpkg_amphibious_mode = 0; -} - -static void -fnct_getGpkgAmphibiousMode (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ GetGpkgAmphibiousMode ( void ) -/ -/ returns: TRUE or FALSE -*/ - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache == NULL) - { - sqlite3_result_int (context, 0); - return; - } - sqlite3_result_int (context, cache->gpkg_amphibious_mode); -} - -#endif /* end GPKG conditional */ - -static void -fnct_setDecimalPrecision (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ SetDecimalPrecision ( int precision ) -/ a negative precision identifies the default setting -/ -/ returns: nothing -*/ - int precision = -1; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache == NULL) - return; - if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) - precision = sqlite3_value_int (argv[0]); - else - return; - if (precision < 0) - precision = -1; - else if (precision == 6) - precision = -1; - else if (precision > 18) - precision = 18; - cache->decimal_precision = precision; -} - -static void -fnct_getDecimalPrecision (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ -/* SQL function: -/ GetDecimalPrecision ( void ) -/ -/ returns: the currently set Decimal Precision -*/ - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache == NULL) - { - sqlite3_result_int (context, -1); - return; - } - sqlite3_result_int (context, cache->decimal_precision); -} - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -static void -fnct_CreateTopology (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_CreateTopology (context, argc, argv); -} - -static void -fnct_DropTopology (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_DropTopology (context, argc, argv); -} - -static void -fnct_GetLastTopologyException (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_GetLastTopologyException (context, argc, argv); -} - -static void -fnct_AddIsoNode (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_AddIsoNode (context, argc, argv); -} - -static void -fnct_MoveIsoNode (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_MoveIsoNode (context, argc, argv); -} - -static void -fnct_RemIsoNode (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_RemIsoNode (context, argc, argv); -} - -static void -fnct_AddIsoEdge (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_AddIsoEdge (context, argc, argv); -} - -static void -fnct_RemIsoEdge (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_RemIsoEdge (context, argc, argv); -} - -static void -fnct_ModEdgeSplit (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_ModEdgeSplit (context, argc, argv); -} - -static void -fnct_NewEdgesSplit (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_NewEdgesSplit (context, argc, argv); -} - -static void -fnct_AddEdgeModFace (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_AddEdgeModFace (context, argc, argv); -} - -static void -fnct_AddEdgeNewFaces (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_AddEdgeNewFaces (context, argc, argv); -} - -static void -fnct_ChangeEdgeGeom (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_ChangeEdgeGeom (context, argc, argv); -} - -static void -fnct_RemEdgeModFace (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_RemEdgeModFace (context, argc, argv); -} - -static void -fnct_RemEdgeNewFace (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_RemEdgeNewFace (context, argc, argv); -} - -static void -fnct_ModEdgeHeal (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_ModEdgeHeal (context, argc, argv); -} - -static void -fnct_NewEdgeHeal (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_NewEdgeHeal (context, argc, argv); -} - -static void -fnct_GetFaceGeometry (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_GetFaceGeometry (context, argc, argv); -} - -static void -fnct_GetFaceEdges (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_GetFaceEdges (context, argc, argv); -} - -static void -fnct_ValidateTopoGeo (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_ValidateTopoGeo (context, argc, argv); -} - -static void -fnct_CreateTopoGeo (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_CreateTopoGeo (context, argc, argv); -} - -static void -fnct_GetNodeByPoint (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_GetNodeByPoint (context, argc, argv); -} - -static void -fnct_GetEdgeByPoint (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_GetEdgeByPoint (context, argc, argv); -} - -static void -fnct_GetFaceByPoint (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_GetFaceByPoint (context, argc, argv); -} - -static void -fnct_TopoGeo_AddPoint (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_AddPoint (context, argc, argv); -} - -static void -fnct_TopoGeo_AddLineString (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_AddLineString (context, argc, argv); -} - -static void -fnct_TopoGeo_AddLineStringNoFace (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_AddLineStringNoFace (context, argc, argv); -} - -static void -fnct_TopoGeo_FromGeoTable (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_FromGeoTable (context, argc, argv); -} - -static void -fnct_TopoGeo_FromGeoTableNoFace (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_FromGeoTableNoFace (context, argc, argv); -} - -static void -fnct_TopoGeo_FromGeoTableExt (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_FromGeoTableExt (context, argc, argv); -} - -static void -fnct_TopoGeo_FromGeoTableNoFaceExt (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_FromGeoTableNoFaceExt (context, argc, argv); -} - -static void -fnct_TopoGeo_Polygonize (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_Polygonize (context, argc, argv); -} - -static void -fnct_TopoGeo_TopoSnap (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_TopoSnap (context, argc, argv); -} - -static void -fnct_TopoGeo_SnappedGeoTable (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_SnappedGeoTable (context, argc, argv); -} - -static void -fnct_TopoGeo_ToGeoTable (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_ToGeoTable (context, argc, argv); -} - -static void -fnct_TopoGeo_ToGeoTableGeneralize (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_ToGeoTableGeneralize (context, argc, argv); -} - -static void -fnct_TopoGeo_RemoveSmallFaces (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_RemoveSmallFaces (context, argc, argv); -} - -static void -fnct_TopoGeo_RemoveDanglingEdges (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_RemoveDanglingEdges (context, argc, argv); -} - -static void -fnct_TopoGeo_RemoveDanglingNodes (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_RemoveDanglingNodes (context, argc, argv); -} - -static void -fnct_TopoGeo_NewEdgeHeal (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_NewEdgeHeal (context, argc, argv); -} - -static void -fnct_TopoGeo_ModEdgeHeal (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_ModEdgeHeal (context, argc, argv); -} - -static void -fnct_TopoGeo_CreateTopoLayer (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_CreateTopoLayer (context, argc, argv); -} - -static void -fnct_TopoGeo_InitTopoLayer (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_InitTopoLayer (context, argc, argv); -} - -static void -fnct_TopoGeo_RemoveTopoLayer (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_RemoveTopoLayer (context, argc, argv); -} - -static void -fnct_TopoGeo_ExportTopoLayer (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_ExportTopoLayer (context, argc, argv); -} - -static void -fnct_TopoGeo_InsertFeatureFromTopoLayer (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_InsertFeatureFromTopoLayer (context, argc, argv); -} - -static void -fnct_TopoGeo_Clone (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_TopoGeo_Clone (context, argc, argv); -} - -static void -fnct_TopoGeo_SubdivideLines (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_SubdivideLines (context, argc, argv); -} - -static void -fnct_TopoGeo_GetEdgeSeed (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_GetEdgeSeed (context, argc, argv); -} - -static void -fnct_TopoGeo_GetFaceSeed (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_GetFaceSeed (context, argc, argv); -} - -static void -fnct_TopoGeo_UpdateSeeds (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_UpdateSeeds (context, argc, argv); -} - -static void -fnct_TopoGeo_SnapPointToSeed (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_SnapPointToSeed (context, argc, argv); -} - -static void -fnct_TopoGeo_SnapLineToSeed (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoGeo_SnapLineToSeed (context, argc, argv); -} - -static void -fnct_CreateNetwork (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_CreateNetwork (context, argc, argv); -} - -static void -fnct_DropNetwork (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_DropNetwork (context, argc, argv); -} - -static void -fnct_GetLastNetworkException (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_GetLastNetworkException (context, argc, argv); -} - -static void -fnct_AddIsoNetNode (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_AddIsoNetNode (context, argc, argv); -} - -static void -fnct_MoveIsoNetNode (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_MoveIsoNetNode (context, argc, argv); -} - -static void -fnct_RemIsoNetNode (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_RemIsoNetNode (context, argc, argv); -} - -static void -fnct_AddLink (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_AddLink (context, argc, argv); -} - -static void -fnct_ChangeLinkGeom (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_ChangeLinkGeom (context, argc, argv); -} - -static void -fnct_RemoveLink (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_RemoveLink (context, argc, argv); -} - -static void -fnct_NewLogLinkSplit (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_NewLogLinkSplit (context, argc, argv); -} - -static void -fnct_ModLogLinkSplit (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_ModLogLinkSplit (context, argc, argv); -} - -static void -fnct_NewGeoLinkSplit (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_NewGeoLinkSplit (context, argc, argv); -} - -static void -fnct_ModGeoLinkSplit (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_ModGeoLinkSplit (context, argc, argv); -} - -static void -fnct_ModLinkHeal (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_ModLinkHeal (context, argc, argv); -} - -static void -fnct_NewLinkHeal (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_NewLinkHeal (context, argc, argv); -} - -static void -fnct_LogiNetFromTGeo (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_LogiNetFromTGeo (context, argc, argv); -} - -static void -fnct_SpatNetFromTGeo (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_SpatNetFromTGeo (context, argc, argv); -} - -static void -fnct_SpatNetFromGeom (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_SpatNetFromGeom (context, argc, argv); -} - -static void -fnct_ValidLogicalNet (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_ValidLogicalNet (context, argc, argv); -} - -static void -fnct_ValidSpatialNet (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_ValidSpatialNet (context, argc, argv); -} - -static void -fnct_GetNetNodeByPoint (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_GetNetNodeByPoint (context, argc, argv); -} - -static void -fnct_GetLinkByPoint (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_GetLinkByPoint (context, argc, argv); -} - -static void -fnct_TopoNet_FromGeoTable (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoNet_FromGeoTable (context, argc, argv); -} - -static void -fnct_TopoNet_ToGeoTable (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoNet_ToGeoTable (context, argc, argv); -} - -static void -fnct_TopoNet_ToGeoTableGeneralize (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoNet_ToGeoTableGeneralize (context, argc, argv); -} - -static void -fnct_TopoNet_Clone (sqlite3_context * context, int argc, sqlite3_value ** argv) -{ - fnctaux_TopoNet_Clone (context, argc, argv); -} - -static void -fnct_TopoNet_GetLinkSeed (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoNet_GetLinkSeed (context, argc, argv); -} - -static void -fnct_TopoNet_UpdateSeeds (sqlite3_context * context, int argc, - sqlite3_value ** argv) -{ - fnctaux_TopoNet_UpdateSeeds (context, argc, argv); -} - -#endif /* end TOPOLOGY conditionals */ +#endif /* end including CONTROL_POINTS */ #ifdef LOADABLE_EXTENSION static void splite_close_callback (void *p_cache) { /* / the DB connection has been terminated / / this callback function is expected to be invoked only if -/ SpatiaLite was loaded as a dynamic extension and will +/ SpatiaLite wasloaded as a dynamic extension and will / perform a final clean-up releasing the internal cache / */ struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; @@ -37128,12 +33219,12 @@ return; if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 || cache->magic2 != SPATIALITE_CACHE_MAGIC2) return; -#ifdef ENABLE_RTTOPO - gaiaResetRtTopoMsg (cache); +#ifdef ENABLE_LWGEOM + gaiaResetLwGeomMsg (); #endif free_internal_cache (cache); } #endif @@ -37168,13 +33259,13 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_proj4_version, 0, 0, 0); sqlite3_create_function_v2 (db, "geos_version", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_geos_version, 0, 0, 0); - sqlite3_create_function_v2 (db, "rttopo_version", 0, + sqlite3_create_function_v2 (db, "lwgeom_version", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_rttopo_version, 0, 0, 0); + fnct_lwgeom_version, 0, 0, 0); sqlite3_create_function_v2 (db, "libxml2_version", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_libxml2_version, 0, 0, 0); sqlite3_create_function_v2 (db, "HasProj", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -37186,19 +33277,13 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_has_geos_advanced, 0, 0, 0); sqlite3_create_function_v2 (db, "HasGeosTrunk", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_has_geos_trunk, 0, 0, 0); - sqlite3_create_function_v2 (db, "HasGeosReentrant", 0, + sqlite3_create_function_v2 (db, "HasLwGeom", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_has_geos_reentrant, 0, 0, 0); - sqlite3_create_function_v2 (db, "HasGeosOnlyReentrant", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_has_geos_only_reentrant, 0, 0, 0); - sqlite3_create_function_v2 (db, "HasRtTopo", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_has_rttopo, 0, 0, 0); + fnct_has_lwgeom, 0, 0, 0); sqlite3_create_function_v2 (db, "HasMathSql", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_has_math_sql, 0, 0, 0); sqlite3_create_function_v2 (db, "HasGeoCallbacks", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -37216,19 +33301,10 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_has_libxml2, 0, 0, 0); sqlite3_create_function_v2 (db, "HasGeoPackage", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_has_geopackage, 0, 0, 0); - sqlite3_create_function_v2 (db, "HasGCP", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_has_gcp, 0, 0, 0); - sqlite3_create_function_v2 (db, "HasGroundControlPoints", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_has_gcp, 0, 0, 0); - sqlite3_create_function_v2 (db, "HasTopology", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_has_topology, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryConstraints", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeometryConstraints, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryConstraints", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -37415,17 +33491,17 @@ fnct_UpdateLayerStatistics, 0, 0, 0); sqlite3_create_function_v2 (db, "UpdateLayerStatistics", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_UpdateLayerStatistics, 0, 0, 0); sqlite3_create_function_v2 (db, "GetLayerExtent", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GetLayerExtent, 0, 0, 0); sqlite3_create_function_v2 (db, "GetLayerExtent", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GetLayerExtent, 0, 0, 0); sqlite3_create_function_v2 (db, "GetLayerExtent", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GetLayerExtent, 0, 0, 0); sqlite3_create_function_v2 (db, "InvalidateLayerStatistics", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_InvalidateLayerStatistics, 0, 0, 0); sqlite3_create_function_v2 (db, "InvalidateLayerStatistics", 1, @@ -37438,59 +33514,10 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CreateRasterCoveragesTable, 0, 0, 0); sqlite3_create_function_v2 (db, "CreateVectorCoveragesTables", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CreateVectorCoveragesTables, 0, 0, 0); - sqlite3_create_function_v2 (db, "WMS_CreateTables", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateWMSTables, 0, 0, 0); - sqlite3_create_function (db, "WMS_RegisterGetCapabilities", 1, SQLITE_ANY, - 0, fnct_RegisterWMSGetCapabilities, 0, 0); - sqlite3_create_function (db, "WMS_RegisterGetCapabilities", 3, SQLITE_ANY, - 0, fnct_RegisterWMSGetCapabilities, 0, 0); - sqlite3_create_function (db, "WMS_UnRegisterGetCapabilities", 1, SQLITE_ANY, - 0, fnct_UnregisterWMSGetCapabilities, 0, 0); - sqlite3_create_function (db, "WMS_SetGetCapabilitiesInfos", 3, SQLITE_ANY, - 0, fnct_SetWMSGetCapabilitiesInfos, 0, 0); - sqlite3_create_function (db, "WMS_RegisterGetMap", 9, SQLITE_ANY, 0, - fnct_RegisterWMSGetMap, 0, 0); - sqlite3_create_function (db, "WMS_RegisterGetMap", 13, SQLITE_ANY, 0, - fnct_RegisterWMSGetMap, 0, 0); - sqlite3_create_function (db, "WMS_RegisterGetMap", 18, SQLITE_ANY, 0, - fnct_RegisterWMSGetMap, 0, 0); - sqlite3_create_function (db, "WMS_UnRegisterGetMap", 2, SQLITE_ANY, 0, - fnct_UnregisterWMSGetMap, 0, 0); - sqlite3_create_function (db, "WMS_SetGetMapInfos", 4, SQLITE_ANY, 0, - fnct_SetWMSGetMapInfos, 0, 0); - sqlite3_create_function (db, "WMS_SetGetMapOptions", 3, SQLITE_ANY, 0, - fnct_SetWMSGetMapOptions, 0, 0); - sqlite3_create_function (db, "WMS_SetGetMapOptions", 4, SQLITE_ANY, 0, - fnct_SetWMSGetMapOptions, 0, 0); - sqlite3_create_function (db, "WMS_SetGetMapOptions", 6, SQLITE_ANY, 0, - fnct_SetWMSGetMapOptions, 0, 0); - sqlite3_create_function (db, "WMS_RegisterSetting", 4, SQLITE_ANY, 0, - fnct_RegisterWMSSetting, 0, 0); - sqlite3_create_function (db, "WMS_RegisterSetting", 5, SQLITE_ANY, 0, - fnct_RegisterWMSSetting, 0, 0); - sqlite3_create_function (db, "WMS_DefaultSetting", 4, SQLITE_ANY, 0, - fnct_DefaultWMSSetting, 0, 0); - sqlite3_create_function (db, "WMS_UnRegisterSetting", 4, SQLITE_ANY, 0, - fnct_UnregisterWMSSetting, 0, 0); - sqlite3_create_function (db, "WMS_RegisterRefSys", 7, SQLITE_ANY, 0, - fnct_RegisterWMSRefSys, 0, 0); - sqlite3_create_function (db, "WMS_RegisterRefSys", 8, SQLITE_ANY, 0, - fnct_RegisterWMSRefSys, 0, 0); - sqlite3_create_function (db, "WMS_DefaultRefSys", 3, SQLITE_ANY, 0, - fnct_DefaultWMSRefSys, 0, 0); - sqlite3_create_function (db, "WMS_UnRegisterRefSys", 3, SQLITE_ANY, 0, - fnct_UnregisterWMSRefSys, 0, 0); - sqlite3_create_function (db, "WMS_GetMapRequestURL", 8, SQLITE_ANY, 0, - fnct_WMSGetMapRequestURL, 0, 0); - sqlite3_create_function (db, "WMS_GetFeatureInfoRequestURL", 10, SQLITE_ANY, - 0, fnct_WMSGetFeatureInfoRequestURL, 0, 0); - sqlite3_create_function (db, "WMS_GetFeatureInfoRequestURL", 11, SQLITE_ANY, - 0, fnct_WMSGetFeatureInfoRequestURL, 0, 0); sqlite3_create_function_v2 (db, "CreateMetaCatalogTables", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CreateMetaCatalogTables, 0, 0, 0); sqlite3_create_function_v2 (db, "UpdateMetaCatalogStatistics", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -37497,29 +33524,29 @@ fnct_UpdateMetaCatalogStatistics, 0, 0, 0); sqlite3_create_function_v2 (db, "UpdateMetaCatalogStatistics", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_UpdateMetaCatalogStatistics, 0, 0, 0); sqlite3_create_function_v2 (db, "AsText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsText, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_AsText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsText, 0, 0, 0); sqlite3_create_function_v2 (db, "AsWkt", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsWkt, 0, 0, 0); sqlite3_create_function_v2 (db, "AsWkt", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsWkt, 0, 0, 0); sqlite3_create_function_v2 (db, "AsSvg", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsSvg1, 0, 0, 0); sqlite3_create_function_v2 (db, "AsSvg", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsSvg2, 0, 0, 0); sqlite3_create_function_v2 (db, "AsSvg", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsSvg3, 0, 0, 0); sqlite3_create_function_v2 (db, "CloneTable", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CloneTable, 0, 0, 0); sqlite3_create_function_v2 (db, "CloneTable", 5, @@ -37550,43 +33577,10 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CloneTable, 0, 0, 0); sqlite3_create_function_v2 (db, "CloneTable", 14, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CloneTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 8, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 9, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 10, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 11, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 12, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 13, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateClonedTable", 14, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_CreateClonedTable, 0, 0, 0); #ifndef OMIT_PROJ /* PROJ.4 is strictly required to support KML */ sqlite3_create_function_v2 (db, "AsKml", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_AsKml, 0, 0, 0); @@ -37600,447 +33594,438 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_AsKml, 0, 0, 0); #endif /* end including PROJ.4 */ sqlite3_create_function_v2 (db, "AsGml", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsGml, 0, 0, 0); sqlite3_create_function_v2 (db, "AsGml", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsGml, 0, 0, 0); sqlite3_create_function_v2 (db, "AsGml", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsGml, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromGml", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_FromGml, 0, 0, 0); sqlite3_create_function_v2 (db, "AsGeoJSON", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsGeoJSON, 0, 0, 0); sqlite3_create_function_v2 (db, "AsGeoJSON", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsGeoJSON, 0, 0, 0); sqlite3_create_function_v2 (db, "AsGeoJSON", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsGeoJSON, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromGeoJSON", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_FromGeoJSON, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromKml", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_FromKml, 0, 0, 0); sqlite3_create_function_v2 (db, "AsFGF", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsFGF, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromEWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_FromEWKB, 0, 0, 0); sqlite3_create_function_v2 (db, "AsEWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ToEWKB, 0, 0, 0); sqlite3_create_function_v2 (db, "AsEWKT", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ToEWKT, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromEWKT", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_FromEWKT, 0, 0, 0); sqlite3_create_function_v2 (db, "AsBinary", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsBinary, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_AsBinary", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsBinary, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomCollFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomCollFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryCollectionFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryCollectionFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "PointFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "PointFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "LineFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "LineFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "LineStringFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "LineStringFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "PolyFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "PolyFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "PolygonFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "PolygonFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "MPointFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "MPointFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiPointFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiPointFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "MLineFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "MLineFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiLineStringFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiLineStringFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "MPolyFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "MPolyFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiPolygonFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiPolygonFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomCollFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomCollFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryCollectionFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryCollectionFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "PointFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "PointFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "LineFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "LineFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "LineStringFromWKB", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "LineStringFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "PolyFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "PolyFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "PolygonFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "PolygonFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "MPointFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "MPointFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiPointFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiPointFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "MLineFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "MLineFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiLineStringFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiLineStringFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "MPolyFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "MPolyFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiPolygonFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "MultiPolygonFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_WKTToSQL", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_WktToSql, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeomFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeomFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeomCollFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeomCollFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryCollectionFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryCollectionFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PointFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PointFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LineFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LineFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LineStringFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LineStringFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PolyFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PolyFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PolygonFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PolygonFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MPointFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MPointFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiPointFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiPointFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MLineFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MLineFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiLineStringFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiLineStringFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MPolyFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MPolyFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiPolygonFromText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromText1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiPolygonFromText", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromText2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_WKBToSQL", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_WkbToSql, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeomFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeomFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeomCollFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeomCollFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryCollectionFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryCollectionFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeomCollFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PointFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PointFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LineFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LineFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LineStringFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LineStringFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LineFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PolyFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PolyFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PolygonFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PolygonFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PolyFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MPointFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MPointFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiPointFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiPointFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPointFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MLineFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MLineFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiLineStringFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiLineStringFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MLineFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MPolyFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MPolyFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiPolygonFromWKB", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromWkb1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MultiPolygonFromWKB", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MPolyFromWkb2, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromFGF", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeometryFromFGF1, 0, 0, 0); sqlite3_create_function_v2 (db, "GeomFromFGF", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeometryFromFGF2, 0, 0, 0); sqlite3_create_function_v2 (db, "CompressGeometry", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CompressGeometry, 0, 0, 0); sqlite3_create_function_v2 (db, "UncompressGeometry", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_UncompressGeometry, 0, 0, 0); sqlite3_create_function_v2 (db, "SanitizeGeometry", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SanitizeGeometry, 0, 0, 0); - sqlite3_create_function_v2 (db, "EnsureClosedRings", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_EnsureClosedRings, 0, 0, 0); - sqlite3_create_function_v2 (db, "RemoveRepeatedPoints", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RemoveRepeatedPoints, 0, 0, 0); - sqlite3_create_function_v2 (db, "RemoveRepeatedPoints", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RemoveRepeatedPoints, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToInteger", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToInteger, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToDouble", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -38086,140 +34071,140 @@ fnct_FileNameFromPath, 0, 0, 0); sqlite3_create_function_v2 (db, "FileExtFromPath", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_FileExtFromPath, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToPoint", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToLinestring", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToLinestring, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToPolygon", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToPolygon, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToMultiPoint", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToMultiPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToMultiLinestring", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToMultiLinestring, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToMultiPolygon", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToMultiPolygon, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToGeometryCollection", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToGeometryCollection, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToMulti", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToMulti, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Multi", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToMulti, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToSingle", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToSingle, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToXY", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToXY, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToXYZ", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToXYZ, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToXYM", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToXYM, 0, 0, 0); sqlite3_create_function_v2 (db, "CastToXYZM", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastToXYZM, 0, 0, 0); sqlite3_create_function_v2 (db, "ExtractMultiPoint", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExtractMultiPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ExtractMultiLinestring", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExtractMultiLinestring, 0, 0, 0); sqlite3_create_function_v2 (db, "ExtractMultiPolygon", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExtractMultiPolygon, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Reverse", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Reverse, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_ForceLHR", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ForceLHR, 0, 0, 0); sqlite3_create_function_v2 (db, "Dimension", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Dimension, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Dimension", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Dimension, 0, 0, 0); sqlite3_create_function_v2 (db, "CoordDimension", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CoordDimension, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_NDims", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NDims, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryType", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeometryType, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryType", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeometryType, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryAliasType", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeometryAliasType, 0, 0, 0); sqlite3_create_function_v2 (db, "SridFromAuthCRS", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SridFromAuthCRS, 0, 0, 0); sqlite3_create_function_v2 (db, "SRID", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SRID, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SRID", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SRID, 0, 0, 0); sqlite3_create_function_v2 (db, "SetSRID", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SetSRID, 0, 0, 0); sqlite3_create_function_v2 (db, "IsEmpty", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_IsEmpty, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_IsEmpty", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_IsEmpty, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Is3D", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Is3D, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_IsMeasured", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_IsMeasured, 0, 0, 0); sqlite3_create_function_v2 (db, "Envelope", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Envelope, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Envelope", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Envelope, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Expand", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Expand, 0, 0, 0); sqlite3_create_function_v2 (db, "X", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, - cache, fnct_X, 0, 0, 0); + 0, fnct_X, 0, 0, 0); sqlite3_create_function_v2 (db, "Y", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, - cache, fnct_Y, 0, 0, 0); + 0, fnct_Y, 0, 0, 0); sqlite3_create_function_v2 (db, "Z", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, - cache, fnct_Z, 0, 0, 0); + 0, fnct_Z, 0, 0, 0); sqlite3_create_function_v2 (db, "M", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, - cache, fnct_M, 0, 0, 0); + 0, fnct_M, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_X", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_X, 0, 0, 0); + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_X, + 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Y", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_Y, 0, 0, 0); + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Y, + 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Z", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_Z, 0, 0, 0); + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Z, + 0, 0, 0); sqlite3_create_function_v2 (db, "ST_M", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_M, 0, 0, 0); + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_M, + 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MinX", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MbrMinX, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MinY", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -38241,65 +34226,65 @@ fnct_MaxZ, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MaxM", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MaxM, 0, 0, 0); sqlite3_create_function_v2 (db, "NumPoints", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NumPoints, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_NumPoints", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NumPoints, 0, 0, 0); sqlite3_create_function_v2 (db, "StartPoint", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_StartPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "EndPoint", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_EndPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_StartPoint", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_StartPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_EndPoint", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_EndPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "PointN", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointN, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_PointN", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_PointN, 0, 0, 0); sqlite3_create_function_v2 (db, "ExteriorRing", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExteriorRing, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_ExteriorRing", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExteriorRing, 0, 0, 0); sqlite3_create_function_v2 (db, "NumInteriorRing", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NumInteriorRings, 0, 0, 0); sqlite3_create_function_v2 (db, "NumInteriorRings", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NumInteriorRings, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_NumInteriorRing", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NumInteriorRings, 0, 0, 0); sqlite3_create_function_v2 (db, "InteriorRingN", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_InteriorRingN, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_InteriorRingN", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_InteriorRingN, 0, 0, 0); sqlite3_create_function_v2 (db, "NumGeometries", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NumGeometries, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_NumGeometries", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NumGeometries, 0, 0, 0); sqlite3_create_function_v2 (db, "GeometryN", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeometryN, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeometryN", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeometryN, 0, 0, 0); sqlite3_create_function_v2 (db, "MBRContains", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MbrContains, 0, 0, 0); sqlite3_create_function_v2 (db, "MbrDisjoint", 2, @@ -38313,17 +34298,17 @@ fnct_MbrIntersects, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_EnvIntersects", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MbrIntersects, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_EnvIntersects", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_EnvIntersects, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_EnvelopesIntersects", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MbrIntersects, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_EnvelopesIntersects", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_EnvIntersects, 0, 0, 0); sqlite3_create_function_v2 (db, "MBROverlaps", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MbrOverlaps, 0, 0, 0); sqlite3_create_function_v2 (db, "MbrTouches", 2, @@ -38331,53 +34316,53 @@ fnct_MbrTouches, 0, 0, 0); sqlite3_create_function_v2 (db, "MbrWithin", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MbrWithin, 0, 0, 0); sqlite3_create_function_v2 (db, "ShiftCoords", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ShiftCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "ShiftCoordinates", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ShiftCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Translate", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Translate, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Shift_Longitude", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ShiftLongitude, 0, 0, 0); sqlite3_create_function_v2 (db, "NormalizeLonLat", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NormalizeLonLat, 0, 0, 0); sqlite3_create_function_v2 (db, "ScaleCoords", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ScaleCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "ScaleCoordinates", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ScaleCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "ScaleCoords", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ScaleCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "ScaleCoordinates", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ScaleCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "RotateCoords", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_RotateCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "RotateCoordinates", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_RotateCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "ReflectCoords", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ReflectCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "ReflectCoordinates", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ReflectCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "SwapCoords", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SwapCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "SwapCoordinates", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SwapCoords, 0, 0, 0); sqlite3_create_function_v2 (db, "BuildMbr", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_BuildMbr1, 0, 0, 0); sqlite3_create_function_v2 (db, "BuildMbr", 5, @@ -38388,11 +34373,11 @@ fnct_BuildCircleMbr1, 0, 0, 0); sqlite3_create_function_v2 (db, "BuildCircleMbr", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_BuildCircleMbr2, 0, 0, 0); sqlite3_create_function_v2 (db, "Extent", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, 0, fnct_Extent_step, fnct_Extent_final, 0); sqlite3_create_function_v2 (db, "MbrMinX", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MbrMinX, 0, 0, 0); sqlite3_create_function_v2 (db, "MbrMaxX", 1, @@ -38430,77 +34415,77 @@ fnct_MakePointZM1, 0, 0, 0); sqlite3_create_function_v2 (db, "MakePointZM", 5, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakePointZM2, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeLine", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, 0, fnct_MakeLine_step, fnct_MakeLine_final, 0); sqlite3_create_function_v2 (db, "MakeLine", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeLine, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircle", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircle, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircle", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircle, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircle", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircle, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipse", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipse, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipse", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipse, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipse", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipse, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeArc", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeArc, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeArc", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeArc, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeArc", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeArc, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipticArc", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipticArc, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipticArc", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipticArc, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipticArc", 8, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipticArc, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircularSector", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircularSector, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircularSector", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircularSector, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircularSector", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircularSector, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircularStripe", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircularStripe, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircularStripe", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircularStripe, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeCircularStripe", 8, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeCircularStripe, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipticSector", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipticSector, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipticSector", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipticSector, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeEllipticSector", 8, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeEllipticSector, 0, 0, 0); sqlite3_create_function_v2 (db, "Collect", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0, fnct_Collect_step, fnct_Collect_final, 0); sqlite3_create_function_v2 (db, "Collect", 2, @@ -38523,104 +34508,104 @@ fnct_FilterMbrContains, 0, 0, 0); sqlite3_create_function_v2 (db, "FilterMbrIntersects", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_FilterMbrIntersects, 0, 0, 0); sqlite3_create_function_v2 (db, "LinesFromRings", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LinesFromRings, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LinesFromRings", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LinesFromRings, 0, 0, 0); sqlite3_create_function_v2 (db, "LinesFromRings", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LinesFromRings, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LinesFromRings", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LinesFromRings, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_NPoints", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NPoints, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_nrings", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_NRings, 0, 0, 0); sqlite3_create_function_v2 (db, "ToGARS", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ToGARS, 0, 0, 0); sqlite3_create_function_v2 (db, "GARSMbr", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GARSMbr, 0, 0, 0); sqlite3_create_function_v2 (db, "SnapToGrid", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SnapToGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SnapToGrid", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SnapToGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "SnapToGrid", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SnapToGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SnapToGrid", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SnapToGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "SnapToGrid", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SnapToGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SnapToGrid", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SnapToGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "SnapToGrid", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SnapToGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SnapToGrid", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SnapToGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "AddPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AddPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_AddPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AddPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "AddPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AddPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_AddPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AddPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "RemovePoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_RemovePoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_RemovePoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_RemovePoint, 0, 0, 0); sqlite3_create_function_v2 (db, "SetPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SetPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SetPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SetPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "SetStartPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SetStartPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SetStartPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SetStartPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "SetEndPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SetEndPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SetEndPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SetEndPoint, 0, 0, 0); sqlite3_create_function_v2 (db, "MakePolygon", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakePolygon, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MakePolygon", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakePolygon, 0, 0, 0); sqlite3_create_function_v2 (db, "MakePolygon", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakePolygon, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MakePolygon", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakePolygon, 0, 0, 0); sqlite3_create_function_v2 (db, "ATM_Create", 0, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AffineTransformMatrix_Create, 0, 0, 0); @@ -38687,63 +34672,33 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AffineTransformMatrix_YRoll, 0, 0, 0); sqlite3_create_function_v2 (db, "ATM_ZRoll", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AffineTransformMatrix_Rotate, 0, 0, 0); - sqlite3_create_function_v2 (db, "ATM_Determinant", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_AffineTransformMatrix_Determinant, 0, 0, - 0); - sqlite3_create_function_v2 (db, "ATM_IsInvertible", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_AffineTransformMatrix_IsInvertible, 0, 0, - 0); - sqlite3_create_function_v2 (db, "ATM_Invert", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_AffineTransformMatrix_Invert, 0, 0, 0); sqlite3_create_function_v2 (db, "ATM_IsValid", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AffineTransformMatrix_IsValid, 0, 0, 0); sqlite3_create_function_v2 (db, "ATM_AsText", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AffineTransformMatrix_AsText, 0, 0, 0); sqlite3_create_function_v2 (db, "ATM_Transform", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_AffineTransformMatrix_GeometryTransform, 0, - 0, 0); - sqlite3_create_function_v2 (db, "ATM_Transform", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AffineTransformMatrix_GeometryTransform, 0, 0, 0); -#ifdef ENABLE_GCP /* only if ControlPoints enabled */ - sqlite3_create_function_v2 (db, "GCP_Compute", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0, - fnct_GroundControlPoints_Compute_step, - fnct_GroundControlPoints_Compute_final, 0); - sqlite3_create_function_v2 (db, "GCP_Compute", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0, - fnct_GroundControlPoints_Compute_step, - fnct_GroundControlPoints_Compute_final, 0); - sqlite3_create_function_v2 (db, "GCP_Transform", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GroundControlPoints_GeometryTransform, 0, - 0, 0); - sqlite3_create_function_v2 (db, "GCP_Transform", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GroundControlPoints_GeometryTransform, 0, - 0, 0); - sqlite3_create_function_v2 (db, "GCP_IsValid", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_GroundControlPoints_IsValid, 0, 0, 0); - sqlite3_create_function_v2 (db, "GCP_AsText", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_GroundControlPoints_AsText, 0, 0, 0); - sqlite3_create_function_v2 (db, "GCP2ATM", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_GroundControlPoints_ToATM, 0, 0, 0); -#endif /* end including GCP */ +#ifdef ENABLE_CONTROL_POINTS /* only if ControlPoints enabled */ + sqlite3_create_function_v2 (db, "ATM_ControlPoints", 2, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, 0, + fnct_AffineTransformMatrix_ControlPoints_step, + fnct_AffineTransformMatrix_ControlPoints_final, + 0); + sqlite3_create_function_v2 (db, "ATM_ControlPoints", 3, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, 0, + fnct_AffineTransformMatrix_ControlPoints_step, + fnct_AffineTransformMatrix_ControlPoints_final, + 0); +#endif /* end including CONTROL_POINTS */ #ifndef OMIT_GEOS /* including GEOS */ sqlite3_create_function_v2 (db, "BuildArea", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_BuildArea, 0, 0, 0); @@ -38757,38 +34712,38 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, 0, fnct_Polygonize_step, fnct_Polygonize_final, 0); #endif /* end including GEOS */ sqlite3_create_function_v2 (db, "DissolveSegments", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_DissolveSegments, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_DissolveSegments", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_DissolveSegments, 0, 0, 0); sqlite3_create_function_v2 (db, "DissolvePoints", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_DissolvePoints, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_DissolvePoints", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_DissolvePoints, 0, 0, 0); sqlite3_create_function_v2 (db, "CollectionExtract", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CollectionExtract, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_CollectionExtract", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CollectionExtract, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Locate_Along_Measure", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LocateBetweenMeasures, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LocateAlong", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LocateBetweenMeasures, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Locate_Between_Measures", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LocateBetweenMeasures, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LocateBetween", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LocateBetweenMeasures, 0, 0, 0); #ifndef OMIT_GEOCALLBACKS /* supporting RTree geometry callbacks */ sqlite3_rtree_geometry_callback (db, "RTreeWithin", fnct_RTreeIntersects, 0); sqlite3_rtree_geometry_callback (db, "RTreeContains", @@ -38846,28 +34801,19 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CheckDuplicateRows, 0, 0, 0); sqlite3_create_function_v2 (db, "RemoveDuplicateRows", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_RemoveDuplicateRows, 0, 0, 0); - sqlite3_create_function_v2 (db, "RemoveDuplicateRows", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_RemoveDuplicateRows, 0, 0, 0); sqlite3_create_function_v2 (db, "ElementaryGeometries", 5, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ElementaryGeometries, 0, 0, 0); - sqlite3_create_function_v2 (db, "ElementaryGeometries", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_ElementaryGeometries, 0, 0, 0); sqlite3_create_function_v2 (db, "DropGeoTable", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_DropGeoTable, 0, 0, 0); sqlite3_create_function_v2 (db, "DropGeoTable", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_DropGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "DropGeoTable", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_DropGeoTable, 0, 0, 0); /* // enabling BlobFromFile, BlobToFile and XB_LoadXML, XB_StoreXML, // ExportDXF and other import/export functions // @@ -38898,13 +34844,10 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_BlobFromFile, 0, 0, 0); sqlite3_create_function_v2 (db, "BlobToFile", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_BlobToFile, 0, 0, 0); - -#ifndef OMIT_GEOS /* only if GEOS is enabled */ - sqlite3_create_function_v2 (db, "ImportDXF", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_ImportDXF, 0, 0, 0); sqlite3_create_function_v2 (db, "ImportDXF", 8, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, @@ -38913,18 +34856,15 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_ImportDXFfromDir, 0, 0, 0); sqlite3_create_function_v2 (db, "ImportDXFfromDir", 8, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_ImportDXFfromDir, 0, 0, 0); - -#endif /* GEOS enabled */ - sqlite3_create_function_v2 (db, "ExportDXF", 9, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExportDXF, 0, 0, 0); sqlite3_create_function_v2 (db, "ExportDXF", 10, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExportDXF, 0, 0, 0); sqlite3_create_function_v2 (db, "ImportDBF", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ImportDBF, 0, 0, 0); sqlite3_create_function_v2 (db, "ImportDBF", 4, @@ -38931,19 +34871,13 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ImportDBF, 0, 0, 0); sqlite3_create_function_v2 (db, "ImportDBF", 5, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ImportDBF, 0, 0, 0); - sqlite3_create_function_v2 (db, "ImportDBF", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_ImportDBF, 0, 0, 0); sqlite3_create_function_v2 (db, "ExportDBF", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExportDBF, 0, 0, 0); - sqlite3_create_function_v2 (db, "ExportDBF", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_ExportDBF, 0, 0, 0); sqlite3_create_function_v2 (db, "ImportSHP", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ImportSHP, 0, 0, 0); sqlite3_create_function_v2 (db, "ImportSHP", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -38967,28 +34901,16 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ImportSHP, 0, 0, 0); sqlite3_create_function_v2 (db, "ImportSHP", 11, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ImportSHP, 0, 0, 0); - sqlite3_create_function_v2 (db, "ImportSHP", 12, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_ImportSHP, 0, 0, 0); - sqlite3_create_function_v2 (db, "ImportSHP", 13, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_ImportSHP, 0, 0, 0); - sqlite3_create_function_v2 (db, "ImportSHP", 14, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_ImportSHP, 0, 0, 0); sqlite3_create_function_v2 (db, "ExportSHP", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExportSHP, 0, 0, 0); sqlite3_create_function_v2 (db, "ExportSHP", 5, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExportSHP, 0, 0, 0); - sqlite3_create_function_v2 (db, "ExportSHP", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_ExportSHP, 0, 0, 0); sqlite3_create_function_v2 (db, "ExportKML", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_ExportKML, 0, 0, 0); sqlite3_create_function_v2 (db, "ExportKML", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -39055,47 +34977,16 @@ fnct_ImportXLS, 0, 0, 0); #endif /* end FREEXL support */ } - -/* global settings */ - -#ifdef ENABLE_GEOPACKAGE /* GEOPACKAGE enabled: supporting GPKG geometries */ - sqlite3_create_function_v2 (db, "EnableGpkgMode", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_enableGpkgMode, 0, 0, 0); - sqlite3_create_function_v2 (db, "DisableGpkgMode", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_disableGpkgMode, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetGpkgMode", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_getGpkgMode, 0, 0, 0); - sqlite3_create_function_v2 (db, "EnableGpkgAmphibiousMode", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_enableGpkgAmphibiousMode, 0, 0, 0); - sqlite3_create_function_v2 (db, "DisableGpkgAmphibiousMode", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_disableGpkgAmphibiousMode, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetGpkgAmphibiousMode", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_getGpkgAmphibiousMode, 0, 0, 0); -#endif /* end GPKG conditional */ - - sqlite3_create_function_v2 (db, "SetDecimalPrecision", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_setDecimalPrecision, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetDecimalPrecision", 0, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_getDecimalPrecision, 0, 0, 0); - /* some Geodesic functions */ sqlite3_create_function_v2 (db, "GreatCircleLength", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GreatCircleLength, 0, 0, 0); sqlite3_create_function_v2 (db, "GeodesicLength", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeodesicLength, 0, 0, 0); /* some Length Unit conversion functions */ sqlite3_create_function_v2 (db, "CvtToKm", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -39227,27 +35118,10 @@ fnct_latFromDMS, 0, 0, 0); sqlite3_create_function_v2 (db, "LongLatToDMS", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_toDMS, 0, 0, 0); - if (cache != NULL) - { - /* Sequences */ - sqlite3_create_function_v2 (db, "sequence_currval", 1, - SQLITE_UTF8, cache, - fnct_sequence_currval, 0, 0, 0); - sqlite3_create_function_v2 (db, "sequence_lastval", 0, - SQLITE_UTF8, cache, - fnct_sequence_lastval, 0, 0, 0); - sqlite3_create_function_v2 (db, "sequence_nextval", 1, - SQLITE_UTF8, cache, - fnct_sequence_nextval, 0, 0, 0); - sqlite3_create_function_v2 (db, "sequence_setval", 2, - SQLITE_UTF8, cache, - fnct_sequence_setval, 0, 0, 0); - } - #ifndef OMIT_MATHSQL /* supporting SQL math functions */ /* some extra math functions */ sqlite3_create_function_v2 (db, "acos", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -39256,13 +35130,10 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_math_asin, 0, 0, 0); sqlite3_create_function_v2 (db, "atan", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_math_atan, 0, 0, 0); - sqlite3_create_function_v2 (db, "atan2", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_math_atan2, 0, 0, 0); sqlite3_create_function_v2 (db, "ceil", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_math_ceil, 0, 0, 0); sqlite3_create_function_v2 (db, "ceiling", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -39361,46 +35232,30 @@ SQLITE_UTF8, cache, fnct_GEOS_GetCriticalPointFromMsg, 0, 0, 0); sqlite3_create_function_v2 (db, "GEOS_GetCriticalPointFromMsg", 1, SQLITE_UTF8, cache, fnct_GEOS_GetCriticalPointFromMsg, 0, 0, 0); - sqlite3_create_function_v2 (db, "IsValidReason", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + sqlite3_create_function_v2 (db, "IsValidReason", 1, SQLITE_UTF8, cache, fnct_IsValidReason, 0, 0, 0); - sqlite3_create_function_v2 (db, "IsValidReason", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + sqlite3_create_function_v2 (db, "ST_IsValidReason", 1, SQLITE_UTF8, cache, fnct_IsValidReason, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_IsValidReason", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_IsValidReason, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_IsValidReason", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_IsValidReason, 0, 0, 0); - sqlite3_create_function_v2 (db, "IsValidDetail", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + sqlite3_create_function_v2 (db, "IsValidDetail", 1, SQLITE_UTF8, cache, fnct_IsValidDetail, 0, 0, 0); - sqlite3_create_function_v2 (db, "IsValidDetail", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_IsValidDetail, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_IsValidDetail", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_IsValidDetail, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_IsValidDetail", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + sqlite3_create_function_v2 (db, "ST_IsValidDetail", 1, SQLITE_UTF8, cache, fnct_IsValidDetail, 0, 0, 0); sqlite3_create_function_v2 (db, "Boundary", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_Boundary, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Boundary", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_Boundary, 0, 0, 0); sqlite3_create_function_v2 (db, "IsClosed", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_IsClosed, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_IsClosed", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_IsClosed, 0, 0, 0); sqlite3_create_function_v2 (db, "IsSimple", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_IsSimple, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_IsSimple", 1, @@ -39413,19 +35268,13 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_IsRing, 0, 0, 0); sqlite3_create_function_v2 (db, "IsValid", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_IsValid, 0, 0, 0); - sqlite3_create_function_v2 (db, "IsValid", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_IsValid, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_IsValid", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_IsValid, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_IsValid", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_IsValid, 0, 0, 0); sqlite3_create_function_v2 (db, "GLength", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_Length, 0, 0, 0); sqlite3_create_function_v2 (db, "GLength", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, @@ -39575,25 +35424,16 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_Contains, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Contains", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_Contains, 0, 0, 0); - sqlite3_create_function_v2 (db, "Relate", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_Relate, 0, 0, 0); sqlite3_create_function_v2 (db, "Relate", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_Relate, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_Relate", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_Relate, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Relate", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_Relate, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_RelateMatch", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RelateMatch, 0, 0, 0); sqlite3_create_function_v2 (db, "Distance", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_Distance, 0, 0, 0); sqlite3_create_function_v2 (db, "Distance", 3, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, @@ -39656,10 +35496,16 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_BdMPolyFromWKB1, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_BdMPolyFromWKB", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_BdMPolyFromWKB2, 0, 0, 0); + sqlite3_create_function_v2 (db, "CreateTopologyTables", 2, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, + fnct_CreateTopologyTables, 0, 0, 0); + sqlite3_create_function_v2 (db, "CreateTopologyTables", 3, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, + fnct_CreateTopologyTables, 0, 0, 0); sqlite3_create_function_v2 (db, "OffsetCurve", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_OffsetCurve, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_OffsetCurve", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, @@ -39801,20 +35647,20 @@ fnct_HexagonalGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_HexagonalGrid", 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_HexagonalGrid, 0, 0, 0); sqlite3_create_function_v2 (db, "LinesCutAtNodes", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LinesCutAtNodes, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_LinesCutAtNodes", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_LinesCutAtNodes, 0, 0, 0); sqlite3_create_function_v2 (db, "RingsCutAtNodes", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_RingsCutAtNodes, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_RingsCutAtNodes", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_RingsCutAtNodes, 0, 0, 0); #ifdef GEOS_ADVANCED /* GEOS advanced features - 3.4.0 */ sqlite3_create_function_v2 (db, "DelaunayTriangulation", 1, @@ -39884,146 +35730,130 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, fnct_ConcaveHull, 0, 0, 0); #endif /* end GEOS advanced features */ -#ifdef ENABLE_RTTOPO /* enabling RTTOPO support */ +#ifdef ENABLE_LWGEOM /* enabling LWGEOM support */ - sqlite3_create_function_v2 (db, "RTTOPO_GetLastErrorMsg", 0, SQLITE_UTF8, - 0, fnct_RTTOPO_GetLastErrorMsg, 0, 0, 0); - sqlite3_create_function_v2 (db, "RTTOPO_GetLastWarningMsg", 0, SQLITE_UTF8, - 0, fnct_RTTOPO_GetLastWarningMsg, 0, 0, 0); + sqlite3_create_function_v2 (db, "LWGEOM_GetLastErrorMsg", 0, SQLITE_UTF8, + 0, fnct_LWGEOM_GetLastErrorMsg, 0, 0, 0); + sqlite3_create_function_v2 (db, "LWGEOM_GetLastWarningMsg", 0, SQLITE_UTF8, + 0, fnct_LWGEOM_GetLastWarningMsg, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeValid", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeValid, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MakeValid", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeValid, 0, 0, 0); sqlite3_create_function_v2 (db, "MakeValidDiscarded", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeValidDiscarded, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MakeValidDiscarded", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MakeValidDiscarded, 0, 0, 0); sqlite3_create_function_v2 (db, "Area", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Area, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Area", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Area, 0, 0, 0); sqlite3_create_function_v2 (db, "Segmentize", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Segmentize, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Segmentize", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Segmentize, 0, 0, 0); sqlite3_create_function_v2 (db, "Azimuth", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Azimuth, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Azimuth", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Azimuth, 0, 0, 0); sqlite3_create_function_v2 (db, "Project", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Project, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Project", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Project, 0, 0, 0); sqlite3_create_function_v2 (db, "GeoHash", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeoHash, 0, 0, 0); sqlite3_create_function_v2 (db, "GeoHash", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeoHash, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeoHash", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeoHash, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_GeoHash", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GeoHash, 0, 0, 0); sqlite3_create_function_v2 (db, "AsX3D", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsX3D, 0, 0, 0); sqlite3_create_function_v2 (db, "AsX3D", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsX3D, 0, 0, 0); sqlite3_create_function_v2 (db, "AsX3D", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsX3D, 0, 0, 0); sqlite3_create_function_v2 (db, "AsX3D", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsX3D, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_AsX3D", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsX3D, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_AsX3D", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsX3D, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_AsX3D", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsX3D, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_AsX3D", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_AsX3D, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_3DDistance", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_3DDistance, 0, 0, 0); sqlite3_create_function_v2 (db, "MaxDistance", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MaxDistance, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_MaxDistance", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_MaxDistance, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_3DMaxDistance", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_3DMaxDistance, 0, 0, 0); sqlite3_create_function_v2 (db, "Split", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Split, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Split", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Split, 0, 0, 0); sqlite3_create_function_v2 (db, "SplitLeft", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SplitLeft, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SplitLeft", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SplitLeft, 0, 0, 0); sqlite3_create_function_v2 (db, "SplitRight", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SplitRight, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SplitRight", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SplitRight, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_Node", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_Node, 0, 0, 0); sqlite3_create_function_v2 (db, "SelfIntersections", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SelfIntersections, 0, 0, 0); sqlite3_create_function_v2 (db, "ST_SelfIntersections", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_SelfIntersections, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_3dLength", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_3dLength, 0, 0, 0); -#endif /* end RTTOPO support */ - - sqlite3_create_function_v2 (db, "ST_Cutter", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_Cutter, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_Cutter", 8, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_Cutter, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_Cutter", 9, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_Cutter, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetCutterMessage", 0, - SQLITE_UTF8, cache, - fnct_GetCutterMessage, 0, 0, 0); +#endif /* end LWGEOM support */ #endif /* end including GEOS */ #ifdef ENABLE_LIBXML2 /* including LIBXML2 */ @@ -40047,16 +35877,10 @@ sqlite3_create_function (db, "SE_RegisterVectorCoverageSrid", 2, SQLITE_ANY, 0, fnct_RegisterVectorCoverageSrid, 0, 0); sqlite3_create_function (db, "SE_UnRegisterVectorCoverageSrid", 2, SQLITE_ANY, 0, fnct_UnregisterVectorCoverageSrid, 0, 0); - sqlite3_create_function (db, "SE_RegisterVectorCoverageKeyword", 2, - SQLITE_ANY, 0, fnct_RegisterVectorCoverageKeyword, - 0, 0); - sqlite3_create_function (db, "SE_UnRegisterVectorCoverageKeyword", 2, - SQLITE_ANY, 0, - fnct_UnregisterVectorCoverageKeyword, 0, 0); sqlite3_create_function (db, "SE_UpdateVectorCoverageExtent", 0, SQLITE_ANY, 0, fnct_UpdateVectorCoverageExtent, 0, 0); sqlite3_create_function (db, "SE_UpdateVectorCoverageExtent", 1, SQLITE_ANY, 0, fnct_UpdateVectorCoverageExtent, 0, 0); sqlite3_create_function (db, "SE_UpdateVectorCoverageExtent", 2, SQLITE_ANY, @@ -40109,16 +35933,10 @@ sqlite3_create_function (db, "SE_RegisterRasterCoverageSrid", 2, SQLITE_ANY, 0, fnct_RegisterRasterCoverageSrid, 0, 0); sqlite3_create_function (db, "SE_UnRegisterRasterCoverageSrid", 2, SQLITE_ANY, 0, fnct_UnregisterRasterCoverageSrid, 0, 0); - sqlite3_create_function (db, "SE_RegisterRasterCoverageKeyword", 2, - SQLITE_ANY, 0, fnct_RegisterRasterCoverageKeyword, - 0, 0); - sqlite3_create_function (db, "SE_UnRegisterRasterCoverageKeyword", 2, - SQLITE_ANY, 0, - fnct_UnregisterRasterCoverageKeyword, 0, 0); sqlite3_create_function (db, "SE_UpdateRasterCoverageExtent", 0, SQLITE_ANY, 0, fnct_UpdateRasterCoverageExtent, 0, 0); sqlite3_create_function (db, "SE_UpdateRasterCoverageExtent", 1, SQLITE_ANY, 0, fnct_UpdateRasterCoverageExtent, 0, 0); sqlite3_create_function (db, "SE_UpdateRasterCoverageExtent", 2, SQLITE_ANY, @@ -40238,13 +36056,10 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_XB_IsSldStyle, 0, 0, 0); sqlite3_create_function_v2 (db, "XB_IsSvg", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_XB_IsSvg, 0, 0, 0); - sqlite3_create_function_v2 (db, "XB_IsGpx", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, - fnct_XB_IsGpx, 0, 0, 0); sqlite3_create_function_v2 (db, "XB_GetSchemaURI", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_XB_GetSchemaURI, 0, 0, 0); sqlite3_create_function_v2 (db, "XB_GetInternalSchemaURI", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, @@ -40277,13 +36092,10 @@ SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_XB_GetAbstract, 0, 0, 0); sqlite3_create_function_v2 (db, "XB_GetGeometry", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_XB_GetGeometry, 0, 0, 0); - sqlite3_create_function_v2 (db, "XB_MLineFromGPX", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_XB_MLineFromGPX, 0, 0, 0); sqlite3_create_function_v2 (db, "XB_GetDocumentSize", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_XB_GetDocumentSize, 0, 0, 0); sqlite3_create_function_v2 (db, "XB_GetEncoding", 1, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, @@ -40380,404 +36192,15 @@ fnct_IsValidGPB, 0, 0, 0); sqlite3_create_function_v2 (db, "GPKG_IsAssignable", 2, SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_GPKG_IsAssignable, 0, 0, 0); sqlite3_create_function_v2 (db, "CastAutomagic", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, + SQLITE_UTF8 | SQLITE_DETERMINISTIC, 0, fnct_CastAutomagic, 0, 0, 0); #endif /* end enabling GeoPackage extensions */ -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - if (sqlite3_libversion_number () >= 3008003) - { - /* only SQLite >= 3.8.3 can suppoty WITH RECURSIVE */ - sqlite3_create_function_v2 (db, "CreateTopology", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateTopology, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateTopology", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateTopology, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateTopology", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateTopology, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateTopology", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateTopology, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_InitTopoGeo", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateTopology, 0, 0, 0); - sqlite3_create_function_v2 (db, "DropTopology", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_DropTopology, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetLastTopologyException", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetLastTopologyException, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_AddIsoNode", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_AddIsoNode, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_MoveIsoNode", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_MoveIsoNode, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_RemIsoNode", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RemIsoNode, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_AddIsoEdge", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_AddIsoEdge, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_RemIsoEdge", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RemIsoEdge, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ModEdgeSplit", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ModEdgeSplit, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_NewEdgesSplit", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_NewEdgesSplit, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_AddEdgeModFace", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_AddEdgeModFace, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_AddEdgeNewFaces", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_AddEdgeNewFaces, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ChangeEdgeGeom", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ChangeEdgeGeom, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_RemEdgeNewFace", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RemEdgeNewFace, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_RemEdgeModFace", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RemEdgeModFace, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ModEdgeHeal", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ModEdgeHeal, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_NewEdgeHeal", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_NewEdgeHeal, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_GetFaceGeometry", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetFaceGeometry, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_GetFaceEdges", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetFaceEdges, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ValidateTopoGeo", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ValidateTopoGeo, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_CreateTopoGeo", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateTopoGeo, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetNodeByPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetNodeByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetNodeByPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetNodeByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetEdgeByPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetEdgeByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetEdgeByPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetEdgeByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetFaceByPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetFaceByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetFaceByPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetFaceByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_AddPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_AddPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_AddPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_AddPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_AddLineString", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_AddLineString, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_AddLineString", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_AddLineString, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_AddLineStringNoFace", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_AddLineStringNoFace, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_AddLineStringNoFace", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_AddLineStringNoFace, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTable", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTable", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTable", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTable", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableNoFace", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableNoFace, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableNoFace", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableNoFace, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableNoFace", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableNoFace, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableNoFace", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableNoFace, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableExt", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableExt, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableExt", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableExt, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableExt", 8, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableExt, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableExt", 9, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableExt, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableNoFaceExt", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableNoFaceExt, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableNoFaceExt", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableNoFaceExt, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableNoFaceExt", 8, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableNoFaceExt, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_FromGeoTableNoFaceExt", 9, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_FromGeoTableNoFaceExt, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_Polygonize", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_Polygonize, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_Polygonize", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_Polygonize, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_TopoSnap", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_TopoSnap, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_TopoSnap", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_TopoSnap, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_SnappedGeoTable", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_SnappedGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_SnappedGeoTable", 8, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_SnappedGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_ToGeoTable", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_ToGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_ToGeoTable", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_ToGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_ToGeoTableGeneralize", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_ToGeoTableGeneralize, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_ToGeoTableGeneralize", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_ToGeoTableGeneralize, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_RemoveSmallFaces", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_RemoveSmallFaces, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_RemoveDanglingEdges", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_RemoveDanglingEdges, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_RemoveDanglingNodes", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_RemoveDanglingNodes, 0, 0, - 0); - sqlite3_create_function_v2 (db, "TopoGeo_NewEdgeHeal", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_NewEdgeHeal, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_ModEdgeHeal", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_ModEdgeHeal, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_Clone", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_Clone, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_SubdivideLines", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_SubdivideLines, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_SubdivideLines", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_SubdivideLines, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_GetEdgeSeed", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_GetEdgeSeed, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_GetFaceSeed", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_GetFaceSeed, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_UpdateSeeds", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_UpdateSeeds, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_UpdateSeeds", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_UpdateSeeds, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_SnapPointToSeed", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_SnapPointToSeed, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_SnapLineToSeed", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_SnapLineToSeed, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_CreateTopoLayer", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_CreateTopoLayer, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_CreateTopoLayer", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_CreateTopoLayer, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_InitTopoLayer", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_InitTopoLayer, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_RemoveTopoLayer", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_RemoveTopoLayer, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_ExportTopoLayer", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_ExportTopoLayer, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_ExportTopoLayer", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_ExportTopoLayer, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_ExportTopoLayer", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoGeo_ExportTopoLayer, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoGeo_InsertFeatureFromTopoLayer", - 4, SQLITE_UTF8 | SQLITE_DETERMINISTIC, - cache, - fnct_TopoGeo_InsertFeatureFromTopoLayer, - 0, 0, 0); - } - - sqlite3_create_function_v2 (db, "CreateNetwork", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateNetwork, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateNetwork", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateNetwork, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateNetwork", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateNetwork, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateNetwork", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateNetwork, 0, 0, 0); - sqlite3_create_function_v2 (db, "CreateNetwork", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateNetwork, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_InitTopoNet", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_CreateNetwork, 0, 0, 0); - sqlite3_create_function_v2 (db, "DropNetwork", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_DropNetwork, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetLastNetworkException", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetLastNetworkException, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_AddIsoNetNode", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_AddIsoNetNode, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_MoveIsoNetNode", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_MoveIsoNetNode, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_RemIsoNetNode", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RemIsoNetNode, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_AddLink", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_AddLink, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ChangeLinkGeom", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ChangeLinkGeom, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_RemoveLink", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_RemoveLink, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_NewLogLinkSplit", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_NewLogLinkSplit, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ModLogLinkSplit", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ModLogLinkSplit, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_NewGeoLinkSplit", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_NewGeoLinkSplit, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ModGeoLinkSplit", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ModGeoLinkSplit, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_NewLinkHeal", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_NewLinkHeal, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ModLinkHeal", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ModLinkHeal, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_LogiNetFromTGeo", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_LogiNetFromTGeo, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_SpatNetFromTGeo", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_SpatNetFromTGeo, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_SpatNetFromGeom", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_SpatNetFromGeom, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ValidLogicalNet", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ValidLogicalNet, 0, 0, 0); - sqlite3_create_function_v2 (db, "ST_ValidSpatialNet", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_ValidSpatialNet, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetNetNodeByPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetNetNodeByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetNetNodeByPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetNetNodeByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetLinkByPoint", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetLinkByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "GetLinkByPoint", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_GetLinkByPoint, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_FromGeoTable", 4, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_FromGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_ToGeoTable", 5, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_ToGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_ToGeoTable", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_ToGeoTable, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_ToGeoTableGeneralize", 6, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_ToGeoTableGeneralize, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_ToGeoTableGeneralize", 7, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_ToGeoTableGeneralize, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_Clone", 3, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_Clone, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_GetLinkSeed", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_GetLinkSeed, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_UpdateSeeds", 1, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_UpdateSeeds, 0, 0, 0); - sqlite3_create_function_v2 (db, "TopoNet_UpdateSeeds", 2, - SQLITE_UTF8 | SQLITE_DETERMINISTIC, cache, - fnct_TopoNet_UpdateSeeds, 0, 0, 0); -#endif /* end TOPOLOGY conditionals */ - return cache; } SPATIALITE_PRIVATE void init_spatialite_virtualtables (void *p_db, const void *p_cache) @@ -40798,12 +36221,10 @@ #endif /* FreeXL enabled/disable */ #endif /* ICONV enabled/disabled */ /* initializing the VirtualNetwork extension */ virtualnetwork_extension_init (db); -/* initializing the VirtualRouting extension */ - virtualrouting_extension_init (db); /* initializing the MbrCache extension */ mbrcache_extension_init (db); /* initializing the VirtualFDO extension */ virtualfdo_extension_init (db); /* initializing the VirtualBBox extension */ @@ -40811,15 +36232,10 @@ /* initializing the VirtualSpatialIndex extension */ virtual_spatialindex_extension_init (db); /* initializing the VirtualElementary extension */ virtual_elementary_extension_init (db); -#ifndef OMIT_KNN /* only if KNN is enabled */ -/* initializing the VirtualKNN extension */ - virtual_knn_extension_init (db); -#endif /* end KNN conditional */ - #ifdef ENABLE_GEOPACKAGE /* only if GeoPackage support is enabled */ /* initializing the VirtualFDO extension */ virtualgpkg_extension_init (db); #endif /* end GEOPACKAGE conditional */ @@ -40836,10 +36252,14 @@ { void *p_cache = spatialite_alloc_connection (); struct splite_internal_cache *cache = (struct splite_internal_cache *) p_cache; SQLITE_EXTENSION_INIT2 (pApi); + +#ifdef POSTGIS_2_1 /* initializing liblwgeom from PostGIS 2.1.x (or later) */ + splite_lwgeom_init (); +#endif /* end POSTGIS_2_1 */ /* setting the POSIX locale for numeric */ setlocale (LC_NUMERIC, "POSIX"); *pzErrMsg = NULL; @@ -40855,15 +36275,13 @@ #endif SPATIALITE_DECLARE void spatialite_init_geos (void) { -/* initializes GEOS (or resets to initial state - as required by RTTOPO) */ +/* initializes GEOS (or resets to initial state - as required by LWGEOM) */ #ifndef OMIT_GEOS /* initializing GEOS */ -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ initGEOS (geos_warning, geos_error); -#endif #endif /* end GEOS */ } SPATIALITE_PRIVATE void spatialite_splash_screen (int verbose) @@ -40893,15 +36311,10 @@ spatialite_i ("\t- 'VirtualSpatialIndex'\t[R*Tree metahandler]\n"); spatialite_i ("\t- 'VirtualElementary'\t[ElemGeoms metahandler]\n"); -#ifndef OMIT_KNN /* only if KNN is enabled */ - spatialite_i - ("\t- 'VirtualKNN'\t[K-Nearest Neighbors metahandler]\n"); -#endif /* end KNN conditional */ - #ifdef ENABLE_LIBXML2 /* VirtualXPath is supported */ spatialite_i ("\t- 'VirtualXPath'\t[XML Path Language - XPath]\n"); #endif /* end including LIBXML2 */ @@ -40921,15 +36334,15 @@ #endif /* end including PROJ.4 */ #ifndef OMIT_GEOS /* GEOS version */ if (verbose) spatialite_i ("GEOS version ........: %s\n", GEOSversion ()); #endif /* end GEOS version */ -#ifdef ENABLE_RTTOPO /* RTTOPO version */ +#ifdef ENABLE_LWGEOM /* LWGEOM version */ if (verbose) - spatialite_i ("RTTOPO version ......: %s\n", - splite_rttopo_version ()); -#endif /* end RTTOPO version */ + spatialite_i ("LWGEOM version ......: %s\n", + splite_lwgeom_version ()); +#endif /* end LWGEOM version */ if (verbose) spatialite_i ("TARGET CPU ..........: %s\n", spatialite_target_cpu ()); } } @@ -40948,10 +36361,14 @@ return; } /* setting the POSIX locale for numeric */ setlocale (LC_NUMERIC, "POSIX"); + +#ifdef POSTGIS_2_1 /* initializing liblwgeom from PostGIS 2.1.x (or later) */ + splite_lwgeom_init (); +#endif /* end POSTGIS_2_1 */ register_spatialite_sql_functions (db_handle, cache); init_spatialite_virtualtables (db_handle, p_cache); spatialite_splash_screen (verbose); @@ -40969,12 +36386,12 @@ return; if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 || cache->magic2 != SPATIALITE_CACHE_MAGIC2) return; -#ifdef ENABLE_RTTOPO - gaiaResetRtTopoMsg (cache); +#ifdef ENABLE_LWGEOM + gaiaResetLwGeomMsg (); #endif free_internal_cache (cache); sqlite3_reset_auto_extension (); } Index: src/spatialite/spatialite_init.c ================================================================== --- src/spatialite/spatialite_init.c +++ src/spatialite/spatialite_init.c @@ -1,10 +1,10 @@ /* spatialite_init.c -- SQLite3 spatial extension - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Pepijn Van Eeckhoudt (implementing Android support) @@ -70,15 +70,10 @@ #include #include #include #ifndef OMIT_GEOS /* including GEOS */ -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif #include #endif #ifndef LOADABLE_EXTENSION /* ordinary library, not loadable-extension */ @@ -112,14 +107,16 @@ is warmly reccomended */ spatialite_initialize (); #ifndef OMIT_GEOS /* initializing GEOS */ -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ initGEOS (geos_warning, geos_error); -#endif #endif /* end GEOS */ + +#ifdef POSTGIS_2_1 /* initializing liblwgeom from PostGIS 2.1.x (or later) */ + splite_lwgeom_init (); +#endif /* end POSTGIS_2_1 */ sqlite3_auto_extension ((void (*)(void)) init_spatialite_extension); spatialite_splash_screen (verbose); } @@ -130,17 +127,15 @@ always using spatialite_cleanup_ex() as a replacement is warmly reccomended */ #ifndef OMIT_GEOS -#ifndef GEOS_USE_ONLY_R_API /* obsolete versions non fully thread-safe */ finishGEOS (); -#endif #endif #ifdef ENABLE_LWGEOM gaiaResetLwGeomMsg (); #endif sqlite3_reset_auto_extension (); } #endif Index: src/spatialite/srid_aux.c ================================================================== --- src/spatialite/srid_aux.c +++ src/spatialite/srid_aux.c @@ -1,10 +1,10 @@ /* srid_aux.c -- SRID auxiliary functions - version 4.3.0, 2014 December 4 + version 4.2.1, 2014 December 4 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2014-2015 +Portions created by the Initial Developer are Copyright (C) 2014 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -54,11 +54,10 @@ */ #include #include #include -#include #if defined(_WIN32) && !defined(__MINGW32__) #include "config-msvc.h" #else #include "config.h" @@ -65,11 +64,10 @@ #endif #include #include #include -#include #ifdef _WIN32 #define strcasecmp _stricmp #endif /* not WIN32 */ @@ -1651,11 +1649,11 @@ / then returning the corresponding Axis name or orientation */ char *result = NULL; int ret; sqlite3_stmt *stmt = NULL; - const char *sql = ""; + const char *sql; if ((axis == SPLITE_AXIS_1 || axis == SPLITE_AXIS_2) && (mode == SPLITE_AXIS_NAME || mode == SPLITE_AXIS_ORIENTATION)) ; else @@ -1732,173 +1730,5 @@ if (result != NULL) return result; } return NULL; } - -static void -getProjParamsFromSpatialReferenceSystemTable (sqlite3 * sqlite, int srid, - char **proj_params) -{ -/* retrives the PROJ params from SPATIAL_SYS_REF table, if possible */ - char *sql; - char **results; - int rows; - int columns; - int i; - int ret; - int len; - const char *proj4text; - char *errMsg = NULL; - *proj_params = NULL; - sql = - sqlite3_mprintf - ("SELECT proj4text FROM spatial_ref_sys WHERE srid = %d", srid); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("unknown SRID: %d\t<%s>\n", srid, errMsg); - sqlite3_free (errMsg); - return; - } - for (i = 1; i <= rows; i++) - { - proj4text = results[(i * columns)]; - if (proj4text != NULL) - { - len = strlen (proj4text); - *proj_params = malloc (len + 1); - strcpy (*proj_params, proj4text); - } - } - if (*proj_params == NULL) - { - spatialite_e ("unknown SRID: %d\n", srid); - } - sqlite3_free_table (results); -} - -static int -coordinates_system_matches (struct epsg_defs *iter, const char *organization, - const int organization_coordsys_id) -{ - if (organization == NULL) - { - /* we didn't have a good lookup on the target database, so use best-efforts lookup */ - return ((iter->srid == organization_coordsys_id) - && (iter->proj4text != NULL)); - } - else - { - return ((strcasecmp (iter->auth_name, organization) == 0) - && (iter->auth_srid == organization_coordsys_id) - && (iter->proj4text != NULL)); - } -} - -static void -getProjParamsFromGeopackageTable (sqlite3 * sqlite, int srid, - char **proj_params) -{ - char *sql; - char **results; - int rows; - int columns; - int ret; - int len; - char *errMsg = NULL; - struct epsg_defs *first = NULL; - struct epsg_defs *last = NULL; - struct epsg_defs *iter = NULL; - const char *organization = NULL; - int organization_coordsys_id = -1; - - *proj_params = NULL; - - sql = - sqlite3_mprintf - ("SELECT organization, organization_coordsys_id FROM gpkg_spatial_ref_sys WHERE srs_id = %d", - srid); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("unknown SRID: %d\t<%s>\n", srid, errMsg); - sqlite3_free (errMsg); - return; - } - if (rows == 0) - { - printf - ("unknown SRID: %d\t(not in local database, ignoring authority and using best efforts...)\n", - srid); - organization_coordsys_id = srid; - } - else if (rows == 1) - { - /* there are 'columns' entries in the header row (result indexes 0 to columns - 1), and our data is the next row */ - organization = results[columns]; - errno = 0; - organization_coordsys_id = strtol (results[columns + 1], NULL, 10); - if ((errno != 0) || (organization_coordsys_id == 0)) - { - spatialite_e ("Invalid organization_coordsys_id format: %s\n", - results[columns + 1]); - sqlite3_free_table (results); - return; - } - } - else if (rows > 1) - { - spatialite_e - ("invalid or corrupt gpkg_spatial_ref_sys table - duplicate entries for : %d\n", - srid); - sqlite3_free_table (results); - return; - } - - if (organization == NULL) - { - /* best-effort mode */ - initialize_epsg (srid, &first, &last); - } - else - { - initialize_epsg (GAIA_EPSG_ANY, &first, &last); - } - iter = first; - while (iter) - { - if (coordinates_system_matches - (iter, organization, organization_coordsys_id)) - { - len = strlen (iter->proj4text); - *proj_params = malloc (len + 1); - strcpy (*proj_params, iter->proj4text); - free_epsg (first); - sqlite3_free_table (results); - return; - } - iter = iter->next; - } - /* if we get here, we didn't find a match */ - free_epsg (first); - sqlite3_free_table (results); - spatialite_e ("unknown SRID: %d\n", srid); -} - -SPATIALITE_PRIVATE void -getProjParams (void *p_sqlite, int srid, char **proj_params) -{ -/* retrives the PROJ params from SPATIAL_SYS_REF table */ - sqlite3 *sqlite = (sqlite3 *) p_sqlite; - *proj_params = NULL; - -/* searching within "vanilla" spatial_reference_sys */ - getProjParamsFromSpatialReferenceSystemTable (sqlite, srid, proj_params); - if (*proj_params != NULL) - return; - -/* last opportunity: search within GPKG srs */ - getProjParamsFromGeopackageTable (sqlite, srid, proj_params); -} Index: src/spatialite/statistics.c ================================================================== --- src/spatialite/statistics.c +++ src/spatialite/statistics.c @@ -1,10 +1,10 @@ /* statistics.c -- helper functions updating internal statistics - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Pepijn Van Eeckhoudt (implementing Android support) @@ -71,10 +71,18 @@ #include #include #include #include + +#ifndef OMIT_GEOS /* including GEOS */ +#include +#endif + +#ifndef OMIT_PROJ /* including PROJ.4 */ +#include +#endif #ifdef _WIN32 #define strcasecmp _stricmp #endif /* not WIN32 */ @@ -1705,11 +1713,10 @@ int ok_views_layer_statistics; int ok_virts_layer_statistics; int ok_layer_params; int ok_layer_sub_classes; int ok_layer_table_layout; - char *error_message; }; static int do_drop_table (sqlite3 * sqlite, const char *prefix, const char *table, struct drop_params *aux) @@ -1717,12 +1724,10 @@ /* performing the actual work */ char *sql; char *q_prefix; char *q_name; int i; - int ret; - char *errMsg = NULL; if (aux->is_view) { /* dropping a View */ q_name = gaiaDoubleQuotedSql (table); @@ -1730,17 +1735,12 @@ sql = sqlite3_mprintf ("DROP VIEW IF EXISTS \"%s\".\"%s\"", q_prefix, q_name); free (q_prefix); free (q_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } else { /* dropping a Table */ q_name = gaiaDoubleQuotedSql (table); @@ -1748,17 +1748,12 @@ sql = sqlite3_mprintf ("DROP TABLE IF EXISTS \"%s\".\"%s\"", q_prefix, q_name); free (q_prefix); free (q_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } for (i = 0; i < aux->n_rtrees; i++) { /* dropping any R*Tree */ @@ -1767,17 +1762,12 @@ sql = sqlite3_mprintf ("DROP TABLE IF EXISTS \"%s\".\"%s\"", q_prefix, q_name); free (q_prefix); free (q_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_layer_params) { /* deleting from LAYER_PARAMS */ @@ -1784,82 +1774,57 @@ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".layer_params " "WHERE lower(table_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_layer_sub_classes) { /* deleting from LAYER_SUB_CLASSES */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".layer_sub_classes " "WHERE lower(table_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_layer_table_layout) { /* deleting from LAYER_TABLE_LAYOUT */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".layer_table_layout " "WHERE lower(table_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_geometry_columns_auth) { /* deleting from GEOMETRY_COLUMNS_AUTH */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".geometry_columns_auth " "WHERE lower(f_table_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_geometry_columns_field_infos) { /* deleting from GEOMETRY_COLUMNS_FIELD_INFOS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf - ("DELETE FROM \"%s\".geometry_columns_field_infos " + ("DELETE FROM \"%s\".geometry_columns_fiels_infos " "WHERE lower(f_table_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_geometry_columns_statistics) { /* deleting from GEOMETRY_COLUMNS_STATISTICS */ q_prefix = gaiaDoubleQuotedSql (prefix); @@ -1866,17 +1831,12 @@ sql = sqlite3_mprintf ("DELETE FROM \"%s\".geometry_columns_statistics " "WHERE lower(f_table_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_views_geometry_columns_auth) { /* deleting from VIEWS_GEOMETRY_COLUMNS_AUTH */ q_prefix = gaiaDoubleQuotedSql (prefix); @@ -1883,34 +1843,24 @@ sql = sqlite3_mprintf ("DELETE FROM \"%s\".views_geometry_columns_auth " "WHERE lower(view_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_views_geometry_columns_field_infos) { /* deleting from VIEWS_GEOMETRY_COLUMNS_FIELD_INFOS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf - ("DELETE FROM \"%s\".views_geometry_columns_field_infos " + ("DELETE FROM \"%s\".views_geometry_columns_fiels_infos " "WHERE view_name = %Q", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_views_geometry_columns_statistics) { /* deleting from VIEWS_GEOMETRY_COLUMNS_STATISTICS */ q_prefix = gaiaDoubleQuotedSql (prefix); @@ -1917,17 +1867,12 @@ sql = sqlite3_mprintf ("DELETE FROM \"%s\".views_geometry_columns_statistics " "WHERE lower(view_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_virts_geometry_columns_auth) { /* deleting from VIRTS_GEOMETRY_COLUMNS_AUTH */ q_prefix = gaiaDoubleQuotedSql (prefix); @@ -1934,34 +1879,24 @@ sql = sqlite3_mprintf ("DELETE FROM \"%s\".virts_geometry_columns_auth " "WHERE lower(virt_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_virts_geometry_columns_field_infos) { /* deleting from VIRTS_GEOMETRY_COLUMNS_FIELD_INFOS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf - ("DELETE FROM \"%s\".virts_geometry_columns_field_infos " + ("DELETE FROM \"%s\".virts_geometry_columns_fiels_infos " "WHERE lower(virt_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_virts_geometry_columns_statistics) { /* deleting from VIRTS_GEOMETRY_COLUMNS_STATISTICS */ q_prefix = gaiaDoubleQuotedSql (prefix); @@ -1968,113 +1903,78 @@ sql = sqlite3_mprintf ("DELETE FROM \"%s\".virts_geometry_columns_statistics " "WHERE lower(virt_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_layer_statistics) { /* deleting from LAYER_STATISTICS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".layer_statistics " "WHERE lower(table_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_views_layer_statistics) { /* deleting from VIEWS_LAYER_STATISTICS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".views_layer_statistics " "WHERE lower(view_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_virts_layer_statistics) { /* deleting from VIRTS_LAYER_STATISTICS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".virts_layer_statistics " "WHERE lower(virt_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_geometry_columns) { /* deleting from GEOMETRY_COLUMNS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".geometry_columns " "WHERE lower(f_table_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_views_geometry_columns) { /* deleting from VIEWS_GEOMETRY_COLUMNS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".views_geometry_columns " "WHERE lower(view_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } if (aux->ok_virts_geometry_columns) { /* deleting from VIEWS_GEOMETRY_COLUMNS */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("DELETE FROM \"%s\".virts_geometry_columns " "WHERE lower(virt_name) = lower(%Q)", q_prefix, table); free (q_prefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); + sqlite3_exec (sqlite, sql, NULL, NULL, NULL); sqlite3_free (sql); - if (ret != SQLITE_OK) - { - aux->error_message = errMsg; - return 0; - } } return 1; } @@ -2161,16 +2061,10 @@ int columns; char jolly = '%'; int ret; char *sql; char *q_prefix = gaiaDoubleQuotedSql (prefix); - - if (strcasecmp (prefix, "TEMP") == 0) - { - /* TEMPORARY object; unconditioanally returning TRUE */ - return 1; - } sql = sqlite3_mprintf ("SELECT type, name FROM \"%s\".sqlite_master WHERE type = 'table' or type = 'view'", q_prefix); free (q_prefix); @@ -2249,12 +2143,11 @@ /* identifying any possible R*Tree supporting the main target */ q_prefix = gaiaDoubleQuotedSql (prefix); sql = sqlite3_mprintf ("SELECT name FROM \"%s\".sqlite_master WHERE type = 'table' AND " - "Lower(name) IN (SELECT " - "Lower('idx_' || f_table_name || '_' || f_geometry_column) " + "name IN (SELECT 'idx_' || f_table_name || '_' || f_geometry_column " "FROM geometry_columns WHERE Lower(f_table_name) = Lower(%Q)) " "AND sql LIKE('%cvirtual%c') AND sql LIKE('%crtree%c')", q_prefix, table, jolly, jolly, jolly, jolly); free (q_prefix); ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); @@ -2278,123 +2171,19 @@ } sqlite3_free_table (results); return 1; } -static int -check_topology_table (sqlite3 * sqlite, const char *prefix, const char *table) -{ -/* avoiding to Drop GeoTables belonging to some TopoGeo or TopoNet */ - char *xprefix; - char *sql; - char *table_name; - int ret; - int i; - char **results; - int rows; - int columns; - int found = 0; - - if (prefix == NULL) - prefix = "main"; - -/* testing within Topologies */ - xprefix = gaiaDoubleQuotedSql (prefix); - sql = - sqlite3_mprintf ("SELECT topology_name FROM \"%s\".topologies", - xprefix); - free (xprefix); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto networks; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 0]; - table_name = sqlite3_mprintf ("%s_node", name); - if (strcasecmp (table, table_name) == 0) - found = 1; - sqlite3_free (table_name); - table_name = sqlite3_mprintf ("%s_edge", name); - if (strcasecmp (table, table_name) == 0) - found = 1; - sqlite3_free (table_name); - } - } - sqlite3_free_table (results); - if (found) - { - spatialite_e ("DropTable: can't drop TopoGeo table \"%s\".\"%s\"", - prefix, table); - return 1; - } - - networks: -/* testing within Networks */ - xprefix = gaiaDoubleQuotedSql (prefix); - sql = sqlite3_mprintf ("SELECT network_name FROM \"%s\".netowrks", xprefix); - free (xprefix); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto end; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 0]; - table_name = sqlite3_mprintf ("%s_node", name); - if (strcasecmp (table, table_name) == 0) - found = 1; - sqlite3_free (table_name); - table_name = sqlite3_mprintf ("%s_link", name); - if (strcasecmp (table, table_name) == 0) - found = 1; - sqlite3_free (table_name); - } - } - sqlite3_free_table (results); - if (found) - { - spatialite_e ("DropTable: can't drop TopoNet table \"%s\".\"%s\"", - prefix, table); - return 1; - } - - end: - return 0; -} - SPATIALITE_DECLARE int gaiaDropTable (sqlite3 * sqlite, const char *table) { return gaiaDropTableEx (sqlite, "main", table); } SPATIALITE_DECLARE int gaiaDropTableEx (sqlite3 * sqlite, const char *prefix, const char *table) { - return gaiaDropTableEx2 (sqlite, prefix, table, 1); -} - -SPATIALITE_DECLARE int -gaiaDropTableEx2 (sqlite3 * sqlite, const char *prefix, const char *table, - int transaction) -{ - return gaiaDropTableEx3 (sqlite, prefix, table, transaction, NULL); -} - -SPATIALITE_DECLARE int -gaiaDropTableEx3 (sqlite3 * sqlite, const char *prefix, const char *table, - int transaction, char **error_message) -{ /* dropping a Spatial Table and any other related stuff */ int ret; struct drop_params aux; /* initializing the aux params */ @@ -2417,47 +2206,30 @@ aux.ok_views_layer_statistics = 0; aux.ok_virts_layer_statistics = 0; aux.ok_layer_params = 0; aux.ok_layer_sub_classes = 0; aux.ok_layer_table_layout = 0; - aux.error_message = NULL; - - if (error_message != NULL) - *error_message = NULL; if (prefix == NULL) return 0; if (table == NULL) return 0; - - if (transaction) - { - /* the whole operation is a single transaction */ - ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, NULL); - if (ret != SQLITE_OK) - return 0; - } - +/* the whole operation is a single transaction */ + ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, NULL); + if (ret != SQLITE_OK) + return 0; /* checking the actual DB configuration */ if (!check_drop_layout (sqlite, prefix, table, &aux)) goto rollback; -/* avoiding to drop TopoGeo and TopoNet tables */ - if (check_topology_table (sqlite, prefix, table)) - goto rollback; /* recursively dropping any depending View */ if (!do_drop_sub_view (sqlite, prefix, table, &aux)) goto rollback; if (!do_drop_table (sqlite, prefix, table, &aux)) goto rollback; - - if (transaction) - { - /* committing the still pending transaction */ - ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL); - if (ret != SQLITE_OK) - goto rollback; - } - +/* committing the still pending transaction */ + ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, NULL); + if (ret != SQLITE_OK) + goto rollback; if (aux.rtrees) { /* memory cleanup - rtrees */ int i; for (i = 0; i < aux.n_rtrees; i++) @@ -2469,16 +2241,12 @@ } return 1; rollback: - if (transaction) - { - /* invalidating the still pending transaction */ - sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, NULL); - } - +/* invalidating the still pending transaction */ + sqlite3_exec (sqlite, "ROLLBACK", NULL, NULL, NULL); if (aux.rtrees) { /* memory cleanup - rtrees */ int i; for (i = 0; i < aux.n_rtrees; i++) @@ -2485,18 +2253,8 @@ { if (*(aux.rtrees + i) != NULL) free (*(aux.rtrees + i)); } free (aux.rtrees); - } - if (aux.error_message != NULL) - { - if (error_message != NULL) - *error_message = aux.error_message; - else - { - spatialite_e ("DropTable error: %s\r", aux.error_message); - sqlite3_free (aux.error_message); - } } return 0; } Index: src/spatialite/table_cloner.c ================================================================== --- src/spatialite/table_cloner.c +++ src/spatialite/table_cloner.c @@ -1,10 +1,10 @@ /* table_cloner.c -- Cloning a Table - version 4.3, 2015 June 29 + version 4.2, 2014 August 23 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -60,11 +60,10 @@ #include #include #ifdef _WIN32 #define strcasecmp _stricmp -#define strncasecmp _strnicmp #endif /* not WIN32 */ struct aux_geometry { /* a Geometry column object */ @@ -171,11 +170,10 @@ int resequence; int with_fks; int with_triggers; int append; int already_existing; - int create_only; }; static int create_column (sqlite3 * sqlite, const char *table, struct aux_column *column) { @@ -1751,12 +1749,10 @@ { id = atoi (results[(i * columns) + 0]); references = results[(i * columns) + 2]; from = results[(i * columns) + 3]; to = results[(i * columns) + 4]; - if (to == NULL) - to = from; on_update = results[(i * columns) + 5]; on_delete = results[(i * columns) + 6]; match = results[(i * columns) + 7]; if (strcasecmp (on_update, "NO ACTION") == 0) on_update = NULL; @@ -2093,13 +2089,12 @@ stop: return count; } SPATIALITE_PRIVATE const void * -gaiaAuxClonerCreateEx (const void *sqlite, const char *db_prefix, - const char *in_table, const char *out_table, - int create_only) +gaiaAuxClonerCreate (const void *sqlite, const char *db_prefix, + const char *in_table, const char *out_table) { /* creating a Cloner object */ int len; struct aux_cloner *cloner; if (checkSpatialMetaData ((sqlite3 *) sqlite) < 3) @@ -2140,11 +2135,10 @@ cloner->resequence = 0; cloner->with_fks = 0; cloner->with_triggers = 0; cloner->append = 0; cloner->already_existing = 0; - cloner->create_only = create_only; /* exploring the input table - Columns */ if (!check_input_table_columns (cloner)) goto error; /* exploring PRIMARY KEY AUTOINCREMENT */ @@ -2164,18 +2158,10 @@ error: free_cloner (cloner); return NULL; } -SPATIALITE_PRIVATE const void * -gaiaAuxClonerCreate (const void *sqlite, const char *db_prefix, - const char *in_table, const char *out_table) -{ -/* creating a Cloner object */ - return gaiaAuxClonerCreateEx (sqlite, db_prefix, in_table, out_table, 0); -} - SPATIALITE_PRIVATE void gaiaAuxClonerDestroy (const void *handle) { /* destroying a Cloner object */ struct aux_cloner *cloner = (struct aux_cloner *) handle; @@ -2321,15 +2307,12 @@ ("CloneTable: unable to create the output table \"%s\"\n", cloner->out_table); return 0; } } - if (cloner->create_only == 0) + if (!copy_rows (cloner)) { - if (!copy_rows (cloner)) - { - spatialite_e ("CloneTable: unable to copy Table rows\n"); - return 0; - } + spatialite_e ("CloneTable: unable to copy Table rows\n"); + return 0; } return 1; } Index: src/spatialite/virtualXL.c ================================================================== --- src/spatialite/virtualXL.c +++ src/spatialite/virtualXL.c @@ -1,10 +1,10 @@ /* virtualXLc -- SQLite3 extension [VIRTUAL TABLE accessing .XLS] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -242,11 +242,11 @@ sqlite3_free (sql); *ppVTab = (sqlite3_vtab *) p_vt; return SQLITE_OK; } /* selecting the currently active XL Worksheet */ - freexl_select_active_worksheet (handle, (unsigned short) worksheet); + freexl_select_active_worksheet (handle, worksheet); freexl_worksheet_dimensions (handle, &rows, &columns); p_vt->XL_handle = handle; p_vt->rows = rows; p_vt->columns = columns; /* preparing the COLUMNs for this VIRTUAL TABLE */ @@ -504,11 +504,10 @@ /* evaluating Filter constraints */ FreeXL_CellValue cell; VirtualXLConstraintPtr pC = cursor->firstConstraint; if (pC == NULL) return 1; - cell.value.int_value = 0; while (pC) { int ok = 0; if (pC->iColumn == 0) { @@ -546,12 +545,12 @@ } if (cursor->pVtab->XL_handle != NULL && cursor->current_row <= cursor->pVtab->rows && pC->iColumn <= cursor->pVtab->columns) freexl_get_cell_value (cursor->pVtab->XL_handle, - (int) cursor->current_row - 1, - (unsigned short) pC->iColumn - 1, &cell); + cursor->current_row - 1, pC->iColumn - 1, + &cell); else cell.type = FREEXL_CELL_NULL; if (cell.type == FREEXL_CELL_INT) { if (pC->valueType == 'I') @@ -689,16 +688,10 @@ break; case SQLITE_INDEX_CONSTRAINT_GE: if (ret >= 0) ok = 1; break; -#ifdef HAVE_DECL_SQLITE_INDEX_CONSTRAINT_LIKE - case SQLITE_INDEX_CONSTRAINT_LIKE: - if (ret >= 0) - ok = 1; - break; -#endif }; } done: if (!ok) return 0; @@ -807,11 +800,10 @@ vXL_column (sqlite3_vtab_cursor * pCursor, sqlite3_context * pContext, int column) { /* fetching value for the Nth column */ FreeXL_CellValue cell; - cell.value.int_value = 0; VirtualXLCursorPtr cursor = (VirtualXLCursorPtr) pCursor; if (column == 0) { /* the PRIMARY KEY column */ if (cursor->pVtab->firstLineTitles == 'Y') @@ -822,12 +814,11 @@ } if (cursor->pVtab->XL_handle != NULL && cursor->current_row <= cursor->pVtab->rows && column <= cursor->pVtab->columns) freexl_get_cell_value (cursor->pVtab->XL_handle, - cursor->current_row - 1, - (unsigned short) column - 1, &cell); + cursor->current_row - 1, column - 1, &cell); else cell.type = FREEXL_CELL_NULL; switch (cell.type) { case FREEXL_CELL_INT: Index: src/spatialite/virtualbbox.c ================================================================== --- src/spatialite/virtualbbox.c +++ src/spatialite/virtualbbox.c @@ -1,10 +1,10 @@ /* virtualbbox.c -- SQLite3 extension [VIRTUAL TABLE accessing BoundingBox tables] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -305,11 +305,11 @@ sqlite3_int64 pk; double minx = DBL_MAX; double miny = DBL_MAX; double maxx = 0.0 - DBL_MAX; double maxy = 0.0 - DBL_MAX; - int srid = -1; + int srid; char ok_minx = 'N'; char ok_miny = 'N'; char ok_maxx = 'N'; char ok_maxy = 'N'; char ok_srid = 'N'; @@ -709,11 +709,11 @@ static int vbbox_open (sqlite3_vtab * pVTab, sqlite3_vtab_cursor ** ppCursor) { /* opening a new cursor */ - sqlite3_stmt *stmt = NULL; + sqlite3_stmt *stmt; gaiaOutBuffer sql_statement; int ret; char *sql; int ic; char *xname; Index: src/spatialite/virtualdbf.c ================================================================== --- src/spatialite/virtualdbf.c +++ src/spatialite/virtualdbf.c @@ -1,10 +1,10 @@ /* virtualdbf.c -- SQLite3 extension [VIRTUAL TABLE accessing DBF] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -104,35 +104,10 @@ VirtualDbfConstraintPtr lastConstraint; } VirtualDbfCursor; typedef VirtualDbfCursor *VirtualDbfCursorPtr; -static char * -convert_dbf_colname_case (const char *buf, int colname_case) -{ -/* converts a DBF column-name to Lower- or Upper-case */ - int len = strlen (buf); - char *clean = malloc (len + 1); - char *p = clean; - strcpy (clean, buf); - while (*p != '\0') - { - if (colname_case == GAIA_DBF_COLNAME_LOWERCASE) - { - if (*p >= 'A' && *p <= 'Z') - *p = *p - 'A' + 'a'; - } - if (colname_case == GAIA_DBF_COLNAME_UPPERCASE) - { - if (*p >= 'a' && *p <= 'z') - *p = *p - 'a' + 'A'; - } - p++; - } - return clean; -} - static int vdbf_create (sqlite3 * db, void *pAux, int argc, const char *const *argv, sqlite3_vtab ** ppVTab, char **pzErr) { /* creates the virtual table connected to some DBF */ @@ -139,29 +114,26 @@ char *sql; VirtualDbfPtr p_vt; char path[2048]; char encoding[128]; const char *pEncoding = NULL; - char ColnameCase[128]; - const char *pColnameCase; int len; const char *pPath = NULL; gaiaDbfFieldPtr pFld; int cnt; int col_cnt; int seed; int dup; int idup; int text_dates = 0; - int colname_case = GAIA_DBF_COLNAME_LOWERCASE; char *xname; char **col_name = NULL; gaiaOutBuffer sql_statement; if (pAux) pAux = pAux; /* unused arg warning suppression */ /* checking for DBF PATH */ - if (argc == 5 || argc == 6 || argc == 7) + if (argc == 5 || argc == 6) { pPath = argv[3]; len = strlen (pPath); if ((*(pPath + 0) == '\'' || *(pPath + 0) == '"') && (*(pPath + len - 1) == '\'' || *(pPath + len - 1) == '"')) @@ -184,42 +156,18 @@ len = strlen (encoding); *(encoding + len - 1) = '\0'; } else strcpy (encoding, pEncoding); - if (argc >= 6) + if (argc == 6) text_dates = atoi (argv[5]); - if (argc >= 7) - { - pColnameCase = argv[6]; - len = strlen (pColnameCase); - if ((*(pColnameCase + 0) == '\'' || *(pColnameCase + 0) == '"') - && (*(pColnameCase + len - 1) == '\'' - || *(pColnameCase + len - 1) == '"')) - { - /* the charset-name is enclosed between quotes - we need to dequote it */ - strcpy (ColnameCase, pColnameCase + 1); - len = strlen (ColnameCase); - *(ColnameCase + len - 1) = '\0'; - } - else - strcpy (ColnameCase, pColnameCase); - if (strcasecmp (ColnameCase, "uppercase") == 0 - || strcasecmp (ColnameCase, "upper") == 0) - colname_case = GAIA_DBF_COLNAME_UPPERCASE; - else if (strcasecmp (ColnameCase, "samecase") == 0 - || strcasecmp (ColnameCase, "same") == 0) - colname_case = GAIA_DBF_COLNAME_CASE_IGNORE; - else - colname_case = GAIA_DBF_COLNAME_LOWERCASE; - } } else { *pzErr = sqlite3_mprintf - ("[VirtualDbf module] CREATE VIRTUAL: illegal arg list {dbf_path, encoding [ , text_dates [ , colname_case ]] }"); + ("[VirtualDbf module] CREATE VIRTUAL: illegal arg list {dbf_path, encoding}"); return SQLITE_ERROR; } p_vt = (VirtualDbfPtr) sqlite3_malloc (sizeof (VirtualDbf)); if (!p_vt) return SQLITE_NOMEM; @@ -250,14 +198,11 @@ return SQLITE_OK; } /* preparing the COLUMNs for this VIRTUAL TABLE */ gaiaOutBufferInitialize (&sql_statement); xname = gaiaDoubleQuotedSql (argv[2]); - if (colname_case == GAIA_DBF_COLNAME_LOWERCASE) - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (pkuid INTEGER", xname); - else - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (PKUID INTEGER", xname); + sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (PKUID INTEGER", xname); free (xname); gaiaAppendToOutBuffer (&sql_statement, sql); sqlite3_free (sql); /* checking for duplicate / illegal column names and antialising them */ col_cnt = 0; @@ -272,13 +217,11 @@ cnt = 0; seed = 0; pFld = p_vt->dbf->Dbf->First; while (pFld) { - char *casename = convert_dbf_colname_case (pFld->Name, colname_case); - xname = gaiaDoubleQuotedSql (casename); - free (casename); + xname = gaiaDoubleQuotedSql (pFld->Name); dup = 0; for (idup = 0; idup < cnt; idup++) { if (strcasecmp (xname, *(col_name + idup)) == 0) dup = 1; @@ -287,13 +230,11 @@ dup = 1; if (dup) { free (xname); sql = sqlite3_mprintf ("COL_%d", seed++); - casename = convert_dbf_colname_case (sql, colname_case); xname = gaiaDoubleQuotedSql (sql); - free (casename); sqlite3_free (sql); } if (pFld->Type == 'N') { if (pFld->Decimals > 0 || pFld->Length > 18) @@ -718,16 +659,10 @@ break; case SQLITE_INDEX_CONSTRAINT_GE: if (ret >= 0) ok = 1; break; -#ifdef HAVE_DECL_SQLITE_INDEX_CONSTRAINT_LIKE - case SQLITE_INDEX_CONSTRAINT_LIKE: - if (ret >= 0) - ok = 1; - break; -#endif }; } break; }; } Index: src/spatialite/virtualelementary.c ================================================================== --- src/spatialite/virtualelementary.c +++ src/spatialite/virtualelementary.c @@ -1,10 +1,10 @@ /* virtualelementary.c -- SQLite3 extension [VIRTUAL TABLE Elementary Geometries] - version 4.3, 2015 June 29 + version 4.2, 2014 September 16 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -631,11 +631,11 @@ char *xtable = NULL; char *xgeom = NULL; char *table_nameQ; char *geo_nameQ; char *sql_statement; - sqlite3_int64 rowid_value = 0; + sqlite3_int64 rowid_value; int ok_prefix = 0; int ok_table = 0; int ok_geom = 0; int ok_rowid = 0; int exists; @@ -783,11 +783,11 @@ &stmt, NULL); sqlite3_free (sql_statement); if (ret != SQLITE_OK) goto stop; /* binding stmt params [ROWID] */ - sqlite3_bind_int64 (stmt, 1, rowid_value); + sqlite3_bind_double (stmt, 1, rowid_value); velem_reset_cache (cursor); cursor->eof = 0; /* caching the ResultSet */ ret = sqlite3_step (stmt); if (ret == SQLITE_ROW) Index: src/spatialite/virtualfdo.c ================================================================== --- src/spatialite/virtualfdo.c +++ src/spatialite/virtualfdo.c @@ -1,10 +1,10 @@ /* virtualfdo.c -- SQLite3 extension [VIRTUAL TABLE accessing FDO-OGR tables] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -852,11 +852,11 @@ static int vfdo_insert_row (VirtualFDOPtr p_vt, sqlite3_int64 * rowid, int argc, sqlite3_value ** argv) { /* trying to insert a row into FDO-OGR real-table */ - sqlite3_stmt *stmt = NULL; + sqlite3_stmt *stmt; int ret; int i; int ic; int ig; int geom_done; @@ -1095,11 +1095,11 @@ static int vfdo_update_row (VirtualFDOPtr p_vt, sqlite3_int64 rowid, int argc, sqlite3_value ** argv) { /* trying to update a row in FDO-OGR real-table */ - sqlite3_stmt *stmt = NULL; + sqlite3_stmt *stmt; int ret; int i; int ic; int ig; int geom_done; @@ -1825,14 +1825,11 @@ } for (i = 1; i <= n_rows; i++) { col_name = results[(i * n_columns) + 0]; type = atoi (results[(i * n_columns) + 1]); - if (results[(i * n_columns) + 2] == NULL) - srid = -1; - else - srid = atoi (results[(i * n_columns) + 2]); + srid = atoi (results[(i * n_columns) + 2]); format = results[(i * n_columns) + 3]; coord_dimension = atoi (results[(i * n_columns) + 4]); len = strlen (col_name); *(p_vt->GeoColumn + (i - 1)) = sqlite3_malloc (len + 1); strcpy (*(p_vt->GeoColumn + (i - 1)), col_name); @@ -1953,11 +1950,11 @@ static int vfdo_open (sqlite3_vtab * pVTab, sqlite3_vtab_cursor ** ppCursor) { /* opening a new cursor */ - sqlite3_stmt *stmt = NULL; + sqlite3_stmt *stmt; gaiaOutBuffer sql_statement; int ret; char *sql; int ic; char *xname; Index: src/spatialite/virtualgpkg.c ================================================================== --- src/spatialite/virtualgpkg.c +++ src/spatialite/virtualgpkg.c @@ -1,10 +1,10 @@ /* virtualgpkg.c -- SQLite3 extension [VIRTUAL TABLE accessing GPKG tables] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2015 +Portions created by the Initial Developer are Copyright (C) 2014 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of DELETED src/spatialite/virtualknn.c Index: src/spatialite/virtualknn.c ================================================================== --- src/spatialite/virtualknn.c +++ src/spatialite/virtualknn.c @@ -1,1852 +0,0 @@ -/* - - virtualknn.c -- SQLite3 extension [VIRTUAL TABLE RTree metahandler] - - version 4.4, 2015 November 27 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/* - -CREDITS: - -this module has been completely funded by: -Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale -(K-Nearest Neighbors [KNN] module) - -CIG: 644544015A - -*/ - -/* - -IMPORTANT NOTE: how KNN works - -the KNN module is implemented on the top of an SQLite's R*Tree, and -more specifically is built around the sqlite3_rtree_query_callback() -function. - -this API allows to directly explore the R*Tree hierarchy; for each -node found within the Tree the registered callback will be invoked -so to determine if the current Tree node (aka BBOX) should be further -expanded or should be ignored. -while the process goes on all Tree levels will be traversed until it -reaches Level=0 (Leaves aka Terminal Nodes) where the indexed -Geometries will be finally referenced by their individual ROWID and BBOX - -in a most usual Spatial Index query the R*Tree will be simply -traversed starting from Root Nodes (higher level) and progressively -descending level by level toward Leaf Nodes (indexed Geometries); in -this specific case the BBOX to be searched is clearly defined, so the -callback function should simply check if each Node BBOX do effectively -intersect the reference BBOX and that's all. - -the access strategy required by a KNN query is much more complex than -this, because there is no reference BBOX at all (the search radius is -unknown in this case); so it should be dynamically built by repeatedly -querying the R*Tree until a satisfying solution is found. - -step #1 -------- -we'll descend the Tree by exploring a Level at each time; all nodes -presenting a BBOX overlapping the reference geometry should be inserted -into a list for future use, but this isn't enough because the -reference geometry in some cases couldn't intersect any upper-level -BBOX (think of some position into the middle of a desert or ocean). -so we should alway insert into each level list two extra-bboxes -corresponding to the first and second (not overlapping) nearest to -the reference geometry. - -step #2 -------- -when descending to a child level all parent BBOXes found in the -previous step should be expanded (the saved list of the parent -level will be applied). - -step #3 -------- -when arriving to the lowermost level (0 = Level) the distance of -each candidate feature will be computed; the nearest ones will be -saved into the results list. - -step #4 -------- -we've not yet finished; more features potentially satisfying the -KNN query could probably be stored in some Tree branch we've not -yet visited (R*Trees can very often present unexpected layouts). -so we'll now expand the reference BBOX so to cover all features -identified since now, and we'll repeat the cycle by returning to -step #1. -when a full cycle ends without identifying ant more result feature -satisfying the KNN query we can stop walking the R*Tree; we are -finally ready to return a KNN resultset. - -*/ - -#include -#include -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifndef OMIT_KNN /* only if KNN is enabled */ - -#include - -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#define strcasecmp _stricmp -#define strncasecmp _strnicmp -#endif - -static struct sqlite3_module my_knn_module; - -/****************************************************************************** -/ -/ VirtualTable structs -/ -******************************************************************************/ - -typedef struct VKnnBBoxStruct -{ -/* a BBOX into an RTree level */ - double minx; - double maxx; - double miny; - double maxy; - int visited; - struct VKnnBBoxStruct *next; -} VKnnBBox; -typedef VKnnBBox *VKnnBBoxPtr; - -typedef struct VKnnLevelStruct -{ -/* an RTree level */ - int level; - VKnnBBoxPtr first; - VKnnBBoxPtr last; - VKnnBBox nearest_1; - double min_dist_1; - VKnnBBox nearest_2; - double min_dist_2; - int nearest_done; - struct VKnnLevelStruct *next; -} VKnnLevel; -typedef VKnnLevel *VKnnLevelPtr; - -typedef struct VKnnItemStruct -{ -/* a Feature item into the KNN sorted array */ - sqlite3_int64 rowid; - double dist; - double minx; - double maxx; - double miny; - double maxy; -} VKnnItem; -typedef VKnnItem *VKnnItemPtr; - -typedef struct VKnnContextStruct -{ -/* current KNN context */ - char *table_name; - char *column_name; - double minx; - double maxx; - double miny; - double maxy; - unsigned char *blob; - int blob_size; - sqlite3_stmt *stmt_dist; - sqlite3_stmt *stmt_rect; - VKnnItemPtr knn_array; - int max_items; - double max_dist; - int curr_items; - VKnnLevelPtr first; - VKnnLevelPtr last; - int max_level; - int changed; -} VKnnContext; -typedef VKnnContext *VKnnContextPtr; - -typedef struct VirtualKnnStruct -{ -/* extends the sqlite3_vtab struct */ - const sqlite3_module *pModule; /* ptr to sqlite module: USED INTERNALLY BY SQLITE */ - int nRef; /* # references: USED INTERNALLY BY SQLITE */ - char *zErrMsg; /* error message: USE INTERNALLY BY SQLITE */ - sqlite3 *db; /* the sqlite db holding the virtual table */ - VKnnContextPtr knn_ctx; /* KNN context */ -} VirtualKnn; -typedef VirtualKnn *VirtualKnnPtr; - -typedef struct VirtualKnnCursorStruct -{ -/* extends the sqlite3_vtab_cursor struct */ - VirtualKnnPtr pVtab; /* Virtual table of this cursor */ - int eof; /* the EOF marker */ - int CurrentIndex; /* index of the current KNN item */ -} VirtualKnnCursor; -typedef VirtualKnnCursor *VirtualKnnCursorPtr; - -static void -vknn_add_bbox (VKnnLevelPtr pL, double minx, double miny, double maxx, - double maxy) -{ -/* inserting an RTree BBOX into the list */ - VKnnBBoxPtr pR = malloc (sizeof (VKnnBBox)); - pR->minx = minx; - pR->miny = miny; - pR->maxx = maxx; - pR->maxy = maxy; - pR->visited = 0; - pR->next = NULL; - if (pL->first == NULL) - pL->first = pR; - if (pL->last != NULL) - pL->last->next = pR; - pL->last = pR; -} - -static int -vknn_add_nearest_bbox (VKnnLevelPtr pL, double minx, double miny, double maxx, - double maxy, double dist) -{ -/* attempting to insert a nearest RTree BBOX into the list */ - if (pL->nearest_1.minx == minx && pL->nearest_1.miny == miny - && pL->nearest_1.maxx == maxx && pL->nearest_1.maxy == maxy) - return 0; - if (dist < pL->min_dist_1) - { - pL->min_dist_1 = dist; - pL->nearest_1.minx = minx; - pL->nearest_1.miny = miny; - pL->nearest_1.maxx = maxx; - pL->nearest_1.maxy = maxy; - return 1; - } - if (pL->nearest_1.minx == minx && pL->nearest_1.miny == miny - && pL->nearest_1.maxx == maxx && pL->nearest_1.maxy == maxy) - return 0; - if (dist < pL->min_dist_2) - { - pL->min_dist_2 = dist; - pL->nearest_2.minx = minx; - pL->nearest_2.miny = miny; - pL->nearest_2.maxx = maxx; - pL->nearest_2.maxy = maxy; - return 1; - } - return 0; -} - -static void -vknn_flush_bboxes (VKnnLevelPtr pL) -{ -/* destroying the RTree BBoxes list */ - VKnnBBoxPtr pBn; - VKnnBBoxPtr pB = pL->first; - while (pB != NULL) - { - pBn = pB->next; - free (pB); - pB = pBn; - } - pL->first = NULL; - pL->last = NULL; -} - -static VKnnLevelPtr -vknn_nearest_find (VKnnContextPtr ctx, int level) -{ -/* handling RTree Levels */ - VKnnLevelPtr pL = ctx->first; - while (pL != NULL) - { - if (pL->level == level && pL->nearest_done == 0) - { - /* ok, found */ - return pL; - } - pL = pL->next; - } - return NULL; -} - -static int -vknn_recover_nearest (VKnnContextPtr ctx) -{ -/* recovering the nearest BBOXes */ - VKnnLevelPtr pL = NULL; - int lev; - - pL = vknn_nearest_find (ctx, 0); - if (pL != NULL) - return 0; - - for (lev = ctx->max_level; lev > 0; lev--) - { - pL = vknn_nearest_find (ctx, lev); - if (pL != NULL) - break; - } - if (pL == NULL) - return 0; - - if (pL->min_dist_1 != DBL_MAX) - vknn_add_bbox (pL, pL->nearest_1.minx, pL->nearest_1.miny, - pL->nearest_1.maxx, pL->nearest_1.maxy); - if (pL->min_dist_2 != DBL_MAX) - vknn_add_bbox (pL, pL->nearest_2.minx, pL->nearest_2.miny, - pL->nearest_2.maxx, pL->nearest_2.maxy); - pL->nearest_done = 1; - return 1; -} - -static VKnnLevelPtr -vknn_add_level (VKnnContextPtr ctx, int level) -{ -/* inserting an RTree Level into the list */ - VKnnLevelPtr pL = malloc (sizeof (VKnnLevel)); - pL->level = level; - pL->first = NULL; - pL->last = NULL; - pL->nearest_1.minx = DBL_MAX; - pL->nearest_1.miny = DBL_MAX; - pL->nearest_1.maxx = -DBL_MAX; - pL->nearest_1.maxy = -DBL_MAX; - pL->min_dist_1 = DBL_MAX; - pL->nearest_2.minx = DBL_MAX; - pL->nearest_2.miny = DBL_MAX; - pL->nearest_2.maxx = -DBL_MAX; - pL->nearest_2.maxy = -DBL_MAX; - pL->min_dist_2 = DBL_MAX; - pL->nearest_done = 0; - pL->next = NULL; - if (ctx->first == NULL) - ctx->first = pL; - if (ctx->last != NULL) - ctx->last->next = pL; - ctx->last = pL; - return pL; -} - -static void -vknn_flush_levels (VKnnContextPtr ctx) -{ -/* destroying the RTree Levels list */ - VKnnLevelPtr pLn; - VKnnLevelPtr pL = ctx->first; - while (pL != NULL) - { - pLn = pL->next; - vknn_flush_bboxes (pL); - free(pL); - pL = pLn; - } - ctx->first = NULL; - ctx->last = NULL; -} - -static VKnnLevelPtr -vknn_find_level (VKnnContextPtr ctx, int level) -{ -/* handling RTree Levels */ - VKnnLevelPtr pL = ctx->first; - while (pL != NULL) - { - if (pL->level == level) - { - /* already defined */ - return pL; - } - pL = pL->next; - } -/* adding a new RTree Level */ - pL = vknn_add_level (ctx, level); - return pL; -} - -static VKnnBBoxPtr -vknn_find_bbox (VKnnLevelPtr pL, double minx, double miny, double maxx, - double maxy) -{ -/* searching an RTree BBox */ - VKnnBBoxPtr pB = pL->first; - while (pB != NULL) - { - if (pB->minx == minx && pB->miny == miny && pB->maxx == maxx - && pB->maxy == maxy) - return pB; - pB = pB->next; - } - return NULL; -} - -static int -vknn_expand_bbox (VKnnContextPtr ctx) -{ -/* attempting to expand the KNN BBOX */ - int i; - double old_minx = ctx->minx; - double old_miny = ctx->miny; - double old_maxx = ctx->maxx; - double old_maxy = ctx->maxy; - for (i = 0; i < ctx->curr_items; i++) - { - VKnnItemPtr item = ctx->knn_array + i; - if (item->minx < ctx->minx) - ctx->minx = item->minx; - if (item->miny < ctx->miny) - ctx->miny = item->miny; - if (item->maxx > ctx->maxx) - ctx->maxx = item->maxx; - if (item->maxy > ctx->maxy) - ctx->maxy = item->maxy; - } - if (ctx->minx == old_minx && ctx->miny == old_miny && ctx->maxx == old_maxx - && ctx->maxy == old_maxy) - return 0; - return 1; -} - -static void -vknn_empty_context (VKnnContextPtr ctx) -{ -/* setting an empty KNN context */ - if (ctx == NULL) - return; - ctx->table_name = NULL; - ctx->column_name = NULL; - ctx->minx = DBL_MAX; - ctx->maxx = -DBL_MAX; - ctx->miny = DBL_MAX; - ctx->maxy = -DBL_MAX; - ctx->blob = NULL; - ctx->blob_size = 0; - ctx->max_items = 0; - ctx->stmt_dist = NULL; - ctx->stmt_rect = NULL; - ctx->knn_array = NULL; - ctx->max_dist = -DBL_MAX; - ctx->curr_items = 0; - ctx->first = NULL; - ctx->last = NULL; - ctx->max_level = 0; - ctx->changed = 0; -} - -static VKnnContextPtr -vknn_create_context (void) -{ -/* creating an empty KNN context */ - VKnnContextPtr ctx = malloc (sizeof (VKnnContext)); - vknn_empty_context (ctx); - return ctx; -} - -static void -vknn_reset_context (VKnnContextPtr ctx) -{ -/* freeing a KNN context */ - if (ctx == NULL) - return; - if (ctx->table_name != NULL) - free (ctx->table_name); - if (ctx->column_name != NULL) - free (ctx->column_name); - if (ctx->blob != NULL) - free (ctx->blob); - if (ctx->stmt_dist != NULL) - sqlite3_finalize (ctx->stmt_dist); - if (ctx->stmt_rect != NULL) - sqlite3_finalize (ctx->stmt_rect); - if (ctx->knn_array != NULL) - free (ctx->knn_array); - vknn_flush_levels (ctx); - vknn_empty_context (ctx); -} - -static void -vknn_init_context (VKnnContextPtr ctx, const char *table, const char *column, - gaiaGeomCollPtr geom, int max_items, - sqlite3_stmt * stmt_dist, sqlite3_stmt * stmt_rect) -{ -/* initializing a KNN context */ - int i; - if (ctx == NULL) - return; - vknn_reset_context (ctx); - i = strlen (table); - ctx->table_name = malloc (i + 1); - strcpy (ctx->table_name, table); - i = strlen (column); - ctx->column_name = malloc (i + 1); - strcpy (ctx->column_name, column); - ctx->minx = geom->MinX; - ctx->maxx = geom->MaxX; - ctx->miny = geom->MinY; - ctx->maxy = geom->MaxY; - gaiaToSpatiaLiteBlobWkb (geom, &(ctx->blob), &(ctx->blob_size)); - ctx->max_items = max_items; - ctx->stmt_dist = stmt_dist; - ctx->stmt_rect = stmt_rect; - ctx->knn_array = malloc (sizeof (VKnnItem) * max_items); - for (i = 0; i < max_items; i++) - { - /* initializing the KNN sorted array */ - VKnnItemPtr item = ctx->knn_array + i; - item->rowid = 0; - item->minx = DBL_MAX; - item->miny = DBL_MAX; - item->maxx = -DBL_MAX; - item->maxy = -DBL_MAX; - item->dist = DBL_MAX; - } - ctx->max_dist = -DBL_MAX; - ctx->curr_items = 0; - ctx->first = NULL; - ctx->last = NULL; - ctx->max_level = 0; - ctx->changed = 0; -} - -static void -vknn_free_context (void *p) -{ -/* freeing a KNN context */ - VKnnContextPtr ctx = (VKnnContextPtr) p; - vknn_reset_context (ctx); - free (ctx); -} - -static void -vknn_shift_items (VKnnContextPtr ctx, int index) -{ -/* shifting down the Features sorted array */ - int i; - for (i = ctx->max_items - 1; i > index; i--) - { - VKnnItemPtr item1 = ctx->knn_array + i - 1; - VKnnItemPtr item2 = ctx->knn_array + i; - item2->rowid = item1->rowid; - item2->dist = item1->dist; - item2->minx = item1->minx; - item2->miny = item1->miny; - item2->maxx = item1->maxx; - item2->maxy = item1->maxy; - if ((i == ctx->max_items - 1) && item2->dist != DBL_MAX) - ctx->max_dist = item2->dist; - } -} - -static void -vknn_update_items (VKnnContextPtr ctx, sqlite3_int64 rowid, double dist, - double rtree_minx, double rtree_miny, double rtree_maxx, - double rtree_maxy) -{ -/* updating the Features sorted array */ - int i; - if (ctx->curr_items == ctx->max_items) - { - if (dist >= ctx->max_dist) - return; - } - for (i = 0; i < ctx->max_items; i++) - { - VKnnItemPtr item = ctx->knn_array + i; - if (rowid == item->rowid) - return; - if (dist < item->dist) - { - vknn_shift_items (ctx, i); - item->rowid = rowid; - item->dist = dist; - item->minx = rtree_minx; - item->miny = rtree_miny; - item->maxx = rtree_maxx; - item->maxy = rtree_maxy; - ctx->changed = 1; - break; - } - } - if (dist > ctx->max_dist) - ctx->max_dist = dist; - if (ctx->curr_items < ctx->max_items) - ctx->curr_items += 1; -} - -static int -vknn_check_mbr (VKnnContextPtr ctx, double rtree_minx, double rtree_miny, - double rtree_maxx, double rtree_maxy) -{ -/* comparing two MBRs */ - if (rtree_minx >= ctx->minx && rtree_maxx <= ctx->maxx - && rtree_miny >= ctx->miny && rtree_maxy <= ctx->maxy) - return FULLY_WITHIN; - if (rtree_maxx < ctx->minx) - return NOT_WITHIN; - if (rtree_minx > ctx->maxx) - return NOT_WITHIN; - if (rtree_maxy < ctx->miny) - return NOT_WITHIN; - if (rtree_miny > ctx->maxy) - return NOT_WITHIN; - return PARTLY_WITHIN; -} - -static double -vknn_compute_distance (VKnnContextPtr ctx, sqlite3_int64 rowid) -{ -/* computing the distance between two geometries (in meters) */ - double dist = DBL_MAX; - int ret; - sqlite3_stmt *stmt; - if (ctx == NULL) - return DBL_MAX; - if (ctx->blob == NULL) - return DBL_MAX; - if (ctx->stmt_dist == NULL) - return DBL_MAX; - stmt = ctx->stmt_dist; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_blob (stmt, 1, ctx->blob, ctx->blob_size, SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, rowid); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_FLOAT) - dist = sqlite3_column_double (stmt, 0); - } - else - { - dist = DBL_MAX; - break; - } - } - return dist; -} - -static double -vknn_rect_distance (VKnnContextPtr ctx, double minx, double miny, double maxx, - double maxy) -{ -/* computing the distance between the geometry and an R*Tree BBOX */ - double dist = DBL_MAX; - int ret; - sqlite3_stmt *stmt; - if (ctx == NULL) - return DBL_MAX; - if (ctx->blob == NULL) - return DBL_MAX; - if (ctx->stmt_rect == NULL) - return DBL_MAX; - stmt = ctx->stmt_rect; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_blob (stmt, 1, ctx->blob, ctx->blob_size, SQLITE_STATIC); - sqlite3_bind_double (stmt, 2, minx); - sqlite3_bind_double (stmt, 3, miny); - sqlite3_bind_double (stmt, 4, maxx); - sqlite3_bind_double (stmt, 5, maxy); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_FLOAT) - dist = sqlite3_column_double (stmt, 0); - } - else - { - dist = DBL_MAX; - break; - } - } - return dist; -} - -int -vknn_query_callback (sqlite3_rtree_query_info * info) -{ -/* R*Tree Query Callback function */ - double rtree_minx; - double rtree_maxx; - double rtree_miny; - double rtree_maxy; - VKnnLevelPtr pL; - VKnnBBoxPtr pB; - VKnnContextPtr ctx = (VKnnContextPtr) (info->pContext); - if (info->nCoord != 4) - { - /* invalid RTree */ - info->eWithin = NOT_WITHIN; - return SQLITE_OK; - } - -/* fetching the node's BBOX */ - rtree_minx = info->aCoord[0]; - rtree_maxx = info->aCoord[1]; - rtree_miny = info->aCoord[2]; - rtree_maxy = info->aCoord[3]; - - if (info->iLevel > ctx->max_level) - ctx->max_level = info->iLevel; - - if (info->iLevel == 0 && info->iRowid > 0) - { - /* found a terminal leaf RTree entry - evaluating the relative distance */ - double dist = vknn_compute_distance (ctx, info->iRowid); - vknn_update_items (ctx, info->iRowid, dist, rtree_minx, rtree_miny, - rtree_maxx, rtree_maxy); - info->eWithin = NOT_WITHIN; /* not to be further expanded */ - return SQLITE_OK; - } - -/* handling RTree upper levels */ - pL = vknn_find_level (ctx, info->iLevel); - pB = vknn_find_bbox (pL, rtree_minx, rtree_miny, rtree_maxx, rtree_maxy); - - if (pB == NULL) - { - /* this BBOX Node was never visited until now */ - int mode = vknn_check_mbr (ctx, rtree_minx, rtree_miny, rtree_maxx, - rtree_maxy); - if (mode == FULLY_WITHIN || mode == PARTLY_WITHIN) - { - /* overlaps the currenct reference frame; to be further expanded */ - vknn_add_bbox (pL, rtree_minx, rtree_miny, rtree_maxx, - rtree_maxy); - ctx->changed = 1; - } - else - { - /* searching any BBOX nearest to the current reference frame */ - double dist = - vknn_rect_distance (ctx, rtree_minx, rtree_miny, rtree_maxx, - rtree_maxy); - if (vknn_add_nearest_bbox - (pL, rtree_minx, rtree_miny, rtree_maxx, rtree_maxy, dist)) - ctx->changed = 1; - } - info->eWithin = NOT_WITHIN; - } - else - { - /* handling a BBOX node already inserted into the list */ - if (pL->level == 1) - { - /* - * this is the Tree Level immediately preceding Terminal Nodes - * (aka Leaves): i.e. it's the direct parent of candidate - * features to be evaluated by the KNN search - */ - if (pB->visited != 0) - info->eWithin = NOT_WITHIN; /* ignoring - already visited */ - else - { - /* to be further expanded so to get all Leave Children */ - pB->visited = 1; - info->eWithin = FULLY_WITHIN; - } - } - else - { - /* unconditionally expanding higher level parent nodes */ - info->eWithin = FULLY_WITHIN; - } - } - return SQLITE_OK; -} - -static int -vknn_check_view_rtree (sqlite3 * sqlite, const char *table_name, - const char *geom_column, char **real_table, - char **real_geom, int *is_geographic) -{ -/* checks if the required RTree is actually defined - SpatialView */ - sqlite3_stmt *stmt; - char *sql_statement; - int ret; - int count = 0; - char *rt = NULL; - char *rg = NULL; - int is_longlat = 0; - -/* testing if views_geometry_columns exists */ - sql_statement = sqlite3_mprintf ("SELECT tbl_name FROM sqlite_master " - "WHERE type = 'table' AND tbl_name = 'views_geometry_columns'"); - ret = - sqlite3_prepare_v2 (sqlite, sql_statement, strlen (sql_statement), - &stmt, NULL); - sqlite3_free (sql_statement); - if (ret != SQLITE_OK) - return 0; - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - count++; - } - sqlite3_finalize (stmt); - if (count != 1) - return 0; - count = 0; - -/* attempting to find the RTree Geometry Column */ - sql_statement = - sqlite3_mprintf - ("SELECT a.f_table_name, a.f_geometry_column, SridIsGeographic(b.srid) " - "FROM views_geometry_columns AS a " "JOIN geometry_columns AS b ON (" - "Upper(a.f_table_name) = Upper(b.f_table_name) AND " - "Upper(a.f_geometry_column) = Upper(b.f_geometry_column)) " - "WHERE Upper(a.view_name) = Upper(%Q) " - "AND Upper(a.view_geometry) = Upper(%Q) AND b.spatial_index_enabled = 1", - table_name, geom_column); - ret = - sqlite3_prepare_v2 (sqlite, sql_statement, strlen (sql_statement), - &stmt, NULL); - sqlite3_free (sql_statement); - if (ret != SQLITE_OK) - return 0; - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *v = (const char *) sqlite3_column_text (stmt, 0); - int len = sqlite3_column_bytes (stmt, 0); - if (rt) - free (rt); - rt = malloc (len + 1); - strcpy (rt, v); - v = (const char *) sqlite3_column_text (stmt, 1); - len = sqlite3_column_bytes (stmt, 1); - if (rg) - free (rg); - rg = malloc (len + 1); - strcpy (rg, v); - is_longlat = sqlite3_column_int (stmt, 2); - count++; - } - } - sqlite3_finalize (stmt); - if (count != 1) - return 0; - if (!validateRowid (sqlite, rt)) - { - free (rt); - free (rg); - return 0; - } - *real_table = rt; - *real_geom = rg; - *is_geographic = is_longlat; - return 1; -} - -static int -vknn_check_rtree (sqlite3 * sqlite, const char *db_prefix, - const char *table_name, const char *geom_column, - char **real_table, char **real_geom, int *is_geographic) -{ -/* checks if the required RTree is actually defined */ - sqlite3_stmt *stmt; - char *sql_statement; - int ret; - int count = 0; - char *rt = NULL; - char *rg = NULL; - int is_longlat = 0; - - if (db_prefix == NULL) - { - sql_statement = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column, SridIsGeographic(srid) " - "FROM geometry_columns WHERE Upper(f_table_name) = Upper(%Q) AND " - "Upper(f_geometry_column) = Upper(%Q) AND spatial_index_enabled = 1", - table_name, geom_column); - } - else - { - char *quoted_db = gaiaDoubleQuotedSql (db_prefix); - sql_statement = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column, SridIsGeographic(srid) " - "FROM \"%s\".geometry_columns WHERE Upper(f_table_name) = Upper(%Q) AND " - "Upper(f_geometry_column) = Upper(%Q) AND spatial_index_enabled = 1", - quoted_db, table_name, geom_column); - free (quoted_db); - } - ret = - sqlite3_prepare_v2 (sqlite, sql_statement, strlen (sql_statement), - &stmt, NULL); - sqlite3_free (sql_statement); - if (ret != SQLITE_OK) - return 0; - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *v = (const char *) sqlite3_column_text (stmt, 0); - int len = sqlite3_column_bytes (stmt, 0); - if (rt) - free (rt); - rt = malloc (len + 1); - strcpy (rt, v); - v = (const char *) sqlite3_column_text (stmt, 1); - len = sqlite3_column_bytes (stmt, 1); - if (rg) - free (rg); - rg = malloc (len + 1); - strcpy (rg, v); - is_longlat = sqlite3_column_int (stmt, 2); - count++; - } - } - sqlite3_finalize (stmt); - if (count != 1) - return vknn_check_view_rtree (sqlite, table_name, geom_column, - real_table, real_geom, is_geographic); - else - { - *real_table = rt; - *real_geom = rg; - *is_geographic = is_longlat; - } - return 1; -} - -static int -vknn_find_view_rtree (sqlite3 * sqlite, const char *db_prefix, - const char *table_name, char **real_table, - char **real_geom, int *is_geographic) -{ -/* attempts to find the corresponding RTree Geometry Column - SpatialView */ - sqlite3_stmt *stmt; - char *sql_statement; - int ret; - int count = 0; - char *rt = NULL; - char *rg = NULL; - int is_longlat = 0; - -/* testing if views_geometry_columns exists */ - if (db_prefix == NULL) - { - sql_statement = sqlite3_mprintf ("SELECT tbl_name FROM sqlite_master " - "WHERE type = 'table' AND tbl_name = 'views_geometry_columns'"); - } - else - { - char *quoted_db = gaiaDoubleQuotedSql (db_prefix); - sql_statement = - sqlite3_mprintf ("SELECT tbl_name FROM \"%s\".sqlite_master " - "WHERE type = 'table' AND tbl_name = 'views_geometry_columns'", - quoted_db); - free (quoted_db); - } - ret = - sqlite3_prepare_v2 (sqlite, sql_statement, strlen (sql_statement), - &stmt, NULL); - sqlite3_free (sql_statement); - if (ret != SQLITE_OK) - return 0; - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - count++; - } - sqlite3_finalize (stmt); - if (count != 1) - return 0; - count = 0; - -/* attempting to find the RTree Geometry Column */ - if (db_prefix == NULL) - { - sql_statement = - sqlite3_mprintf - ("SELECT a.f_table_name, a.f_geometry_column, SridIsGeographic(b.srid) " - "FROM views_geometry_columns AS a " - "JOIN geometry_columns AS b ON (" - "Upper(a.f_table_name) = Upper(b.f_table_name) AND " - "Upper(a.f_geometry_column) = Upper(b.f_geometry_column)) " - "WHERE Upper(a.view_name) = Upper(%Q) AND b.spatial_index_enabled = 1", - table_name); - } - else - { - char *quoted_db = gaiaDoubleQuotedSql (db_prefix); - sql_statement = - sqlite3_mprintf - ("SELECT a.f_table_name, a.f_geometry_column, SridIsGeographic(b.srid) " - "FROM \"%s\".views_geometry_columns AS a " - "JOIN \"%s\".geometry_columns AS b ON (" - "Upper(a.f_table_name) = Upper(b.f_table_name) AND " - "Upper(a.f_geometry_column) = Upper(b.f_geometry_column)) " - "WHERE Upper(a.view_name) = Upper(%Q) AND b.spatial_index_enabled = 1", - quoted_db, quoted_db, table_name); - free (quoted_db); - } - ret = - sqlite3_prepare_v2 (sqlite, sql_statement, strlen (sql_statement), - &stmt, NULL); - sqlite3_free (sql_statement); - if (ret != SQLITE_OK) - return 0; - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *v = (const char *) sqlite3_column_text (stmt, 0); - int len = sqlite3_column_bytes (stmt, 0); - if (rt) - free (rt); - rt = malloc (len + 1); - strcpy (rt, v); - v = (const char *) sqlite3_column_text (stmt, 1); - len = sqlite3_column_bytes (stmt, 1); - if (rg) - free (rg); - rg = malloc (len + 1); - strcpy (rg, v); - is_longlat = sqlite3_column_int (stmt, 2); - count++; - } - } - sqlite3_finalize (stmt); - if (count != 1) - return 0; - *real_table = rt; - *real_geom = rg; - *is_geographic = is_longlat; - return 1; -} - -static int -vknn_find_rtree (sqlite3 * sqlite, const char *db_prefix, - const char *table_name, char **real_table, char **real_geom, - int *is_geographic) -{ -/* attempts to find the corresponding RTree Geometry Column */ - sqlite3_stmt *stmt; - char *sql_statement; - int ret; - int count = 0; - char *rt = NULL; - char *rg = NULL; - int is_longlat = 0; - - if (db_prefix == NULL) - { - sql_statement = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column, SridIsGeographic(srid) " - " FROM geometry_columns WHERE Upper(f_table_name) = Upper(%Q) " - "AND spatial_index_enabled = 1", table_name); - } - else - { - char *quoted_db = gaiaDoubleQuotedSql (db_prefix); - sql_statement = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column, SridIsGeographic(srid) " - " FROM \"%s\".geometry_columns WHERE Upper(f_table_name) = Upper(%Q) " - "AND spatial_index_enabled = 1", quoted_db, table_name); - free (quoted_db); - } - ret = - sqlite3_prepare_v2 (sqlite, sql_statement, strlen (sql_statement), - &stmt, NULL); - sqlite3_free (sql_statement); - if (ret != SQLITE_OK) - return 0; - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *v = (const char *) sqlite3_column_text (stmt, 0); - int len = sqlite3_column_bytes (stmt, 0); - if (rt) - free (rt); - rt = malloc (len + 1); - strcpy (rt, v); - v = (const char *) sqlite3_column_text (stmt, 1); - len = sqlite3_column_bytes (stmt, 1); - if (rg) - free (rg); - rg = malloc (len + 1); - strcpy (rg, v); - is_longlat = sqlite3_column_int (stmt, 2); - count++; - } - } - sqlite3_finalize (stmt); - if (count != 1) - return vknn_find_view_rtree (sqlite, db_prefix, table_name, - real_table, real_geom, is_geographic); - else - { - *real_table = rt; - *real_geom = rg; - *is_geographic = is_longlat; - } - return 1; -} - -static void -vknn_parse_table_name (const char *tn, char **db_prefix, char **table_name) -{ -/* attempting to extract an eventual DB prefix */ - int i; - int len = strlen (tn); - int i_dot = -1; - if (strncasecmp (tn, "DB=", 3) == 0) - { - int l_db; - int l_tbl; - for (i = 3; i < len; i++) - { - if (tn[i] == '.') - { - i_dot = i; - break; - } - } - if (i_dot > 1) - { - l_db = i_dot - 3; - l_tbl = len - (i_dot + 1); - *db_prefix = malloc (l_db + 1); - memset (*db_prefix, '\0', l_db + 1); - memcpy (*db_prefix, tn + 3, l_db); - *table_name = malloc (l_tbl + 1); - strcpy (*table_name, tn + i_dot + 1); - return; - } - } - *table_name = malloc (len + 1); - strcpy (*table_name, tn); -} - -static int -vknn_create (sqlite3 * db, void *pAux, int argc, const char *const *argv, - sqlite3_vtab ** ppVTab, char **pzErr) -{ -/* creates the virtual table for R*Tree KNN metahandling */ - VirtualKnnPtr p_vt; - char *buf; - char *vtable; - char *xname; - if (pAux) - pAux = pAux; /* unused arg warning suppression */ - if (argc == 3) - { - vtable = gaiaDequotedSql ((char *) argv[2]); - } - else - { - *pzErr = - sqlite3_mprintf - ("[VirtualKNN module] CREATE VIRTUAL: illegal arg list {void}\n"); - return SQLITE_ERROR; - } - p_vt = (VirtualKnnPtr) sqlite3_malloc (sizeof (VirtualKnn)); - if (!p_vt) - return SQLITE_NOMEM; - p_vt->db = db; - p_vt->pModule = &my_knn_module; - p_vt->nRef = 0; - p_vt->zErrMsg = NULL; - p_vt->knn_ctx = vknn_create_context (); -/* preparing the COLUMNs for this VIRTUAL TABLE */ - xname = gaiaDoubleQuotedSql (vtable); - buf = sqlite3_mprintf ("CREATE TABLE \"%s\" (f_table_name TEXT, " - "f_geometry_column TEXT, ref_geometry BLOB, max_items INTEGER, " - "pos INTEGER, fid INTEGER, distance DOUBLE)", xname); - free (xname); - free (vtable); - if (sqlite3_declare_vtab (db, buf) != SQLITE_OK) - { - sqlite3_free (buf); - *pzErr = - sqlite3_mprintf - ("[VirtualKNN module] CREATE VIRTUAL: invalid SQL statement \"%s\"", - buf); - return SQLITE_ERROR; - } - sqlite3_free (buf); - *ppVTab = (sqlite3_vtab *) p_vt; - return SQLITE_OK; -} - -static int -vknn_connect (sqlite3 * db, void *pAux, int argc, const char *const *argv, - sqlite3_vtab ** ppVTab, char **pzErr) -{ -/* connects the virtual table - simply aliases vknn_create() */ - return vknn_create (db, pAux, argc, argv, ppVTab, pzErr); -} - -static int -vknn_best_index (sqlite3_vtab * pVTab, sqlite3_index_info * pIdxInfo) -{ -/* best index selection */ - int i; - int errors = 0; - int err = 1; - int table = 0; - int geom_col = 0; - int ref_geom = 0; - int max_items = 0; - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - for (i = 0; i < pIdxInfo->nConstraint; i++) - { - /* verifying the constraints */ - struct sqlite3_index_constraint *p = &(pIdxInfo->aConstraint[i]); - if (p->usable) - { - if (p->iColumn == 0 && p->op == SQLITE_INDEX_CONSTRAINT_EQ) - table++; - else if (p->iColumn == 1 && p->op == SQLITE_INDEX_CONSTRAINT_EQ) - geom_col++; - else if (p->iColumn == 2 && p->op == SQLITE_INDEX_CONSTRAINT_EQ) - ref_geom++; - else if (p->iColumn == 3 && p->op == SQLITE_INDEX_CONSTRAINT_EQ) - max_items++; - else - errors++; - } - } - if (table == 1 && (geom_col == 0 || geom_col == 1) && ref_geom == 1 - && (max_items == 0 || max_items == 1) && errors == 0) - { - /* this one is a valid KNN query */ - if (geom_col == 1) - { - if (max_items == 1) - pIdxInfo->idxNum = 3; - else - pIdxInfo->idxNum = 1; - } - else - { - if (max_items == 1) - pIdxInfo->idxNum = 4; - else - pIdxInfo->idxNum = 2; - } - pIdxInfo->estimatedCost = 1.0; - for (i = 0; i < pIdxInfo->nConstraint; i++) - { - if (pIdxInfo->aConstraint[i].usable) - { - pIdxInfo->aConstraintUsage[i].argvIndex = i + 1; - pIdxInfo->aConstraintUsage[i].omit = 1; - } - } - err = 0; - } - if (err) - { - /* illegal query */ - pIdxInfo->idxNum = 0; - } - return SQLITE_OK; -} - -static int -vknn_disconnect (sqlite3_vtab * pVTab) -{ -/* disconnects the virtual table */ - VirtualKnnPtr p_vt = (VirtualKnnPtr) pVTab; - if (p_vt->knn_ctx != NULL) - vknn_free_context (p_vt->knn_ctx); - sqlite3_free (p_vt); - return SQLITE_OK; -} - -static int -vknn_destroy (sqlite3_vtab * pVTab) -{ -/* destroys the virtual table - simply aliases vknn_disconnect() */ - return vknn_disconnect (pVTab); -} - -static int -vknn_open (sqlite3_vtab * pVTab, sqlite3_vtab_cursor ** ppCursor) -{ -/* opening a new cursor */ - VirtualKnnCursorPtr cursor = - (VirtualKnnCursorPtr) sqlite3_malloc (sizeof (VirtualKnnCursor)); - if (cursor == NULL) - return SQLITE_ERROR; - cursor->pVtab = (VirtualKnnPtr) pVTab; - cursor->eof = 1; - *ppCursor = (sqlite3_vtab_cursor *) cursor; - return SQLITE_OK; -} - -static int -vknn_close (sqlite3_vtab_cursor * pCursor) -{ -/* closing the cursor */ - sqlite3_free (pCursor); - return SQLITE_OK; -} - -static int -vknn_filter (sqlite3_vtab_cursor * pCursor, int idxNum, const char *idxStr, - int argc, sqlite3_value ** argv) -{ -/* setting up a cursor filter */ - char *db_prefix = NULL; - char *table_name = NULL; - char *geom_column = NULL; - char *xtable = NULL; - char *xgeom = NULL; - char *xgeomQ; - char *xtableQ; - char *idx_name; - char *idx_nameQ; - char *sql_statement; - gaiaGeomCollPtr geom = NULL; - int ok_table = 0; - int ok_geom = 0; - int ok_max = 0; - int max_items = 3; - int is_geographic; - const unsigned char *blob; - int size; - int exists; - int ret; - sqlite3_stmt *stmt = NULL; - sqlite3_stmt *stmt_dist = NULL; - sqlite3_stmt *stmt_rect = NULL; - VirtualKnnCursorPtr cursor = (VirtualKnnCursorPtr) pCursor; - VirtualKnnPtr knn = (VirtualKnnPtr) cursor->pVtab; - VKnnContextPtr vknn_context = knn->knn_ctx; - if (idxStr) - idxStr = idxStr; /* unused arg warning suppression */ - cursor->eof = 1; - if (idxStr) - idxStr = idxStr; /* unused arg warning suppression */ - cursor->eof = 1; - if (idxNum == 1 && argc == 3) - { - /* retrieving the Table/Column/Geometry params */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - { - char *tn = (char *) sqlite3_value_text (argv[0]); - vknn_parse_table_name (tn, &db_prefix, &table_name); - ok_table = 1; - } - if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - { - geom_column = (char *) sqlite3_value_text (argv[1]); - ok_geom = 1; - } - if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - blob = sqlite3_value_blob (argv[2]); - size = sqlite3_value_bytes (argv[2]); - geom = gaiaFromSpatiaLiteBlobWkb (blob, size); - } - if (ok_table && ok_geom && geom) - ; - else - { - /* invalid args */ - goto stop; - } - } - if (idxNum == 2 && argc == 2) - { - /* retrieving the Table/Geometry params */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - { - char *tn = (char *) sqlite3_value_text (argv[0]); - vknn_parse_table_name (tn, &db_prefix, &table_name); - ok_table = 1; - } - if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - blob = sqlite3_value_blob (argv[1]); - size = sqlite3_value_bytes (argv[1]); - geom = gaiaFromSpatiaLiteBlobWkb (blob, size); - } - if (ok_table && geom) - ; - else - { - /* invalid args */ - goto stop; - } - } - if (idxNum == 3 && argc == 4) - { - /* retrieving the Table/Column/Geometry/MaxItems params */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - { - char *tn = (char *) sqlite3_value_text (argv[0]); - vknn_parse_table_name (tn, &db_prefix, &table_name); - ok_table = 1; - } - if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - { - geom_column = (char *) sqlite3_value_text (argv[1]); - ok_geom = 1; - } - if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - blob = sqlite3_value_blob (argv[2]); - size = sqlite3_value_bytes (argv[2]); - geom = gaiaFromSpatiaLiteBlobWkb (blob, size); - } - if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - { - max_items = sqlite3_value_int (argv[3]); - if (max_items > 1024) - max_items = 1024; - if (max_items < 1) - max_items = 1; - ok_max = 1; - } - if (ok_table && ok_geom && geom && ok_max) - ; - else - { - /* invalid args */ - goto stop; - } - } - if (idxNum == 4 && argc == 3) - { - /* retrieving the Table/Geometry/MaxItems params */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - { - char *tn = (char *) sqlite3_value_text (argv[0]); - vknn_parse_table_name (tn, &db_prefix, &table_name); - ok_table = 1; - } - if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - blob = sqlite3_value_blob (argv[1]); - size = sqlite3_value_bytes (argv[1]); - geom = gaiaFromSpatiaLiteBlobWkb (blob, size); - } - if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - max_items = sqlite3_value_int (argv[2]); - if (max_items > 1024) - max_items = 1024; - if (max_items < 1) - max_items = 1; - ok_max = 1; - } - if (ok_table && geom && ok_max) - ; - else - { - /* invalid args */ - goto stop; - } - } - -/* checking if the corresponding R*Tree exists */ - if (ok_geom) - exists = - vknn_check_rtree (knn->db, db_prefix, table_name, geom_column, - &xtable, &xgeom, &is_geographic); - else - exists = - vknn_find_rtree (knn->db, db_prefix, table_name, &xtable, - &xgeom, &is_geographic); - if (!exists) - goto stop; - -/* building the Distance query */ - xgeomQ = gaiaDoubleQuotedSql (xgeom); - xtableQ = gaiaDoubleQuotedSql (xtable); - if (is_geographic) - sql_statement = - sqlite3_mprintf - ("SELECT ST_Distance(?, \"%s\", 1) FROM \"%s\" WHERE rowid = ?", - xgeomQ, xtableQ); - else - sql_statement = - sqlite3_mprintf - ("SELECT ST_Distance(?, \"%s\") FROM \"%s\" WHERE rowid = ?", - xgeomQ, xtableQ); - free (xgeomQ); - free (xtableQ); - ret = - sqlite3_prepare_v2 (knn->db, sql_statement, strlen (sql_statement), - &stmt_dist, NULL); - sqlite3_free (sql_statement); - if (ret != SQLITE_OK) - goto stop; - -/* building the RTree MBR Distance query */ - sql_statement = "SELECT ST_Distance(?, BuildMbr(?, ?, ?, ?))"; - ret = - sqlite3_prepare_v2 (knn->db, sql_statement, strlen (sql_statement), - &stmt_rect, NULL); - if (ret != SQLITE_OK) - goto stop; - -/* installing the R*Tree query callback */ - gaiaMbrGeometry (geom); - vknn_init_context (vknn_context, xtable, xgeom, geom, max_items, stmt_dist, - stmt_rect); - gaiaFreeGeomColl (geom); - geom = NULL; /* releasing ownership on geom */ - stmt_dist = NULL; /* releasing ownership on stmt_dist */ - stmt_rect = NULL; /* releasing ownership on stmt_rect */ - sqlite3_rtree_query_callback (knn->db, "knn_position", vknn_query_callback, - vknn_context, NULL); - -/* building the RTree query */ - idx_name = sqlite3_mprintf ("idx_%s_%s", xtable, xgeom); - idx_nameQ = gaiaDoubleQuotedSql (idx_name); - if (db_prefix == NULL) - { - sql_statement = - sqlite3_mprintf - ("SELECT pkid FROM \"%s\" WHERE pkid MATCH knn_position(1)", - idx_nameQ); - } - else - { - char *quoted_db = gaiaDoubleQuotedSql (db_prefix); - sql_statement = - sqlite3_mprintf - ("SELECT pkid FROM \"%s\".\"%s\" WHERE pkid MATCH knn_position(1)", - quoted_db, idx_nameQ); - free (quoted_db); - } - free (idx_nameQ); - sqlite3_free (idx_name); - ret = - sqlite3_prepare_v2 (knn->db, sql_statement, strlen (sql_statement), - &stmt, NULL); - sqlite3_free (sql_statement); - if (ret != SQLITE_OK) - goto stop; - -/* - * this is the real core of the KNN implementation - * we'll loop untill we've explored a reasonable portion - * of the R*Tree - */ - while (1) - { - /* main R*Tree loop - managing an expanding reference BBOX */ - while (1) - { - /* repeatedly querying the R*Tree until exploring all the current reference BBOX */ - vknn_context->changed = 0; - sqlite3_step (stmt); - if (vknn_context->changed == 0) - break; - } - /* recovering the non-overlapping nearest BBOXes */ - if (vknn_recover_nearest (vknn_context)) - continue; - /* expanding the reference BBOX and staring a new full cycle */ - if (!vknn_expand_bbox (vknn_context)) - break; - } - - if (vknn_context->curr_items == 0) - cursor->eof = 1; - else - cursor->eof = 0; - cursor->CurrentIndex = 0; - stop: - if (geom) - gaiaFreeGeomColl (geom); - if (xtable) - free (xtable); - if (xgeom) - free (xgeom); - if (db_prefix) - free (db_prefix); - if (table_name) - free (table_name); - if (stmt != NULL) - sqlite3_finalize (stmt); - if (stmt_dist != NULL) - sqlite3_finalize (stmt_dist); - if (stmt_rect != NULL) - sqlite3_finalize (stmt_rect); - return SQLITE_OK; -} - -static int -vknn_next (sqlite3_vtab_cursor * pCursor) -{ -/* fetching a next row from cursor */ - VirtualKnnCursorPtr cursor = (VirtualKnnCursorPtr) pCursor; - VKnnContextPtr ctx = cursor->pVtab->knn_ctx; - cursor->CurrentIndex += 1; - if (cursor->CurrentIndex >= ctx->curr_items) - cursor->eof = 1; - return SQLITE_OK; -} - -static int -vknn_eof (sqlite3_vtab_cursor * pCursor) -{ -/* cursor EOF */ - VirtualKnnCursorPtr cursor = (VirtualKnnCursorPtr) pCursor; - return cursor->eof; -} - -static int -vknn_column (sqlite3_vtab_cursor * pCursor, sqlite3_context * pContext, - int column) -{ -/* fetching value for the Nth column */ - VirtualKnnCursorPtr cursor = (VirtualKnnCursorPtr) pCursor; - VKnnContextPtr ctx = cursor->pVtab->knn_ctx; - VKnnItemPtr item = NULL; - if (cursor || column) - cursor = cursor; /* unused arg warning suppression */ - if (column) - column = column; /* unused arg warning suppression */ - if (cursor->CurrentIndex < ctx->curr_items) - item = ctx->knn_array + cursor->CurrentIndex; - if (column == 0) - { - /* the Table Name column */ - sqlite3_result_text (pContext, ctx->table_name, - strlen (ctx->table_name), SQLITE_STATIC); - } - else if (column == 1) - { - /* the GeometryColumn Name column */ - sqlite3_result_text (pContext, ctx->column_name, - strlen (ctx->column_name), SQLITE_STATIC); - } - else if (column == 2) - { - /* the Reference Geometry column */ - sqlite3_result_blob (pContext, ctx->blob, ctx->blob_size, - SQLITE_STATIC); - } - else if (column == 3) - { - /* the Max Items column */ - sqlite3_result_int (pContext, ctx->max_items); - } - else if (column == 4) - { - /* the index column */ - sqlite3_result_int (pContext, cursor->CurrentIndex + 1); - } - else if ((column == 5 || column == 6) && item != NULL) - { - if (column == 5) - { - /* the RowID column */ - sqlite3_result_int64 (pContext, item->rowid); - } - else if (column == 6) - { - /* the Distance column */ - sqlite3_result_double (pContext, item->dist); - } - else - sqlite3_result_null (pContext); - } - else - sqlite3_result_null (pContext); - return SQLITE_OK; -} - -static int -vknn_rowid (sqlite3_vtab_cursor * pCursor, sqlite_int64 * pRowid) -{ -/* fetching the ROWID */ - VirtualKnnCursorPtr cursor = (VirtualKnnCursorPtr) pCursor; - *pRowid = cursor->CurrentIndex; - return SQLITE_OK; -} - -static int -vknn_update (sqlite3_vtab * pVTab, int argc, sqlite3_value ** argv, - sqlite_int64 * pRowid) -{ -/* generic update [INSERT / UPDATE / DELETE */ - if (pRowid || argc || argv || pVTab) - pRowid = pRowid; /* unused arg warning suppression */ -/* read only datasource */ - return SQLITE_READONLY; -} - -static int -vknn_begin (sqlite3_vtab * pVTab) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - return SQLITE_OK; -} - -static int -vknn_sync (sqlite3_vtab * pVTab) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - return SQLITE_OK; -} - -static int -vknn_commit (sqlite3_vtab * pVTab) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - return SQLITE_OK; -} - -static int -vknn_rollback (sqlite3_vtab * pVTab) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - return SQLITE_OK; -} - -static int -vknn_rename (sqlite3_vtab * pVTab, const char *zNew) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - if (zNew) - zNew = zNew; /* unused arg warning suppression */ - return SQLITE_ERROR; -} - -static int -spliteKnnInit (sqlite3 * db) -{ - int rc = SQLITE_OK; - my_knn_module.iVersion = 1; - my_knn_module.xCreate = &vknn_create; - my_knn_module.xConnect = &vknn_connect; - my_knn_module.xBestIndex = &vknn_best_index; - my_knn_module.xDisconnect = &vknn_disconnect; - my_knn_module.xDestroy = &vknn_destroy; - my_knn_module.xOpen = &vknn_open; - my_knn_module.xClose = &vknn_close; - my_knn_module.xFilter = &vknn_filter; - my_knn_module.xNext = &vknn_next; - my_knn_module.xEof = &vknn_eof; - my_knn_module.xColumn = &vknn_column; - my_knn_module.xRowid = &vknn_rowid; - my_knn_module.xUpdate = &vknn_update; - my_knn_module.xBegin = &vknn_begin; - my_knn_module.xSync = &vknn_sync; - my_knn_module.xCommit = &vknn_commit; - my_knn_module.xRollback = &vknn_rollback; - my_knn_module.xFindFunction = NULL; - my_knn_module.xRename = &vknn_rename; - sqlite3_create_module_v2 (db, "VirtualKNN", &my_knn_module, NULL, 0); - return rc; -} - -SPATIALITE_PRIVATE int -virtual_knn_extension_init (void *xdb) -{ - sqlite3 *db = (sqlite3 *) xdb; - return spliteKnnInit (db); -} - -#endif /* end KNN conditional */ Index: src/spatialite/virtualnetwork.c ================================================================== --- src/spatialite/virtualnetwork.c +++ src/spatialite/virtualnetwork.c @@ -1,10 +1,10 @@ /* virtualnetwork.c -- SQLite3 extension [VIRTUAL TABLE Routing - shortest path] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Luigi Costalli luigi.costalli@gmail.com @@ -1053,11 +1053,11 @@ int tbd; int ind; int base = 0; int block = 128; int how_many; - sqlite3_stmt *stmt = NULL; + sqlite3_stmt *stmt; char *xfrom; char *xto; char *xgeom; char *xname; char *xtable; @@ -1335,12 +1335,10 @@ pA = pA->Next; } pR = pR->Next; } /* creating the Shortest Path Geometry - LINESTRING */ - if (tot_pts < 2) - return; ln = gaiaAllocLinestring (tot_pts); solution->Geometry = gaiaAllocGeomColl (); solution->Geometry->Srid = srid; gaiaInsertLinestringInGeomColl (solution->Geometry, ln); tot_pts = 0; @@ -2700,10 +2698,11 @@ p_vtab->currentAlgorithm = VNET_DIJKSTRA_ALGORITHM; } return SQLITE_OK; } } + return SQLITE_READONLY; } static int vnet_begin (sqlite3_vtab * pVTab) { DELETED src/spatialite/virtualrouting.c Index: src/spatialite/virtualrouting.c ================================================================== --- src/spatialite/virtualrouting.c +++ src/spatialite/virtualrouting.c @@ -1,6096 +0,0 @@ -/* - - virtualrouting.c -- SQLite3 extension [VIRTUAL TABLE Routing - shortest path] - - version 4.4, 2016 October 7 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2016 -the Initial Developer. All Rights Reserved. - -Contributor(s): -Luigi Costalli luigi.costalli@gmail.com - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#include - -#include -#include -#include - -static struct sqlite3_module my_route_module; - -#define VROUTE_DIJKSTRA_ALGORITHM 1 -#define VROUTE_A_STAR_ALGORITHM 2 - -#define VROUTE_ROUTING_SOLUTION 0xdd -#define VROUTE_RANGE_SOLUTION 0xbb -#define VROUTE_TSP_SOLUTION 0xee - -#define VROUTE_SHORTEST_PATH_FULL 0x70 -#define VROUTE_SHORTEST_PATH_NO_ARCS 0x71 -#define VROUTE_SHORTEST_PATH_NO_GEOMS 0x72 -#define VROUTE_SHORTEST_PATH_SIMPLE 0x73 - -#define VROUTE_SHORTEST_PATH 0x91 -#define VROUTE_TSP_NN 0x92 -#define VROUTE_TSP_GA 0x93 - -#define VROUTE_INVALID_SRID -1234 - -#define VROUTE_TSP_GA_MAX_ITERATIONS 512 - -#ifdef _WIN32 -#define strcasecmp _stricmp -#endif /* not WIN32 */ - -/****************************************************************************** -/ -/ helper structs for destintation candidates -/ -******************************************************************************/ - -typedef struct DestinationCandidateStruct -{ -/* a candidate destination */ - char *Code; - sqlite3_int64 Id; - char Valid; - struct DestinationCandidateStruct *Next; -} DestinationCandidate; -typedef DestinationCandidate *DestinationCandidatePtr; - -typedef struct DestinationCandidatesListStruct -{ -/* a list of candidate destination */ - int NodeCode; - DestinationCandidatePtr First; - DestinationCandidatePtr Last; - int ValidItems; -} DestinationCandidatesList; -typedef DestinationCandidatesList *DestinationCandidatesListPtr; - -/****************************************************************************** -/ -/ virtualrouting structs -/ -******************************************************************************/ - -typedef struct RouteArcStruct -{ -/* an ARC */ - const struct RouteNodeStruct *NodeFrom; - const struct RouteNodeStruct *NodeTo; - sqlite3_int64 ArcRowid; - double Cost; -} RouteArc; -typedef RouteArc *RouteArcPtr; - -typedef struct RouteNodeStruct -{ -/* a NODE */ - int InternalIndex; - sqlite3_int64 Id; - char *Code; - double CoordX; - double CoordY; - int NumArcs; - RouteArcPtr Arcs; -} RouteNode; -typedef RouteNode *RouteNodePtr; - -typedef struct RoutingStruct -{ -/* the main NETWORK structure */ - int Net64; - int AStar; - int EndianArch; - int MaxCodeLength; - int CurrentIndex; - int NodeCode; - int NumNodes; - char *TableName; - char *FromColumn; - char *ToColumn; - char *GeometryColumn; - char *NameColumn; - double AStarHeuristicCoeff; - RouteNodePtr Nodes; -} Routing; -typedef Routing *RoutingPtr; - -typedef struct ArcSolutionStruct -{ -/* Geometry corresponding to an Arc used by Dijkstra shortest path solution */ - sqlite3_int64 ArcRowid; - char *FromCode; - char *ToCode; - sqlite3_int64 FromId; - sqlite3_int64 ToId; - int Points; - double *Coords; - int Srid; - char *Name; - struct ArcSolutionStruct *Next; - -} ArcSolution; -typedef ArcSolution *ArcSolutionPtr; - -typedef struct RowSolutionStruct -{ -/* a row into the shortest path solution */ - RouteArcPtr Arc; - char *Name; - struct RowSolutionStruct *Next; - -} RowSolution; -typedef RowSolution *RowSolutionPtr; - -typedef struct RowNodeSolutionStruct -{ -/* a row into the "within Cost range" solution */ - int RouteNum; - int RouteRow; - RouteNodePtr Node; - double Cost; - int Srid; - struct RowNodeSolutionStruct *Next; - -} RowNodeSolution; -typedef RowNodeSolution *RowNodeSolutionPtr; - -typedef struct ShortestPathSolutionStruct -{ -/* a shortest path solution */ - ArcSolutionPtr FirstArc; - ArcSolutionPtr LastArc; - RouteNodePtr From; - RouteNodePtr To; - char *Undefined; - RowSolutionPtr First; - RowSolutionPtr Last; - RowNodeSolutionPtr FirstNode; - RowNodeSolutionPtr LastNode; - RowNodeSolutionPtr CurrentNodeRow; - double TotalCost; - gaiaGeomCollPtr Geometry; - struct ShortestPathSolutionStruct *Next; -} ShortestPathSolution; -typedef ShortestPathSolution *ShortestPathSolutionPtr; - -typedef struct ResultsetRowStruct -{ -/* a row into the resultset */ - int RouteNum; - int RouteRow; - RouteNodePtr From; - RouteNodePtr To; - char *Undefined; - RowSolutionPtr linkRef; - double TotalCost; - gaiaGeomCollPtr Geometry; - struct ResultsetRowStruct *Next; - -} ResultsetRow; -typedef ResultsetRow *ResultsetRowPtr; - -typedef struct RoutingMultiDestStruct -{ -/* helper struct supporting multiple destinations */ - int CodeNode; - int Items; - int Next; - RouteNodePtr *To; - char *Found; - sqlite3_int64 *Ids; - char **Codes; -} RoutingMultiDest; -typedef RoutingMultiDest *RoutingMultiDestPtr; - -typedef struct MultiSolutionStruct -{ -/* multiple shortest path solutions */ - unsigned char Mode; - RouteNodePtr From; - double MaxCost; - RoutingMultiDestPtr MultiTo; - ResultsetRowPtr FirstRow; - ResultsetRowPtr LastRow; - ResultsetRowPtr CurrentRow; - ShortestPathSolutionPtr First; - ShortestPathSolutionPtr Last; - RowNodeSolutionPtr FirstNode; - RowNodeSolutionPtr LastNode; - RowSolutionPtr FirstArc; - RowSolutionPtr LastArc; - gaiaGeomCollPtr FirstGeom; - gaiaGeomCollPtr LastGeom; - RowNodeSolutionPtr CurrentNodeRow; - sqlite3_int64 CurrentRowId; -} MultiSolution; -typedef MultiSolution *MultiSolutionPtr; - -/****************************************************************************** -/ -/ TSP structs -/ -******************************************************************************/ - -typedef struct TspTargetsStruct -{ -/* TSP helper struct */ - unsigned char Mode; - double TotalCost; - RouteNodePtr From; - int Count; - RouteNodePtr *To; - char *Found; - double *Costs; - ShortestPathSolutionPtr *Solutions; - ShortestPathSolutionPtr LastSolution; -} TspTargets; -typedef TspTargets *TspTargetsPtr; - -typedef struct TspGaSubDistanceStruct -{ -/* a cache sub-item for storing TSP GA costs */ - RouteNodePtr CityTo; - double Cost; -} TspGaSubDistance; -typedef TspGaSubDistance *TspGaSubDistancePtr; - -typedef struct TspGaDistanceStruct -{ -/* a cache item for storing TSP GA costs */ - RouteNodePtr CityFrom; - int Cities; - TspGaSubDistancePtr *Distances; - int NearestIndex; -} TspGaDistance; -typedef TspGaDistance *TspGaDistancePtr; - -typedef struct TspGaSolutionStruct -{ -/* TSP GA solution struct */ - int Cities; - RouteNodePtr *CitiesFrom; - RouteNodePtr *CitiesTo; - double *Costs; - double TotalCost; -} TspGaSolution; -typedef TspGaSolution *TspGaSolutionPtr; - -typedef struct TspGaPopulationStruct -{ -/* TSP GA helper struct */ - int Count; - int Cities; - TspGaSolutionPtr *Solutions; - TspGaSolutionPtr *Offsprings; - TspGaDistancePtr *Distances; - char *RandomSolutionsSql; - char *RandomIntervalSql; -} TspGaPopulation; -typedef TspGaPopulation *TspGaPopulationPtr; - -/****************************************************************************** -/ -/ Dijkstra and A* common structs -/ -******************************************************************************/ - -typedef struct RoutingNode -{ - int Id; - struct RoutingNode **To; - RouteArcPtr *Link; - int DimTo; - struct RoutingNode *PreviousNode; - RouteNodePtr Node; - RouteArcPtr Arc; - double Distance; - double HeuristicDistance; - int Inspected; -} RoutingNode; -typedef RoutingNode *RoutingNodePtr; - -typedef struct RoutingNodes -{ - RoutingNodePtr Nodes; - RouteArcPtr *ArcsBuffer; - RoutingNodePtr *NodesBuffer; - int Dim; - int DimLink; -} RoutingNodes; -typedef RoutingNodes *RoutingNodesPtr; - -typedef struct HeapNode -{ - RoutingNodePtr Node; - double Distance; -} HeapNode; -typedef HeapNode *HeapNodePtr; - -typedef struct RoutingHeapStruct -{ - HeapNodePtr Nodes; - int Count; -} RoutingHeap; -typedef RoutingHeap *RoutingHeapPtr; - -/****************************************************************************** -/ -/ VirtualTable structs -/ -******************************************************************************/ - -typedef struct virtualroutingStruct -{ -/* extends the sqlite3_vtab struct */ - const sqlite3_module *pModule; /* ptr to sqlite module: USED INTERNALLY BY SQLITE */ - int nRef; /* # references: USED INTERNALLY BY SQLITE */ - char *zErrMsg; /* error message: USE INTERNALLY BY SQLITE */ - sqlite3 *db; /* the sqlite db holding the virtual table */ - RoutingPtr graph; /* the NETWORK structure */ - RoutingNodesPtr routing; /* the ROUTING structure */ - int currentAlgorithm; /* the currently selected Shortest Path Algorithm */ - int currentRequest; /* the currently selected Shortest Path Request */ - int currentOptions; /* the currently selected Shortest Path Options */ - char currentDelimiter; /* the currently set delimiter char */ - MultiSolutionPtr multiSolution; /* the current multiple solution */ - int eof; /* the EOF marker */ -} virtualrouting; -typedef virtualrouting *virtualroutingPtr; - -typedef struct virtualroutingCursortStruct -{ -/* extends the sqlite3_vtab_cursor struct */ - virtualroutingPtr pVtab; /* Virtual table of this cursor */ -} virtualroutingCursor; -typedef virtualroutingCursor *virtualroutingCursorPtr; - -/* -/ -/ implementation of the Dijkstra Shortest Path algorithm -/ -//////////////////////////////////////////////////////////// -/ -/ Author: Luigi Costalli luigi.costalli@gmail.com -/ version 1.0. 2008 October 21 -/ -*/ - -static RoutingNodesPtr -routing_init (RoutingPtr graph) -{ -/* allocating and initializing the ROUTING struct */ - int i; - int j; - int cnt = 0; - RoutingNodesPtr nd; - RoutingNodePtr ndn; - RouteNodePtr nn; -/* allocating the main Nodes struct */ - nd = malloc (sizeof (RoutingNodes)); -/* allocating and initializing Nodes array */ - nd->Nodes = malloc (sizeof (RoutingNode) * graph->NumNodes); - nd->Dim = graph->NumNodes; - nd->DimLink = 0; - -/* pre-alloc buffer strategy - GENSCHER 2010-01-05 */ - for (i = 0; i < graph->NumNodes; cnt += graph->Nodes[i].NumArcs, i++); - nd->NodesBuffer = malloc (sizeof (RoutingNodePtr) * cnt); - nd->ArcsBuffer = malloc (sizeof (RouteArcPtr) * cnt); - - cnt = 0; - for (i = 0; i < graph->NumNodes; i++) - { - /* initializing the Nodes array */ - nn = graph->Nodes + i; - ndn = nd->Nodes + i; - ndn->Id = nn->InternalIndex; - ndn->DimTo = nn->NumArcs; - ndn->Node = nn; - ndn->To = &(nd->NodesBuffer[cnt]); - ndn->Link = &(nd->ArcsBuffer[cnt]); - cnt += nn->NumArcs; - - for (j = 0; j < nn->NumArcs; j++) - { - /* setting the outcoming Arcs for the current Node */ - nd->DimLink++; - ndn->To[j] = nd->Nodes + nn->Arcs[j].NodeTo->InternalIndex; - ndn->Link[j] = nn->Arcs + j; - } - } - return (nd); -} - -static void -routing_free (RoutingNodes * e) -{ -/* memory cleanup; freeing the ROUTING struct */ - free (e->ArcsBuffer); - free (e->NodesBuffer); - free (e->Nodes); - free (e); -} - -static RoutingHeapPtr -routing_heap_init (int n) -{ -/* allocating and initializing the Heap (min-priority queue) */ - RoutingHeapPtr heap = malloc (sizeof (RoutingHeap)); - heap->Count = 0; - heap->Nodes = malloc (sizeof (HeapNode) * (n + 1)); - return heap; -} - -static void -routing_heap_reset (RoutingHeapPtr heap) -{ -/* resetting the Heap (min-priority queue) */ - if (heap == NULL) - return; - heap->Count = 0; -} - -static void -routing_heap_free (RoutingHeapPtr heap) -{ -/* freeing the Heap (min-priority queue) */ - if (heap->Nodes != NULL) - free (heap->Nodes); - free (heap); -} - -static void -dijkstra_insert (RoutingNodePtr node, HeapNodePtr heap, int size) -{ -/* inserting a new Node and rearranging the heap */ - int i; - HeapNode tmp; - i = size + 1; - heap[i].Node = node; - heap[i].Distance = node->Distance; - if (i / 2 < 1) - return; - while (heap[i].Distance < heap[i / 2].Distance) - { - tmp = heap[i]; - heap[i] = heap[i / 2]; - heap[i / 2] = tmp; - i /= 2; - if (i / 2 < 1) - break; - } -} - -static void -dijkstra_enqueue (RoutingHeapPtr heap, RoutingNodePtr node) -{ -/* enqueuing a Node into the heap */ - dijkstra_insert (node, heap->Nodes, heap->Count); - heap->Count += 1; -} - -static void -dijkstra_shiftdown (HeapNodePtr heap, int size, int i) -{ -/* rearranging the heap after removing */ - int c; - HeapNode tmp; - for (;;) - { - c = i * 2; - if (c > size) - break; - if (c < size) - { - if (heap[c].Distance > heap[c + 1].Distance) - ++c; - } - if (heap[c].Distance < heap[i].Distance) - { - /* swapping two Nodes */ - tmp = heap[c]; - heap[c] = heap[i]; - heap[i] = tmp; - i = c; - } - else - break; - } -} - -static RoutingNodePtr -dijkstra_remove_min (HeapNodePtr heap, int size) -{ -/* removing the min-priority Node from the heap */ - RoutingNodePtr node = heap[1].Node; - heap[1] = heap[size]; - --size; - dijkstra_shiftdown (heap, size, 1); - return node; -} - -static RoutingNodePtr -routing_dequeue (RoutingHeapPtr heap) -{ -/* dequeuing a Node from the heap */ - RoutingNodePtr node = dijkstra_remove_min (heap->Nodes, heap->Count); - heap->Count -= 1; - return node; -} - -/* END of Luigi Costalli Dijkstra Shortest Path implementation */ - -static void -delete_solution (ShortestPathSolutionPtr solution) -{ -/* deleting the current solution */ - ArcSolutionPtr pA; - ArcSolutionPtr pAn; - RowSolutionPtr pR; - RowSolutionPtr pRn; - RowNodeSolutionPtr pN; - RowNodeSolutionPtr pNn; - if (!solution) - return; - pA = solution->FirstArc; - while (pA) - { - pAn = pA->Next; - if (pA->FromCode) - free (pA->FromCode); - if (pA->ToCode) - free (pA->ToCode); - if (pA->Coords) - free (pA->Coords); - if (pA->Name) - free (pA->Name); - free (pA); - pA = pAn; - } - pR = solution->First; - while (pR) - { - pRn = pR->Next; - if (pR->Name) - free (pR->Name); - free (pR); - pR = pRn; - } - pN = solution->FirstNode; - while (pN) - { - pNn = pN->Next; - free (pN); - pN = pNn; - } - if (solution->Undefined != NULL) - free (solution->Undefined); - if (solution->Geometry) - gaiaFreeGeomColl (solution->Geometry); - free (solution); -} - -static ShortestPathSolutionPtr -alloc_solution (void) -{ -/* allocates and initializes the current solution */ - ShortestPathSolutionPtr p = malloc (sizeof (ShortestPathSolution)); - p->FirstArc = NULL; - p->LastArc = NULL; - p->From = NULL; - p->To = NULL; - p->Undefined = NULL; - p->First = NULL; - p->Last = NULL; - p->FirstNode = NULL; - p->LastNode = NULL; - p->CurrentNodeRow = NULL; - p->TotalCost = 0.0; - p->Geometry = NULL; - p->Next = NULL; - return p; -} - -static void -add_arc_to_solution (ShortestPathSolutionPtr solution, RouteArcPtr arc) -{ -/* inserts an Arc into the Shortest Path solution */ - RowSolutionPtr p = malloc (sizeof (RowSolution)); - p->Arc = arc; - p->Name = NULL; - p->Next = NULL; - solution->TotalCost += arc->Cost; - if (!(solution->First)) - solution->First = p; - if (solution->Last) - solution->Last->Next = p; - solution->Last = p; -} - -static void -add_node_to_solution (MultiSolutionPtr multiSolution, RoutingNodePtr node, - int srid, int index) -{ -/* inserts a Node into the "within Cost range" solution */ - RowNodeSolutionPtr p = malloc (sizeof (RowNodeSolution)); - p->RouteNum = 0; - p->RouteRow = index; - p->Node = node->Node; - p->Cost = node->Distance; - p->Srid = srid; - p->Next = NULL; - if (!(multiSolution->FirstNode)) - multiSolution->FirstNode = p; - if (multiSolution->LastNode) - multiSolution->LastNode->Next = p; - multiSolution->LastNode = p; -} - -static void -set_arc_name_into_solution (ShortestPathSolutionPtr solution, - sqlite3_int64 arc_id, const char *name) -{ -/* sets the Name identifyin an Arc into the Solution */ - RowSolutionPtr row = solution->First; - while (row != NULL) - { - if (row->Arc->ArcRowid == arc_id) - { - int len = strlen (name); - if (row->Name != NULL) - free (row->Name); - row->Name = malloc (len + 1); - strcpy (row->Name, name); - return; - } - row = row->Next; - } -} - -static void -add_arc_geometry_to_solution (ShortestPathSolutionPtr solution, - sqlite3_int64 arc_id, const char *from_code, - const char *to_code, sqlite3_int64 from_id, - sqlite3_int64 to_id, int points, double *coords, - int srid, const char *name) -{ -/* inserts an Arc Geometry into the Shortest Path solution */ - int len; - ArcSolutionPtr p = malloc (sizeof (ArcSolution)); - p->ArcRowid = arc_id; - p->FromCode = NULL; - len = strlen (from_code); - if (len > 0) - { - p->FromCode = malloc (len + 1); - strcpy (p->FromCode, from_code); - } - p->ToCode = NULL; - len = strlen (to_code); - if (len > 0) - { - p->ToCode = malloc (len + 1); - strcpy (p->ToCode, to_code); - } - p->FromId = from_id; - p->ToId = to_id; - p->Points = points; - p->Coords = coords; - p->Srid = srid; - if (name == NULL) - p->Name = NULL; - else - { - len = strlen (name); - p->Name = malloc (len + 1); - strcpy (p->Name, name); - } - p->Next = NULL; - if (!(solution->FirstArc)) - solution->FirstArc = p; - if (solution->LastArc) - solution->LastArc->Next = p; - solution->LastArc = p; -} - -static void -build_solution (sqlite3 * handle, int options, RoutingPtr graph, - ShortestPathSolutionPtr solution, RouteArcPtr * shortest_path, - int cnt) -{ -/* formatting the Shortest Path solution */ - int i; - char *sql; - int err; - int error = 0; - int ret; - sqlite3_int64 arc_id; - const unsigned char *blob; - int size; - sqlite3_int64 from_id; - sqlite3_int64 to_id; - char *from_code; - char *to_code; - char *name; - int tbd; - int ind; - int base = 0; - int block = 128; - int how_many; - sqlite3_stmt *stmt = NULL; - char *xfrom; - char *xto; - char *xgeom; - char *xname; - char *xtable; - gaiaOutBuffer sql_statement; - if (options == VROUTE_SHORTEST_PATH_SIMPLE) - { - /* building the solution */ - for (i = 0; i < cnt; i++) - solution->TotalCost += shortest_path[i]->Cost; - } - else - { - /* building the solution */ - for (i = 0; i < cnt; i++) - add_arc_to_solution (solution, shortest_path[i]); - } - if (options == VROUTE_SHORTEST_PATH_SIMPLE) - { - if (shortest_path) - free (shortest_path); - return; - } - if (graph->GeometryColumn == NULL && graph->NameColumn == NULL) - { - if (shortest_path) - free (shortest_path); - return; - } - if (options == VROUTE_SHORTEST_PATH_NO_GEOMS && graph->NameColumn == NULL) - { - if (shortest_path) - free (shortest_path); - return; - } - - tbd = cnt; - while (tbd > 0) - { - /* requesting max 128 arcs at each time */ - if (tbd < block) - how_many = tbd; - else - how_many = block; -/* preparing the Geometry representing this solution [reading arcs] */ - gaiaOutBufferInitialize (&sql_statement); - if (graph->NameColumn) - { - /* a Name column is defined */ - if (graph->GeometryColumn == NULL - || options == VROUTE_SHORTEST_PATH_NO_GEOMS) - { - xfrom = gaiaDoubleQuotedSql (graph->FromColumn); - xto = gaiaDoubleQuotedSql (graph->ToColumn); - xname = gaiaDoubleQuotedSql (graph->NameColumn); - xtable = gaiaDoubleQuotedSql (graph->TableName); - sql = - sqlite3_mprintf - ("SELECT ROWID, \"%s\", \"%s\", NULL, \"%s\" FROM \"%s\" WHERE ROWID IN (", - xfrom, xto, xname, xtable); - free (xfrom); - free (xto); - free (xname); - free (xtable); - } - else - { - xfrom = gaiaDoubleQuotedSql (graph->FromColumn); - xto = gaiaDoubleQuotedSql (graph->ToColumn); - xgeom = gaiaDoubleQuotedSql (graph->GeometryColumn); - xname = gaiaDoubleQuotedSql (graph->NameColumn); - xtable = gaiaDoubleQuotedSql (graph->TableName); - sql = - sqlite3_mprintf - ("SELECT ROWID, \"%s\", \"%s\", \"%s\", \"%s\" FROM \"%s\" WHERE ROWID IN (", - xfrom, xto, xgeom, xname, xtable); - free (xfrom); - free (xto); - free (xgeom); - free (xname); - free (xtable); - } - gaiaAppendToOutBuffer (&sql_statement, sql); - sqlite3_free (sql); - } - else - { - /* no Name column is defined */ - xfrom = gaiaDoubleQuotedSql (graph->FromColumn); - xto = gaiaDoubleQuotedSql (graph->ToColumn); - xgeom = gaiaDoubleQuotedSql (graph->GeometryColumn); - xtable = gaiaDoubleQuotedSql (graph->TableName); - sql = - sqlite3_mprintf - ("SELECT ROWID, \"%s\", \"%s\", \"%s\" FROM \"%s\" WHERE ROWID IN (", - xfrom, xto, xgeom, xtable); - free (xfrom); - free (xto); - free (xgeom); - free (xtable); - gaiaAppendToOutBuffer (&sql_statement, sql); - sqlite3_free (sql); - } - for (i = 0; i < how_many; i++) - { - if (i == 0) - gaiaAppendToOutBuffer (&sql_statement, "?"); - else - gaiaAppendToOutBuffer (&sql_statement, ",?"); - } - gaiaAppendToOutBuffer (&sql_statement, ")"); - if (sql_statement.Error == 0 && sql_statement.Buffer != NULL) - ret = - sqlite3_prepare_v2 (handle, sql_statement.Buffer, - strlen (sql_statement.Buffer), &stmt, - NULL); - else - ret = SQLITE_ERROR; - gaiaOutBufferReset (&sql_statement); - if (ret != SQLITE_OK) - { - error = 1; - goto abort; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - ind = 1; - for (i = 0; i < cnt; i++) - { - if (i < base) - continue; - if (i >= (base + how_many)) - break; - sqlite3_bind_int64 (stmt, ind, shortest_path[i]->ArcRowid); - ind++; - } - while (1) - { - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; - if (ret == SQLITE_ROW) - { - arc_id = -1; - from_id = -1; - to_id = -1; - from_code = NULL; - to_code = NULL; - blob = NULL; - size = 0; - name = NULL; - err = 0; - if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER) - arc_id = sqlite3_column_int64 (stmt, 0); - else - err = 1; - if (graph->NodeCode) - { - /* nodes are identified by TEXT codes */ - if (sqlite3_column_type (stmt, 1) == SQLITE_TEXT) - from_code = - (char *) sqlite3_column_text (stmt, 1); - else - err = 1; - if (sqlite3_column_type (stmt, 2) == SQLITE_TEXT) - to_code = - (char *) sqlite3_column_text (stmt, 2); - else - err = 1; - } - else - { - /* nodes are identified by INTEGER ids */ - if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER) - from_id = sqlite3_column_int64 (stmt, 1); - else - err = 1; - if (sqlite3_column_type (stmt, 2) == SQLITE_INTEGER) - to_id = sqlite3_column_int64 (stmt, 2); - else - err = 1; - } - if (graph->GeometryColumn != NULL - && options != VROUTE_SHORTEST_PATH_NO_GEOMS) - { - if (sqlite3_column_type (stmt, 3) == SQLITE_BLOB) - { - blob = - (const unsigned char *) - sqlite3_column_blob (stmt, 3); - size = sqlite3_column_bytes (stmt, 3); - } - else - err = 1; - } - if (graph->NameColumn) - { - if (sqlite3_column_type (stmt, 4) == SQLITE_TEXT) - name = (char *) sqlite3_column_text (stmt, 4); - } - if (err) - error = 1; - else if (graph->GeometryColumn != NULL - && options != VROUTE_SHORTEST_PATH_NO_GEOMS) - { - /* saving the Arc geometry into the temporary struct */ - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, size); - if (geom) - { - /* OK, we have fetched a valid Geometry */ - if (geom->FirstPoint == NULL - && geom->FirstPolygon == NULL - && geom->FirstLinestring != NULL - && geom->FirstLinestring == - geom->LastLinestring) - { - /* Geometry is LINESTRING as expected */ - int iv; - int points = - geom->FirstLinestring->Points; - double *coords = - malloc (sizeof (double) * - (points * 2)); - for (iv = 0; iv < points; iv++) - { - double x; - double y; - gaiaGetPoint - (geom->FirstLinestring-> - Coords, iv, &x, &y); - *(coords + ((iv * 2) + 0)) = x; - *(coords + ((iv * 2) + 1)) = y; - } - if (from_code == NULL) - from_code = ""; - if (to_code == NULL) - to_code = ""; - add_arc_geometry_to_solution (solution, - arc_id, - from_code, - to_code, - from_id, - to_id, - points, - coords, - geom-> - Srid, - name); - } - else - error = 1; - gaiaFreeGeomColl (geom); - } - else - error = 1; - } - else if (name != NULL) - set_arc_name_into_solution (solution, arc_id, name); - } - } - sqlite3_finalize (stmt); - tbd -= how_many; - base += how_many; - } - abort: - if (shortest_path) - free (shortest_path); - if (!error && graph->GeometryColumn != NULL - && options != VROUTE_SHORTEST_PATH_NO_GEOMS) - { - /* building the Geometry representing the Shortest Path Solution */ - gaiaLinestringPtr ln; - int tot_pts = 0; - RowSolutionPtr pR; - ArcSolutionPtr pA; - int srid = -1; - if (solution->FirstArc) - srid = (solution->FirstArc)->Srid; - pR = solution->First; - while (pR) - { - pA = solution->FirstArc; - while (pA) - { - /* computing how many vertices do we need to build the LINESTRING */ - if (pR->Arc->ArcRowid == pA->ArcRowid) - { - if (pR == solution->First) - tot_pts += pA->Points; - else - tot_pts += (pA->Points - 1); - if (pA->Srid != srid) - srid = -1; - } - pA = pA->Next; - } - pR = pR->Next; - } - /* creating the Shortest Path Geometry - LINESTRING */ - if (tot_pts <= 2) - return; - ln = gaiaAllocLinestring (tot_pts); - solution->Geometry = gaiaAllocGeomColl (); - solution->Geometry->Srid = srid; - gaiaInsertLinestringInGeomColl (solution->Geometry, ln); - tot_pts = 0; - pR = solution->First; - while (pR) - { - /* building the LINESTRING */ - int skip; - if (pR == solution->First) - skip = 0; /* for first arc we must copy any vertex */ - else - skip = 1; /* for subsequent arcs we must skip first vertex [already inserted from previous arc] */ - pA = solution->FirstArc; - while (pA) - { - if (pR->Arc->ArcRowid == pA->ArcRowid) - { - /* copying vertices from correspoinding Arc Geometry */ - int ini; - int iv; - int rev; - double x; - double y; - if (graph->NodeCode) - { - /* nodes are identified by TEXT codes */ - if (strcmp - (pR->Arc->NodeFrom->Code, - pA->ToCode) == 0) - rev = 1; - else - rev = 0; - } - else - { - /* nodes are identified by INTEGER ids */ - if (pR->Arc->NodeFrom->Id == pA->ToId) - rev = 1; - else - rev = 0; - } - if (rev) - { - /* copying Arc vertices in reverse order */ - if (skip) - ini = pA->Points - 2; - else - ini = pA->Points - 1; - for (iv = ini; iv >= 0; iv--) - { - x = *(pA->Coords + ((iv * 2) + 0)); - y = *(pA->Coords + ((iv * 2) + 1)); - gaiaSetPoint (ln->Coords, tot_pts, x, - y); - tot_pts++; - } - } - else - { - /* copying Arc vertices in normal order */ - if (skip) - ini = 1; - else - ini = 0; - for (iv = ini; iv < pA->Points; iv++) - { - x = *(pA->Coords + ((iv * 2) + 0)); - y = *(pA->Coords + ((iv * 2) + 1)); - gaiaSetPoint (ln->Coords, tot_pts, x, - y); - tot_pts++; - } - } - if (pA->Name) - { - int len = strlen (pA->Name); - pR->Name = malloc (len + 1); - strcpy (pR->Name, pA->Name); - } - break; - } - pA = pA->Next; - } - pR = pR->Next; - } - } - else - { - RowSolutionPtr pR; - ArcSolutionPtr pA; - if (graph->NameColumn != NULL) - { - pR = solution->First; - while (pR) - { - pA = solution->FirstArc; - while (pA) - { - if (pA->Name) - { - int len = strlen (pA->Name); - pR->Name = malloc (len + 1); - strcpy (pR->Name, pA->Name); - } - pA = pA->Next; - } - pR = pR->Next; - } - } - } - - if (options == VROUTE_SHORTEST_PATH_NO_ARCS) - { - /* deleting arcs */ - RowSolutionPtr pR; - RowSolutionPtr pRn; - pR = solution->First; - while (pR) - { - pRn = pR->Next; - if (pR->Name) - free (pR->Name); - free (pR); - pR = pRn; - } - solution->First = NULL; - solution->Last = NULL; - } -} - -static void -build_multi_solution (MultiSolutionPtr multiSolution) -{ -/* formatting the Shortest Path resultset */ - ShortestPathSolutionPtr pS; - int route_num = 0; - pS = multiSolution->First; - while (pS != NULL) - { - /* inserting the Route Header */ - int route_row = 0; - RowSolutionPtr pA; - ResultsetRowPtr row = malloc (sizeof (ResultsetRow)); - row->RouteNum = route_num; - row->RouteRow = route_row++; - row->From = pS->From; - row->To = pS->To; - row->Undefined = pS->Undefined; - pS->Undefined = NULL; - row->linkRef = NULL; - row->TotalCost = pS->TotalCost; - row->Geometry = pS->Geometry; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - - pA = pS->First; - while (pA != NULL) - { - /* inserting Route's traversed Arcs */ - row = malloc (sizeof (ResultsetRow)); - row->RouteNum = route_num; - row->RouteRow = route_row++; - row->From = NULL; - row->To = NULL; - row->Undefined = NULL; - row->linkRef = pA; - row->TotalCost = 0.0; - row->Geometry = NULL; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - pA = pA->Next; - } - route_num++; - pS = pS->Next; - } -} - -static void -aux_tsp_add_solution (MultiSolutionPtr multiSolution, - ShortestPathSolutionPtr pS, int *route_num, - gaiaLinestringPtr tsp_path, int *point_index, int mode) -{ -/* helper function: adding a solutiont into the TSP resultset */ - RowSolutionPtr pA; - ResultsetRowPtr row; - int route_row = 0; - -/* inserting the Route Header */ - row = malloc (sizeof (ResultsetRow)); - row->RouteNum = *route_num; - *route_num += 1; - row->RouteRow = route_row; - route_row += 1; - row->From = pS->From; - row->To = pS->To; - row->Undefined = NULL; - row->linkRef = NULL; - row->TotalCost = pS->TotalCost; - row->Geometry = pS->Geometry; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - /* adding the Geometry to the multiSolution list */ - if (multiSolution->FirstGeom == NULL) - multiSolution->FirstGeom = pS->Geometry; - if (multiSolution->LastGeom != NULL) - multiSolution->LastGeom->Next = pS->Geometry; - multiSolution->LastGeom = pS->Geometry; - /* removing Geometry ownership form Solution */ - pS->Geometry = NULL; - - /* copying points into the TSP geometry */ - if (tsp_path != NULL && row->Geometry != NULL) - { - gaiaLinestringPtr ln = row->Geometry->FirstLinestring; - if (ln != NULL) - { - int base; - int iv; - if (!mode) - base = 0; - else - base = 1; - for (iv = base; iv < ln->Points; iv++) - { - double x; - double y; - int pt = *point_index; - *point_index += 1; - gaiaGetPoint (ln->Coords, iv, &x, &y); - gaiaSetPoint (tsp_path->Coords, pt, x, y); - } - } - } - - pA = pS->First; - while (pA != NULL) - { - /* inserting Route's traversed Arcs */ - row = malloc (sizeof (ResultsetRow)); - row->RouteNum = *route_num; - row->RouteRow = route_row; - route_row += 1; - row->From = NULL; - row->To = NULL; - row->Undefined = NULL; - row->linkRef = pA; - row->TotalCost = 0.0; - row->Geometry = NULL; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - /* adding the Arc to the multiSolution list */ - if (multiSolution->FirstArc == NULL) - multiSolution->FirstArc = pA; - if (multiSolution->LastArc != NULL) - multiSolution->LastArc->Next = pA; - multiSolution->LastArc = pA; - pA = pA->Next; - } - route_num += 1; - /* removing Arcs ownership form Solution */ - pS->First = NULL; - pS->Last = NULL; -} - -static void -aux_build_tsp (MultiSolutionPtr multiSolution, TspTargetsPtr targets, - int route_num, gaiaLinestringPtr tsp_path) -{ -/* helper function: formatting the TSP resultset */ - int point_index = 0; - int i; - for (i = 0; i < targets->Count; i++) - { - /* adding all City to City solutions */ - ShortestPathSolutionPtr pS = *(targets->Solutions + i); - aux_tsp_add_solution (multiSolution, pS, &route_num, tsp_path, - &point_index, i); - } - /* adding the final trip closing the circular path */ - aux_tsp_add_solution (multiSolution, targets->LastSolution, &route_num, - tsp_path, &point_index, targets->Count); - -} - -static void -build_tsp_solution (MultiSolutionPtr multiSolution, TspTargetsPtr targets) -{ -/* formatting the TSP resultset */ - ShortestPathSolutionPtr *oldS; - ShortestPathSolutionPtr pS; - ResultsetRowPtr row; - RouteNodePtr from; - int i; - int k; - int unreachable = 0; - int route_row = 0; - int route_num = 0; - int points = 0; - gaiaLinestringPtr tsp_path = NULL; - int srid = -1; - int found; - -/* checking for undefined or unreacheable targets */ - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr to = *(targets->To + i); - if (to == NULL) - continue; - if (*(targets->Found + i) != 'Y') - unreachable = 1; - } - -/* inserting the TSP Header */ - row = malloc (sizeof (ResultsetRow)); - row->RouteNum = route_num++; - row->RouteRow = route_row++; - row->From = multiSolution->From; - row->To = multiSolution->From; - row->Undefined = NULL; - row->linkRef = NULL; - if (unreachable) - row->TotalCost = 0.0; - else - row->TotalCost = targets->TotalCost; - row->Geometry = NULL; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - - if (unreachable) - { - /* inserting unreacheable targets */ - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr to = *(targets->To + i); - if (to == NULL) - continue; - if (*(targets->Found + i) != 'Y') - { - /* unreacheable target */ - row = malloc (sizeof (ResultsetRow)); - row->RouteNum = route_num++; - row->RouteRow = 0; - row->From = to; - row->To = to; - row->Undefined = NULL; - row->linkRef = NULL; - row->TotalCost = 0.0; - row->Geometry = NULL; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - } - } - return; - } - -/* creating the TSP geometry */ - for (i = 0; i < targets->Count; i++) - { - pS = *(targets->Solutions + i); - gaiaGeomCollPtr geom = pS->Geometry; - if (geom != NULL) - { - srid = geom->Srid; - gaiaLinestringPtr ln = geom->FirstLinestring; - if (ln != NULL) - { - if (i == 0) - points += ln->Points; - else - points += ln->Points - 1; - } - } - } - if (targets->LastSolution != NULL) - { - gaiaGeomCollPtr geom = targets->LastSolution->Geometry; - if (geom != NULL) - { - gaiaLinestringPtr ln = geom->FirstLinestring; - if (ln != NULL) - { - points += ln->Points - 1; - } - } - } - if (points >= 2) - { - row->Geometry = gaiaAllocGeomColl (); - row->Geometry->Srid = srid; - tsp_path = gaiaAddLinestringToGeomColl (row->Geometry, points); - /* adding the Geometry to the multiSolution list */ - if (multiSolution->FirstGeom == NULL) - multiSolution->FirstGeom = row->Geometry; - if (multiSolution->LastGeom != NULL) - multiSolution->LastGeom->Next = row->Geometry; - multiSolution->LastGeom = row->Geometry; - } - - /* reordering the TSP solution */ - oldS = targets->Solutions; - targets->Solutions = - malloc (sizeof (ShortestPathSolutionPtr) * targets->Count); - from = multiSolution->From; - for (k = 0; k < targets->Count; k++) - { - /* building the right sequence */ - found = 0; - for (i = 0; i < targets->Count; i++) - { - pS = *(oldS + i); - if (pS->From == from) - { - *(targets->Solutions + k) = pS; - from = pS->To; - found = 1; - break; - } - } - if (!found) - { - if (targets->LastSolution->From == from) - { - *(targets->Solutions + k) = targets->LastSolution; - from = targets->LastSolution->To; - } - } - } - /* adjusting the last route so to close a circular path */ - for (i = 0; i < targets->Count; i++) - { - pS = *(oldS + i); - if (pS->From == from) - { - targets->LastSolution = pS; - break; - } - } - free (oldS); - aux_build_tsp (multiSolution, targets, route_num, tsp_path); -} - -static void -build_tsp_illegal_solution (MultiSolutionPtr multiSolution, - TspTargetsPtr targets) -{ -/* formatting the TSP resultset - undefined targets */ - ResultsetRowPtr row; - int i; - int route_num = 0; - -/* inserting the TSP Header */ - row = malloc (sizeof (ResultsetRow)); - row->RouteNum = route_num++; - row->RouteRow = 0; - row->From = multiSolution->From; - row->To = multiSolution->From; - row->Undefined = NULL; - row->linkRef = NULL; - row->TotalCost = 0.0; - row->Geometry = NULL; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr to = *(targets->To + i); - const char *code = *(multiSolution->MultiTo->Codes + i); - if (to == NULL) - { - /* unknown target */ - int len; - row = malloc (sizeof (ResultsetRow)); - row->RouteNum = route_num++; - row->RouteRow = 0; - row->From = to; - row->To = to; - len = strlen (code); - row->Undefined = malloc (len + 1); - strcpy (row->Undefined, code); - row->linkRef = NULL; - row->TotalCost = 0.0; - row->Geometry = NULL; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - } - if (*(targets->Found + i) != 'Y') - { - /* unreachable target */ - row = malloc (sizeof (ResultsetRow)); - row->RouteNum = route_num++; - row->RouteRow = 0; - row->From = to; - row->To = to; - row->Undefined = NULL; - row->linkRef = NULL; - row->TotalCost = 0.0; - row->Geometry = NULL; - row->Next = NULL; - if (multiSolution->FirstRow == NULL) - multiSolution->FirstRow = row; - if (multiSolution->LastRow != NULL) - multiSolution->LastRow->Next = row; - multiSolution->LastRow = row; - } - } -} - -static ShortestPathSolutionPtr -add2multiSolution (MultiSolutionPtr multiSolution, RouteNodePtr pfrom, - RouteNodePtr pto) -{ -/* adding a route solution to a multiple destinations request */ - ShortestPathSolutionPtr solution = alloc_solution (); - solution->From = pfrom; - solution->To = pto; - if (multiSolution->First == NULL) - multiSolution->First = solution; - if (multiSolution->Last != NULL) - multiSolution->Last->Next = solution; - multiSolution->Last = solution; - return solution; -} - -static ShortestPathSolutionPtr -add2tspLastSolution (TspTargetsPtr targets, RouteNodePtr from, RouteNodePtr to) -{ -/* adding the last route solution to a TSP request */ - ShortestPathSolutionPtr solution = alloc_solution (); - solution->From = from; - solution->To = to; - targets->LastSolution = solution; - return solution; -} - -static ShortestPathSolutionPtr -add2tspSolution (TspTargetsPtr targets, RouteNodePtr from, RouteNodePtr to) -{ -/* adding a route solution to a TSP request */ - int i; - ShortestPathSolutionPtr solution = alloc_solution (); - solution->From = from; - solution->To = to; - for (i = 0; i < targets->Count; i++) - { - if (*(targets->To + i) == to) - { - *(targets->Solutions + i) = solution; - break; - } - } - return solution; -} - -static RouteNodePtr -check_multiTo (RoutingNodePtr node, RoutingMultiDestPtr multiple) -{ -/* testing destinations */ - int i; - for (i = 0; i < multiple->Items; i++) - { - RouteNodePtr to = *(multiple->To + i); - if (to == NULL) - continue; - if (*(multiple->Found + i) == 'Y') - continue; - if (node->Id == to->InternalIndex) - { - *(multiple->Found + i) = 'Y'; - return to; - } - } - return NULL; -} - -static int -end_multiTo (RoutingMultiDestPtr multiple) -{ -/* testing if there are unresolved destinations */ - int i; - for (i = 0; i < multiple->Items; i++) - { - RouteNodePtr to = *(multiple->To + i); - if (to == NULL) - continue; - if (*(multiple->Found + i) == 'Y') - continue; - return 0; - } - return 1; -} - -static void -dijkstra_multi_shortest_path (sqlite3 * handle, int options, RoutingPtr graph, - RoutingNodesPtr e, MultiSolutionPtr multiSolution) -{ -/* Shortest Path (multiple destinations) - Dijkstra's algorithm */ - int from; - int i; - int k; - ShortestPathSolutionPtr solution; - RouteNodePtr destination; - RoutingNodePtr n; - RoutingNodePtr p_to; - RouteArcPtr p_link; - RoutingHeapPtr heap; -/* setting From */ - from = multiSolution->From->InternalIndex; -/* initializing the heap */ - heap = routing_heap_init (e->DimLink); -/* initializing the graph */ - for (i = 0; i < e->Dim; i++) - { - n = e->Nodes + i; - n->PreviousNode = NULL; - n->Arc = NULL; - n->Inspected = 0; - n->Distance = DBL_MAX; - } -/* queuing the From node into the heap */ - e->Nodes[from].Distance = 0.0; - dijkstra_enqueue (heap, e->Nodes + from); - while (heap->Count > 0) - { - /* Dijsktra loop */ - n = routing_dequeue (heap); - destination = check_multiTo (n, multiSolution->MultiTo); - if (destination != NULL) - { - /* reached one of the multiple destinations */ - RouteArcPtr *result; - int cnt = 0; - int to = destination->InternalIndex; - n = e->Nodes + to; - while (n->PreviousNode != NULL) - { - /* counting how many Arcs are into the Shortest Path solution */ - cnt++; - n = n->PreviousNode; - } - /* allocating the solution */ - result = malloc (sizeof (RouteArcPtr) * cnt); - k = cnt - 1; - n = e->Nodes + to; - while (n->PreviousNode != NULL) - { - /* inserting an Arc into the solution */ - result[k] = n->Arc; - n = n->PreviousNode; - k--; - } - solution = - add2multiSolution (multiSolution, multiSolution->From, - destination); - build_solution (handle, options, graph, solution, result, cnt); - /* testing for end (all destinations already reached) */ - if (end_multiTo (multiSolution->MultiTo)) - break; - } - n->Inspected = 1; - for (i = 0; i < n->DimTo; i++) - { - p_to = *(n->To + i); - p_link = *(n->Link + i); - if (p_to->Inspected == 0) - { - if (p_to->Distance == DBL_MAX) - { - /* queuing a new node into the heap */ - p_to->Distance = n->Distance + p_link->Cost; - p_to->PreviousNode = n; - p_to->Arc = p_link; - dijkstra_enqueue (heap, p_to); - } - else if (p_to->Distance > n->Distance + p_link->Cost) - { - /* updating an already inserted node */ - p_to->Distance = n->Distance + p_link->Cost; - p_to->PreviousNode = n; - p_to->Arc = p_link; - } - } - } - } - routing_heap_free (heap); -} - -static RouteNodePtr -check_targets (RoutingNodePtr node, TspTargetsPtr targets) -{ -/* testing targets */ - int i; - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr to = *(targets->To + i); - if (to == NULL) - continue; - if (*(targets->Found + i) == 'Y') - continue; - if (node->Id == to->InternalIndex) - { - *(targets->Found + i) = 'Y'; - return to; - } - } - return NULL; -} - -static void -update_targets (TspTargetsPtr targets, RouteNodePtr destination, double cost, - int *stop) -{ -/* tupdating targets */ - int i; - *stop = 1; - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr to = *(targets->To + i); - if (to == NULL) - continue; - if (to == destination) - *(targets->Costs + i) = cost; - if (*(targets->Found + i) == 'Y') - continue; - *stop = 0; - } -} - - -static void -dijkstra_targets_solve (RoutingNodesPtr e, TspTargetsPtr targets) -{ -/* Shortest Path (multiple destinations) for TSP GA */ - int from; - int i; - RouteNodePtr destination; - RoutingNodePtr n; - RoutingNodePtr p_to; - RouteArcPtr p_link; - RoutingHeapPtr heap; -/* setting From */ - from = targets->From->InternalIndex; -/* initializing the heap */ - heap = routing_heap_init (e->DimLink); -/* initializing the graph */ - for (i = 0; i < e->Dim; i++) - { - n = e->Nodes + i; - n->PreviousNode = NULL; - n->Arc = NULL; - n->Inspected = 0; - n->Distance = DBL_MAX; - } -/* queuing the From node into the heap */ - e->Nodes[from].Distance = 0.0; - dijkstra_enqueue (heap, e->Nodes + from); - while (heap->Count > 0) - { - /* Dijsktra loop */ - n = routing_dequeue (heap); - destination = check_targets (n, targets); - if (destination != NULL) - { - /* reached one of the targets */ - int stop = 0; - double totalCost = 0.0; - int to = destination->InternalIndex; - n = e->Nodes + to; - while (n->PreviousNode != NULL) - { - /* computing the total Cost */ - totalCost += n->Arc->Cost; - n = n->PreviousNode; - } - /* updating targets */ - update_targets (targets, destination, totalCost, &stop); - if (stop) - break; - } - n->Inspected = 1; - for (i = 0; i < n->DimTo; i++) - { - p_to = *(n->To + i); - p_link = *(n->Link + i); - if (p_to->Inspected == 0) - { - if (p_to->Distance == DBL_MAX) - { - /* queuing a new node into the heap */ - p_to->Distance = n->Distance + p_link->Cost; - p_to->PreviousNode = n; - p_to->Arc = p_link; - dijkstra_enqueue (heap, p_to); - } - else if (p_to->Distance > n->Distance + p_link->Cost) - { - /* updating an already inserted node */ - p_to->Distance = n->Distance + p_link->Cost; - p_to->PreviousNode = n; - p_to->Arc = p_link; - } - } - } - } - routing_heap_free (heap); -} - -static void -destroy_tsp_targets (TspTargetsPtr targets) -{ -/* memory cleanup; destroying a TSP helper struct */ - if (targets == NULL) - return; - if (targets->To != NULL) - free (targets->To); - if (targets->Found != NULL) - free (targets->Found); - if (targets->Costs != NULL) - free (targets->Costs); - if (targets->Solutions != NULL) - { - int i; - for (i = 0; i < targets->Count; i++) - { - ShortestPathSolutionPtr pS = *(targets->Solutions + i); - if (pS != NULL) - delete_solution (pS); - } - free (targets->Solutions); - } - if (targets->LastSolution != NULL) - delete_solution (targets->LastSolution); - free (targets); -} - -static TspTargetsPtr -randomize_targets (sqlite3 * handle, RoutingPtr graph, - MultiSolutionPtr multiSolution) -{ -/* creating and initializing the TSP helper struct */ - char *sql; - char *prev_sql; - int ret; - int i; - int n_rows; - int n_columns; - const char *value = NULL; - char **results; - int from; - TspTargetsPtr targets = malloc (sizeof (TspTargets)); - targets->Mode = multiSolution->Mode; - targets->TotalCost = 0.0; - targets->Count = multiSolution->MultiTo->Items; - targets->To = malloc (sizeof (RouteNodePtr *) * targets->Count); - targets->Found = malloc (sizeof (char) * targets->Count); - targets->Costs = malloc (sizeof (double) * targets->Count); - targets->Solutions = - malloc (sizeof (ShortestPathSolutionPtr) * targets->Count); - targets->LastSolution = NULL; - for (i = 0; i < targets->Count; i++) - { - *(targets->To + i) = NULL; - *(targets->Found + i) = 'N'; - *(targets->Costs + i) = DBL_MAX; - *(targets->Solutions + i) = NULL; - } - - sql = - sqlite3_mprintf ("SELECT %d, Random() AS rnd\n", - multiSolution->From->InternalIndex); - for (i = 0; i < multiSolution->MultiTo->Items; i++) - { - RouteNodePtr p_to = *(multiSolution->MultiTo->To + i); - if (p_to == NULL) - { - sqlite3_free (sql); - goto illegal; - } - prev_sql = sql; - sql = - sqlite3_mprintf ("%sUNION\nSELECT %d, Random() AS rnd\n", - prev_sql, p_to->InternalIndex); - sqlite3_free (prev_sql); - } - prev_sql = sql; - sql = sqlite3_mprintf ("%sORDER BY rnd LIMIT 1", prev_sql); - sqlite3_free (prev_sql); - ret = sqlite3_get_table (handle, sql, &results, &n_rows, &n_columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto illegal; - if (n_rows >= 1) - { - for (i = 1; i <= n_rows; i++) - { - value = results[(i * n_columns) + 0]; - from = atoi (value); - } - } - sqlite3_free_table (results); - - if (from == multiSolution->From->InternalIndex) - { - targets->From = multiSolution->From; - for (i = 0; i < multiSolution->MultiTo->Items; i++) - { - RouteNodePtr p_to = *(multiSolution->MultiTo->To + i); - *(targets->To + i) = p_to; - *(targets->Found + i) = 'N'; - *(targets->Costs + i) = DBL_MAX; - *(targets->Solutions + i) = NULL; - } - } - else - { - int j = 0; - targets->From = graph->Nodes + from; - *(targets->To + j++) = multiSolution->From; - for (i = 0; i < multiSolution->MultiTo->Items; i++) - { - RouteNodePtr p_to = *(multiSolution->MultiTo->To + i); - *(targets->Found + i) = 'N'; - *(targets->Costs + i) = DBL_MAX; - *(targets->Solutions + i) = NULL; - if (p_to == targets->From) - continue; - *(targets->To + j++) = p_to; - } - } - return targets; - - illegal: - for (i = 0; i < targets->Count; i++) - { - *(targets->To + i) = NULL; - *(targets->Found + i) = 'N'; - *(targets->Costs + i) = DBL_MAX; - *(targets->Solutions + i) = NULL; - } - for (i = 0; i < multiSolution->MultiTo->Items; i++) - { - RouteNodePtr p_to = *(multiSolution->MultiTo->To + i); - if (p_to == NULL) - continue; - *(targets->To + i) = p_to; - } - return targets; -} - -static RouteNodePtr -check_TspTo (RoutingNodePtr node, TspTargetsPtr targets) -{ -/* testing TSP destinations */ - int i; - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr to = *(targets->To + i); - if (to == NULL) - continue; - if (*(targets->Found + i) == 'Y') - continue; - if (node->Id == to->InternalIndex) - { - *(targets->Found + i) = 'Y'; - return to; - } - } - return NULL; -} - -static RouteNodePtr -check_TspFinal (RoutingNodePtr node, TspTargetsPtr targets) -{ -/* testing TSP final destination (= FROM) */ - RouteNodePtr from = targets->From; - if (node->Id == from->InternalIndex) - return from; - return NULL; -} - -static int -end_TspTo (TspTargetsPtr targets) -{ -/* testing if there are unresolved TSP targets */ - int i; - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr to = *(targets->To + i); - if (to == NULL) - continue; - if (*(targets->Found + i) == 'Y') - continue; - return 0; - } - return 1; -} - -static void -dijkstra_tsp_nn (sqlite3 * handle, int options, RoutingPtr graph, - RoutingNodesPtr e, TspTargetsPtr targets) -{ -/* TSP NN - Dijkstra's algorithm */ - int from; - int i; - int k; - int last_route = 0; - ShortestPathSolutionPtr solution; - RouteNodePtr origin; - RouteNodePtr destination; - RoutingNodePtr n; - RoutingNodePtr p_to; - RouteArcPtr p_link; - RoutingHeapPtr heap; - -/* setting From */ - from = targets->From->InternalIndex; - origin = targets->From; -/* initializing the heap */ - heap = routing_heap_init (e->DimLink); -/* initializing the graph */ - for (i = 0; i < e->Dim; i++) - { - n = e->Nodes + i; - n->PreviousNode = NULL; - n->Arc = NULL; - n->Inspected = 0; - n->Distance = DBL_MAX; - } -/* queuing the From node into the heap */ - e->Nodes[from].Distance = 0.0; - dijkstra_enqueue (heap, e->Nodes + from); - while (heap->Count > 0) - { - /* Dijsktra loop */ - n = routing_dequeue (heap); - if (last_route) - destination = check_TspFinal (n, targets); - else - destination = check_TspTo (n, targets); - if (destination != NULL) - { - /* reached one of the target destinations */ - RouteArcPtr *result; - int cnt = 0; - int to = destination->InternalIndex; - n = e->Nodes + to; - while (n->PreviousNode != NULL) - { - /* counting how many Arcs are into the Shortest Path solution */ - cnt++; - n = n->PreviousNode; - } - /* allocating the solution */ - result = malloc (sizeof (RouteArcPtr) * cnt); - k = cnt - 1; - n = e->Nodes + to; - while (n->PreviousNode != NULL) - { - /* inserting an Arc into the solution */ - result[k] = n->Arc; - n = n->PreviousNode; - k--; - } - if (last_route) - solution = - add2tspLastSolution (targets, origin, destination); - else - solution = add2tspSolution (targets, origin, destination); - build_solution (handle, options, graph, solution, result, cnt); - targets->TotalCost += solution->TotalCost; - - /* testing for end (all destinations already reached) */ - if (last_route) - break; - if (end_TspTo (targets)) - { - /* determining the final route so to close the circular path */ - last_route = 1; - } - - /* restarting from the current target */ - from = to; - for (i = 0; i < e->Dim; i++) - { - n = e->Nodes + i; - n->PreviousNode = NULL; - n->Arc = NULL; - n->Inspected = 0; - n->Distance = DBL_MAX; - } - e->Nodes[from].Distance = 0.0; - routing_heap_reset (heap); - dijkstra_enqueue (heap, e->Nodes + from); - origin = destination; - continue; - } - n->Inspected = 1; - for (i = 0; i < n->DimTo; i++) - { - p_to = *(n->To + i); - p_link = *(n->Link + i); - if (p_to->Inspected == 0) - { - if (p_to->Distance == DBL_MAX) - { - /* queuing a new node into the heap */ - p_to->Distance = n->Distance + p_link->Cost; - p_to->PreviousNode = n; - p_to->Arc = p_link; - dijkstra_enqueue (heap, p_to); - } - else if (p_to->Distance > n->Distance + p_link->Cost) - { - /* updating an already inserted node */ - p_to->Distance = n->Distance + p_link->Cost; - p_to->PreviousNode = n; - p_to->Arc = p_link; - } - } - } - } - routing_heap_free (heap); -} - -static RoutingNodePtr * -dijkstra_range_analysis (RoutingNodesPtr e, RouteNodePtr pfrom, - double max_cost, int *ll) -{ -/* identifying all Nodes within a given Cost range - Dijkstra's algorithm */ - int from; - int i; - RoutingNodePtr p_to; - RoutingNodePtr n; - RouteArcPtr p_link; - int cnt; - RoutingNodePtr *result; - RoutingHeapPtr heap; -/* setting From */ - from = pfrom->InternalIndex; -/* initializing the heap */ - heap = routing_heap_init (e->DimLink); -/* initializing the graph */ - for (i = 0; i < e->Dim; i++) - { - n = e->Nodes + i; - n->PreviousNode = NULL; - n->Arc = NULL; - n->Inspected = 0; - n->Distance = DBL_MAX; - } -/* queuing the From node into the heap */ - e->Nodes[from].Distance = 0.0; - dijkstra_enqueue (heap, e->Nodes + from); - while (heap->Count > 0) - { - /* Dijsktra loop */ - n = routing_dequeue (heap); - n->Inspected = 1; - for (i = 0; i < n->DimTo; i++) - { - p_to = *(n->To + i); - p_link = *(n->Link + i); - if (p_to->Inspected == 0) - { - if (p_to->Distance == DBL_MAX) - { - /* queuing a new node into the heap */ - if (n->Distance + p_link->Cost <= max_cost) - { - p_to->Distance = n->Distance + p_link->Cost; - p_to->PreviousNode = n; - p_to->Arc = p_link; - dijkstra_enqueue (heap, p_to); - } - } - else if (p_to->Distance > n->Distance + p_link->Cost) - { - /* updating an already inserted node */ - p_to->Distance = n->Distance + p_link->Cost; - p_to->PreviousNode = n; - p_to->Arc = p_link; - } - } - } - } - routing_heap_free (heap); - cnt = 0; - for (i = 0; i < e->Dim; i++) - { - /* counting how many traversed Nodes */ - n = e->Nodes + i; - if (n->Inspected) - cnt++; - } -/* allocating the solution */ - result = malloc (sizeof (RouteNodePtr) * cnt); - cnt = 0; - for (i = 0; i < e->Dim; i++) - { - /* populating the resultset */ - n = e->Nodes + i; - if (n->Inspected) - result[cnt++] = n; - } - *ll = cnt; - return (result); -} - -/* -/ -/ implementation of the A* Shortest Path algorithm -/ -*/ - -static void -astar_insert (RoutingNodePtr node, HeapNodePtr heap, int size) -{ -/* inserting a new Node and rearranging the heap */ - int i; - HeapNode tmp; - i = size + 1; - heap[i].Node = node; - heap[i].Distance = node->HeuristicDistance; - if (i / 2 < 1) - return; - while (heap[i].Distance < heap[i / 2].Distance) - { - tmp = heap[i]; - heap[i] = heap[i / 2]; - heap[i / 2] = tmp; - i /= 2; - if (i / 2 < 1) - break; - } -} - -static void -astar_enqueue (RoutingHeapPtr heap, RoutingNodePtr node) -{ -/* enqueuing a Node into the heap */ - astar_insert (node, heap->Nodes, heap->Count); - heap->Count += 1; -} - -static double -astar_heuristic_distance (RouteNodePtr n1, RouteNodePtr n2, double coeff) -{ -/* computing the euclidean distance intercurring between two nodes */ - double dx = n1->CoordX - n2->CoordX; - double dy = n1->CoordY - n2->CoordY; - double dist = sqrt ((dx * dx) + (dy * dy)) * coeff; - return dist; -} - -static RouteArcPtr * -astar_shortest_path (RoutingNodesPtr e, RouteNodePtr nodes, - RouteNodePtr pfrom, RouteNodePtr pto, - double heuristic_coeff, int *ll) -{ -/* identifying the Shortest Path - A* algorithm */ - int from; - int to; - int i; - int k; - RoutingNodePtr pAux; - RoutingNodePtr n; - RoutingNodePtr p_to; - RouteNodePtr pOrg; - RouteNodePtr pDest; - RouteArcPtr p_link; - int cnt; - RouteArcPtr *result; - RoutingHeapPtr heap; -/* setting From/To */ - from = pfrom->InternalIndex; - to = pto->InternalIndex; - pAux = e->Nodes + from; - pOrg = nodes + pAux->Id; - pAux = e->Nodes + to; - pDest = nodes + pAux->Id; -/* initializing the heap */ - heap = routing_heap_init (e->DimLink); -/* initializing the graph */ - for (i = 0; i < e->Dim; i++) - { - n = e->Nodes + i; - n->PreviousNode = NULL; - n->Arc = NULL; - n->Inspected = 0; - n->Distance = DBL_MAX; - n->HeuristicDistance = DBL_MAX; - } -/* queuing the From node into the heap */ - e->Nodes[from].Distance = 0.0; - e->Nodes[from].HeuristicDistance = - astar_heuristic_distance (pOrg, pDest, heuristic_coeff); - astar_enqueue (heap, e->Nodes + from); - while (heap->Count > 0) - { - /* A* loop */ - n = routing_dequeue (heap); - if (n->Id == to) - { - /* destination reached */ - break; - } - n->Inspected = 1; - for (i = 0; i < n->DimTo; i++) - { - p_to = *(n->To + i); - p_link = *(n->Link + i); - if (p_to->Inspected == 0) - { - if (p_to->Distance == DBL_MAX) - { - /* queuing a new node into the heap */ - p_to->Distance = n->Distance + p_link->Cost; - pOrg = nodes + p_to->Id; - p_to->HeuristicDistance = - p_to->Distance + - astar_heuristic_distance (pOrg, pDest, - heuristic_coeff); - p_to->PreviousNode = n; - p_to->Arc = p_link; - astar_enqueue (heap, p_to); - } - else if (p_to->Distance > n->Distance + p_link->Cost) - { - /* updating an already inserted node */ - p_to->Distance = n->Distance + p_link->Cost; - pOrg = nodes + p_to->Id; - p_to->HeuristicDistance = - p_to->Distance + - astar_heuristic_distance (pOrg, pDest, - heuristic_coeff); - p_to->PreviousNode = n; - p_to->Arc = p_link; - } - } - } - } - routing_heap_free (heap); - cnt = 0; - n = e->Nodes + to; - while (n->PreviousNode != NULL) - { - /* counting how many Arcs are into the Shortest Path solution */ - cnt++; - n = n->PreviousNode; - } -/* allocating the solution */ - result = malloc (sizeof (RouteArcPtr) * cnt); - k = cnt - 1; - n = e->Nodes + to; - while (n->PreviousNode != NULL) - { - /* inserting an Arc into the solution */ - result[k] = n->Arc; - n = n->PreviousNode; - k--; - } - *ll = cnt; - return (result); -} - -/* END of A* Shortest Path implementation */ - -static int -cmp_nodes_code (const void *p1, const void *p2) -{ -/* compares two nodes by CODE [for BSEARCH] */ - RouteNodePtr pN1 = (RouteNodePtr) p1; - RouteNodePtr pN2 = (RouteNodePtr) p2; - return strcmp (pN1->Code, pN2->Code); -} - -static int -cmp_nodes_id (const void *p1, const void *p2) -{ -/* compares two nodes by ID [for BSEARCH] */ - RouteNodePtr pN1 = (RouteNodePtr) p1; - RouteNodePtr pN2 = (RouteNodePtr) p2; - if (pN1->Id == pN2->Id) - return 0; - if (pN1->Id > pN2->Id) - return 1; - return -1; -} - -static RouteNodePtr -find_node_by_code (RoutingPtr graph, const char *code) -{ -/* searching a Node (by Code) into the sorted list */ - RouteNodePtr ret; - RouteNode pN; - pN.Code = (char *) code; - ret = - bsearch (&pN, graph->Nodes, graph->NumNodes, sizeof (RouteNode), - cmp_nodes_code); - return ret; -} - -static RouteNodePtr -find_node_by_id (RoutingPtr graph, const sqlite3_int64 id) -{ -/* searching a Node (by Id) into the sorted list */ - RouteNodePtr ret; - RouteNode pN; - pN.Id = id; - ret = - bsearch (&pN, graph->Nodes, graph->NumNodes, sizeof (RouteNode), - cmp_nodes_id); - return ret; -} - -static void -vroute_delete_multiple_destinations (RoutingMultiDestPtr multiple) -{ -/* deleting a multiple destinations request */ - if (multiple == NULL) - return; - if (multiple->Found != NULL) - free (multiple->Found); - if (multiple->To != NULL) - free (multiple->To); - if (multiple->Ids != NULL) - free (multiple->Ids); - if (multiple->Codes != NULL) - { - int i; - for (i = 0; i < multiple->Items; i++) - { - char *p = *(multiple->Codes + i); - if (p != NULL) - free (p); - } - free (multiple->Codes); - } - free (multiple); -} - -static void -vroute_add_multiple_code (RoutingMultiDestPtr multiple, char *code) -{ -/* adding an item to an helper struct for Multiple Destinations (by Code) */ - *(multiple->Codes + multiple->Next) = code; - multiple->Next += 1; -} - -static void -vroute_add_multiple_id (RoutingMultiDestPtr multiple, int id) -{ -/* adding an item to an helper struct for Multiple Destinations (by Code) */ - *(multiple->Ids + multiple->Next) = id; - multiple->Next += 1; -} - -static char * -vroute_parse_multiple_item (const char *start, const char *last) -{ -/* attempting to parse an item form the multiple destinations list */ - char *item; - const char *p_in = start; - char *p_out; - int len = last - start; - if (len <= 0) - return NULL; - - item = malloc (len + 1); - p_in = start; - p_out = item; - while (p_in < last) - *p_out++ = *p_in++; - *p_out = '\0'; - return item; -} - -static RoutingMultiDestPtr -vroute_as_multiple_destinations (sqlite3_int64 value) -{ -/* allocatint a multiple destinations containign a single target */ - RoutingMultiDestPtr multiple = NULL; - -/* allocating the helper struct */ - multiple = malloc (sizeof (RoutingMultiDest)); - multiple->CodeNode = 0; - multiple->Found = malloc (sizeof (char)); - multiple->To = malloc (sizeof (RouteNodePtr)); - *(multiple->Found + 0) = 'N'; - *(multiple->To + 0) = NULL; - multiple->Items = 1; - multiple->Next = 0; - multiple->Ids = malloc (sizeof (sqlite3_int64)); - multiple->Codes = NULL; - *(multiple->Ids + 0) = value; - return multiple; -} - -static DestinationCandidatesListPtr -alloc_candidates (int code_node) -{ -/* allocating a list of multiple destination candidates */ - DestinationCandidatesListPtr list = - malloc (sizeof (DestinationCandidatesList)); - list->NodeCode = code_node; - list->First = NULL; - list->Last = NULL; - list->ValidItems = 0; - return list; -} - -static void -delete_candidates (DestinationCandidatesListPtr list) -{ -/* memory clean-up: destroying a list of multiple destination candidates */ - DestinationCandidatePtr pC; - DestinationCandidatePtr pCn; - if (list == NULL) - return; - - pC = list->First; - while (pC != NULL) - { - pCn = pC->Next; - free (pC); - pC = pCn; - } - free (list); -} - -static int -checkNumber (const char *str) -{ -/* testing for an unsignd integer */ - int len; - int i; - len = strlen (str); - for (i = 0; i < len; i++) - { - if (*(str + i) < '0' || *(str + i) > '9') - return 0; - } - return 1; -} - -static void -addMultiCandidate (DestinationCandidatesListPtr list, char *item) -{ -/* adding a candidate to the list */ - DestinationCandidatePtr pC; - if (list == NULL) - return; - if (item == NULL) - return; - if (list->NodeCode == 0) - { - if (!checkNumber (item)) - { - /* invalid: not a number */ - free (item); - return; - } - } - - pC = malloc (sizeof (DestinationCandidate)); - if (list->NodeCode) - { - pC->Code = item; - pC->Id = -1; - } - else - { - pC->Code = NULL; - pC->Id = atoll (item); - free (item); - } - pC->Valid = 'Y'; - pC->Next = NULL; - if (list->First == NULL) - list->First = pC; - if (list->Last != NULL) - list->Last->Next = pC; - list->Last = pC; -} - -static void -validateMultiCandidates (DestinationCandidatesListPtr list) -{ -/* validating candidates */ - DestinationCandidatePtr pC = list->First; - while (pC != NULL) - { - DestinationCandidatePtr pC2; - if (pC->Valid == 'N') - { - pC = pC->Next; - continue; - } - pC2 = pC->Next; - while (pC2 != NULL) - { - /* testing for duplicates */ - if (pC2->Valid == 'N') - { - pC2 = pC2->Next; - continue; - } - if (list->NodeCode) - { - if (strcmp (pC->Code, pC2->Code) == 0) - { - free (pC2->Code); - pC2->Code = NULL; - pC2->Valid = 'N'; - } - } - else - { - if (pC->Id == pC2->Id) - pC2->Valid = 'N'; - } - pC2 = pC2->Next; - } - pC = pC->Next; - } - - list->ValidItems = 0; - pC = list->First; - while (pC != NULL) - { - if (pC->Valid == 'Y') - list->ValidItems += 1; - pC = pC->Next; - } -} - -static RoutingMultiDestPtr -vroute_get_multiple_destinations (int code_node, char delimiter, - const char *str) -{ -/* parsing a multiple destinations request string */ - RoutingMultiDestPtr multiple = NULL; - DestinationCandidatesListPtr list = alloc_candidates (code_node); - DestinationCandidatePtr pC; - char *item; - int i; - const char *prev = str; - const char *ptr = str; - -/* populating a linked list */ - while (1) - { - int whitespace = 0; - if (*ptr == '\0') - { - item = vroute_parse_multiple_item (prev, ptr); - addMultiCandidate (list, item); - break; - } - if (*ptr == ' ' || *ptr == '\t' || *ptr == '\n' || *ptr == '\r') - whitespace = 1; - if (*ptr == delimiter || whitespace) - { - item = vroute_parse_multiple_item (prev, ptr); - addMultiCandidate (list, item); - ptr++; - prev = ptr; - continue; - } - ptr++; - } - validateMultiCandidates (list); - if (list->ValidItems <= 0) - { - delete_candidates (list); - return NULL; - } - -/* allocating the helper struct */ - multiple = malloc (sizeof (RoutingMultiDest)); - multiple->CodeNode = code_node; - multiple->Found = malloc (sizeof (char) * list->ValidItems); - multiple->To = malloc (sizeof (RouteNodePtr) * list->ValidItems); - for (i = 0; i < list->ValidItems; i++) - { - *(multiple->Found + i) = 'N'; - *(multiple->To + i) = NULL; - } - multiple->Items = list->ValidItems; - multiple->Next = 0; - if (code_node) - { - multiple->Ids = NULL; - multiple->Codes = malloc (sizeof (char *) * list->ValidItems); - } - else - { - multiple->Ids = malloc (sizeof (sqlite3_int64) * list->ValidItems); - multiple->Codes = NULL; - } - -/* populating the array */ - pC = list->First; - while (pC != NULL) - { - if (pC->Valid == 'Y') - { - if (code_node) - vroute_add_multiple_code (multiple, pC->Code); - else - vroute_add_multiple_id (multiple, pC->Id); - } - pC = pC->Next; - } - delete_candidates (list); - return multiple; -} - -static void -delete_multiSolution (MultiSolutionPtr multiSolution) -{ -/* deleting the current solution */ - ResultsetRowPtr pR; - ResultsetRowPtr pRn; - ShortestPathSolutionPtr pS; - ShortestPathSolutionPtr pSn; - RowNodeSolutionPtr pN; - RowNodeSolutionPtr pNn; - RowSolutionPtr pA; - RowSolutionPtr pAn; - gaiaGeomCollPtr pG; - gaiaGeomCollPtr pGn; - if (!multiSolution) - return; - if (multiSolution->MultiTo != NULL) - vroute_delete_multiple_destinations (multiSolution->MultiTo); - pS = multiSolution->First; - while (pS != NULL) - { - pSn = pS->Next; - delete_solution (pS); - pS = pSn; - } - pN = multiSolution->FirstNode; - while (pN != NULL) - { - pNn = pN->Next; - free (pN); - pN = pNn; - } - pR = multiSolution->FirstRow; - while (pR != NULL) - { - pRn = pR->Next; - if (pR->Undefined != NULL) - free (pR->Undefined); - free (pR); - pR = pRn; - } - pA = multiSolution->FirstArc; - while (pA != NULL) - { - pAn = pA->Next; - if (pA->Name) - free (pA->Name); - free (pA); - pA = pAn; - } - pG = multiSolution->FirstGeom; - while (pG != NULL) - { - pGn = pG->Next; - gaiaFreeGeomColl (pG); - pG = pGn; - } - free (multiSolution); -} - -static void -reset_multiSolution (MultiSolutionPtr multiSolution) -{ -/* resetting the current solution */ - ResultsetRowPtr pR; - ResultsetRowPtr pRn; - ShortestPathSolutionPtr pS; - ShortestPathSolutionPtr pSn; - RowNodeSolutionPtr pN; - RowNodeSolutionPtr pNn; - RowSolutionPtr pA; - RowSolutionPtr pAn; - gaiaGeomCollPtr pG; - gaiaGeomCollPtr pGn; - if (!multiSolution) - return; - if (multiSolution->MultiTo != NULL) - vroute_delete_multiple_destinations (multiSolution->MultiTo); - pS = multiSolution->First; - while (pS != NULL) - { - pSn = pS->Next; - delete_solution (pS); - pS = pSn; - } - pN = multiSolution->FirstNode; - while (pN != NULL) - { - pNn = pN->Next; - free (pN); - pN = pNn; - } - pR = multiSolution->FirstRow; - while (pR != NULL) - { - pRn = pR->Next; - free (pR); - pR = pRn; - } - pA = multiSolution->FirstArc; - while (pA != NULL) - { - pAn = pA->Next; - if (pA->Name) - free (pA->Name); - free (pA); - pA = pAn; - } - pG = multiSolution->FirstGeom; - while (pG != NULL) - { - pGn = pG->Next; - gaiaFreeGeomColl (pG); - pG = pGn; - } - multiSolution->From = NULL; - multiSolution->MultiTo = NULL; - multiSolution->First = NULL; - multiSolution->Last = NULL; - multiSolution->FirstRow = NULL; - multiSolution->LastRow = NULL; - multiSolution->FirstNode = NULL; - multiSolution->LastNode = NULL; - multiSolution->CurrentRow = NULL; - multiSolution->CurrentNodeRow = NULL; - multiSolution->CurrentRowId = 0; - multiSolution->FirstArc = NULL; - multiSolution->LastArc = NULL; - multiSolution->FirstGeom = NULL; - multiSolution->LastGeom = NULL; -} - -static MultiSolutionPtr -alloc_multiSolution (void) -{ -/* allocates and initializes the current multiple-destinations solution */ - MultiSolutionPtr p = malloc (sizeof (MultiSolution)); - p->From = NULL; - p->MultiTo = NULL; - p->First = NULL; - p->Last = NULL; - p->FirstRow = NULL; - p->LastRow = NULL; - p->CurrentRow = NULL; - p->FirstNode = NULL; - p->LastNode = NULL; - p->CurrentNodeRow = NULL; - p->CurrentRowId = 0; - p->FirstArc = NULL; - p->LastArc = NULL; - p->FirstGeom = NULL; - p->LastGeom = NULL; - return p; -} - -static int -find_srid (sqlite3 * handle, RoutingPtr graph) -{ -/* attempting to retrieve the appropriate Srid */ - sqlite3_stmt *stmt; - int ret; - int srid = VROUTE_INVALID_SRID; - char *sql; - - if (graph->GeometryColumn == NULL) - return srid; - - sql = sqlite3_mprintf ("SELECT srid FROM geometry_columns WHERE " - "Lower(f_table_name) = Lower(%Q) AND Lower(f_geometry_column) = Lower(%Q)", - graph->TableName, graph->GeometryColumn); - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return srid; - while (1) - { - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; - if (ret == SQLITE_ROW) - srid = sqlite3_column_int (stmt, 0); - } - sqlite3_finalize (stmt); - return srid; -} - -static void -build_range_solution (MultiSolutionPtr multiSolution, - RoutingNodePtr * range_nodes, int cnt, int srid) -{ -/* formatting the "within Cost range" solution */ - int i; - if (cnt > 0) - { - /* building the solution */ - for (i = 0; i < cnt; i++) - { - add_node_to_solution (multiSolution, range_nodes[i], srid, i); - } - } - if (range_nodes) - free (range_nodes); -} - -static RouteNodePtr -findSingleTo (RoutingMultiDestPtr multiple) -{ -/* testing for a single destination */ - int i; - RouteNodePtr to = NULL; - int count = 0; - for (i = 0; i < multiple->Items; i++) - { - RouteNodePtr p_to = *(multiple->To + i); - if (p_to == NULL) - continue; - to = p_to; - count++; - } - if (count == 1) - return to; - return NULL; -} - -static void -astar_solve (sqlite3 * handle, int options, RoutingPtr graph, - RoutingNodesPtr routing, MultiSolutionPtr multiSolution) -{ -/* computing an A* Shortest Path solution */ - int cnt; - RouteArcPtr *shortest_path; - ShortestPathSolutionPtr solution; - RouteNodePtr to = findSingleTo (multiSolution->MultiTo); - if (to == NULL) - return; - shortest_path = - astar_shortest_path (routing, graph->Nodes, multiSolution->From, - to, graph->AStarHeuristicCoeff, &cnt); - solution = add2multiSolution (multiSolution, multiSolution->From, to); - build_solution (handle, options, graph, solution, shortest_path, cnt); - build_multi_solution (multiSolution); -} - -static void -dijkstra_multi_solve (sqlite3 * handle, int options, RoutingPtr graph, - RoutingNodesPtr routing, MultiSolutionPtr multiSolution) -{ -/* computing a Dijkstra Shortest Path multiSolution */ - int i; - RoutingMultiDestPtr multiple = multiSolution->MultiTo; - - dijkstra_multi_shortest_path (handle, options, graph, routing, - multiSolution); -/* testing if there are undefined or unresolved destinations */ - for (i = 0; i < multiple->Items; i++) - { - int len; - ShortestPathSolutionPtr row; - RouteNodePtr to = *(multiple->To + i); - const char *code = *(multiple->Codes + i); - if (to == NULL) - { - row = - add2multiSolution (multiSolution, multiSolution->From, - NULL); - len = strlen (code); - row->Undefined = malloc (len + 1); - strcpy (row->Undefined, code); - continue; - } - if (*(multiple->Found + i) != 'Y') - { - row = - add2multiSolution (multiSolution, multiSolution->From, to); - len = strlen (code); - row->Undefined = malloc (len + 1); - strcpy (row->Undefined, code); - } - } - build_multi_solution (multiSolution); -} - -static void -dijkstra_within_cost_range (RoutingNodesPtr routing, - MultiSolutionPtr multiSolution, int srid) -{ -/* computing a Dijkstra "within cost range" solution */ - int cnt; - RoutingNodePtr *range_nodes = - dijkstra_range_analysis (routing, multiSolution->From, - multiSolution->MaxCost, - &cnt); - build_range_solution (multiSolution, range_nodes, cnt, srid); -} - -static void -tsp_nn_solve (sqlite3 * handle, int options, RoutingPtr graph, - RoutingNodesPtr routing, MultiSolutionPtr multiSolution) -{ -/* computing a Dijkstra TSP NN Solution */ - int i; - TspTargetsPtr targets = randomize_targets (handle, graph, multiSolution); - for (i = 0; i < targets->Count; i++) - { - /* checking for undefined targets */ - if (*(targets->To + i) == NULL) - goto illegal; - } - dijkstra_tsp_nn (handle, options, graph, routing, targets); - build_tsp_solution (multiSolution, targets); - destroy_tsp_targets (targets); - return; - - illegal: - build_tsp_illegal_solution (multiSolution, targets); - destroy_tsp_targets (targets); -} - -static void -tsp_ga_random_solutions_sql (TspGaPopulationPtr ga) -{ -/* building the Solutions randomizing SQL query */ - int i; - char *sql; - char *prev_sql; - - for (i = 0; i < ga->Count; i++) - { - if (i == 0) - sql = sqlite3_mprintf ("SELECT %d, Random() AS rnd\n", i); - else - { - prev_sql = sql; - sql = - sqlite3_mprintf ("%sUNION\nSELECT %d, Random() AS rnd\n", - prev_sql, i); - sqlite3_free (prev_sql); - } - } - prev_sql = sql; - sql = sqlite3_mprintf ("%sORDER BY rnd LIMIT 2", prev_sql); - sqlite3_free (prev_sql); - ga->RandomSolutionsSql = sql; -} - -static void -tsp_ga_random_interval_sql (TspGaPopulationPtr ga) -{ -/* building the Interval randomizing SQL query */ - int i; - char *sql; - char *prev_sql; - - for (i = 0; i < ga->Cities; i++) - { - if (i == 0) - sql = sqlite3_mprintf ("SELECT %d, Random() AS rnd\n", i); - else - { - prev_sql = sql; - sql = - sqlite3_mprintf ("%sUNION\nSELECT %d, Random() AS rnd\n", - prev_sql, i); - sqlite3_free (prev_sql); - } - } - prev_sql = sql; - sql = sqlite3_mprintf ("%sORDER BY rnd LIMIT 2", prev_sql); - sqlite3_free (prev_sql); - ga->RandomIntervalSql = sql; -} - -static TspGaDistancePtr -alloc_tsp_ga_distances (TspTargetsPtr targets) -{ -/* allocating a TSP GA distances struct */ - int i; - TspGaDistancePtr dist = malloc (sizeof (TspGaDistance)); - dist->Cities = targets->Count; - dist->CityFrom = targets->From; - dist->Distances = malloc (sizeof (TspGaSubDistancePtr) * dist->Cities); - for (i = 0; i < dist->Cities; i++) - { - TspGaSubDistancePtr sub = malloc (sizeof (TspGaSubDistance)); - double cost = *(targets->Costs + i); - sub->CityTo = *(targets->To + i); - sub->Cost = cost; - *(dist->Distances + i) = sub; - } - dist->NearestIndex = -1; - return dist; -} - -static void -destroy_tsp_ga_distances (TspGaDistancePtr dist) -{ -/* freeing a TSP GA distance struct */ - if (dist == NULL) - return; - if (dist->Distances != NULL) - { - int i; - for (i = 0; i < dist->Cities; i++) - { - TspGaSubDistancePtr sub = *(dist->Distances + i); - if (sub != NULL) - free (sub); - } - free (dist->Distances); - } - free (dist); -} - -static TspGaPopulationPtr -build_tsp_ga_population (int count) -{ -/* creating a TSP GA Population */ - int i; - TspGaPopulationPtr ga = malloc (sizeof (TspGaPopulation)); - ga->Count = count; - ga->Cities = count; - ga->Solutions = malloc (sizeof (TspGaSolutionPtr) * count); - ga->Offsprings = malloc (sizeof (TspGaSolutionPtr) * count); - for (i = 0; i < count; i++) - { - *(ga->Offsprings + i) = NULL; - *(ga->Solutions + i) = NULL; - } - ga->Distances = malloc (sizeof (TspGaDistancePtr) * count); - for (i = 0; i < count; i++) - *(ga->Distances + i) = NULL; - ga->RandomSolutionsSql = NULL; - tsp_ga_random_solutions_sql (ga); - ga->RandomIntervalSql = NULL; - tsp_ga_random_interval_sql (ga); - return ga; -} - -static void -destroy_tsp_ga_solution (TspGaSolutionPtr solution) -{ -/* memory cleanup: destroyng a GA Solution */ - if (solution == NULL) - return; - if (solution->CitiesFrom != NULL) - free (solution->CitiesFrom); - if (solution->CitiesTo != NULL) - free (solution->CitiesTo); - if (solution->Costs != NULL) - free (solution->Costs); - free (solution); -} - -static void -free_tsp_ga_offsprings (TspGaPopulationPtr ga) -{ -/* memory cleanup; freeing GA Offsprings */ - int i; - if (ga == NULL) - return; - - for (i = 0; i < ga->Count; i++) - { - if (*(ga->Offsprings + i) != NULL) - destroy_tsp_ga_solution (*(ga->Offsprings + i)); - *(ga->Offsprings + i) = NULL; - } -} - -static void -destroy_tsp_ga_population (TspGaPopulationPtr ga) -{ -/* memory cleanup; destroyng a GA Population */ - int i; - if (ga == NULL) - return; - - for (i = 0; i < ga->Count; i++) - destroy_tsp_ga_solution (*(ga->Solutions + i)); - free (ga->Solutions); - free_tsp_ga_offsprings (ga); - free (ga->Offsprings); - if (ga->Distances != NULL) - { - for (i = 0; i < ga->Cities; i++) - { - TspGaDistancePtr dist = *(ga->Distances + i); - if (dist != NULL) - destroy_tsp_ga_distances (dist); - } - } - free (ga->Distances); - if (ga->RandomSolutionsSql != NULL) - sqlite3_free (ga->RandomSolutionsSql); - if (ga->RandomIntervalSql != NULL) - sqlite3_free (ga->RandomIntervalSql); - free (ga); -} - -static int -cmp_dist_from (const void *p1, const void *p2) -{ -/* compares FROM distances [for BSEARCH] */ - TspGaDistancePtr pD1 = (TspGaDistancePtr) p1; - TspGaDistancePtr pD2 = *((TspGaDistancePtr *) p2); - RouteNodePtr pN1 = pD1->CityFrom; - RouteNodePtr pN2 = pD2->CityFrom; - if (pN1 == pN2) - return 0; - if (pN1 > pN2) - return 1; - return -1; -} - -static TspGaDistancePtr -tsp_ga_find_from_distance (TspGaPopulationPtr ga, RouteNodePtr from) -{ -/* searching the main FROM distance */ - TspGaDistancePtr *ret; - TspGaDistance dist; - dist.CityFrom = from; - ret = - bsearch (&dist, ga->Distances, ga->Cities, sizeof (TspGaDistancePtr), - cmp_dist_from); - if (ret == NULL) - return NULL; - return *ret; -} - -static int -cmp_dist_to (const void *p1, const void *p2) -{ -/* compares TO distances [for BSEARCH] */ - TspGaSubDistancePtr pD1 = (TspGaSubDistancePtr) p1; - TspGaSubDistancePtr pD2 = *((TspGaSubDistancePtr *) p2); - RouteNodePtr pN1 = pD1->CityTo; - RouteNodePtr pN2 = pD2->CityTo; - if (pN1 == pN2) - return 0; - if (pN1 > pN2) - return 1; - return -1; -} - -static TspGaSubDistancePtr -tsp_ga_find_to_distance (TspGaDistancePtr dist, RouteNodePtr to) -{ -/* searching the main FROM distance */ - TspGaSubDistancePtr *ret; - TspGaSubDistance sub; - sub.CityTo = to; - ret = - bsearch (&sub, dist->Distances, dist->Cities, - sizeof (TspGaSubDistancePtr), cmp_dist_to); - if (ret == NULL) - return NULL; - return *ret; -} - -static double -tsp_ga_find_distance (TspGaPopulationPtr ga, RouteNodePtr from, RouteNodePtr to) -{ -/* searching a cached distance */ - TspGaSubDistancePtr sub; - TspGaDistancePtr dist = tsp_ga_find_from_distance (ga, from); - if (dist == NULL) - return DBL_MAX; - - sub = tsp_ga_find_to_distance (dist, to); - if (sub != NULL) - return sub->Cost; - return DBL_MAX; -} - -static void -tsp_ga_random_solutions (sqlite3 * handle, TspGaPopulationPtr ga, int *index1, - int *index2) -{ -/* fetching two random TSP GA solutions */ - int i; - int ret; - int n_rows; - int n_columns; - const char *value = NULL; - char **results; - - *index1 = -1; - *index2 = -1; - - ret = - sqlite3_get_table (handle, ga->RandomSolutionsSql, &results, &n_rows, - &n_columns, NULL); - if (ret != SQLITE_OK) - return; - if (n_rows >= 1) - { - for (i = 1; i <= n_rows; i++) - { - value = results[(i * n_columns) + 0]; - if (i == 1) - *index1 = atoi (value); - else - *index2 = atoi (value); - } - } - sqlite3_free_table (results); -} - -static void -tsp_ga_random_interval (sqlite3 * handle, TspGaPopulationPtr ga, int *index1, - int *index2) -{ -/* fetching a random TSP GA interval */ - int i; - int ret; - int n_rows; - int n_columns; - const char *value = NULL; - char **results; - - *index1 = -1; - *index2 = -1; - - ret = - sqlite3_get_table (handle, ga->RandomIntervalSql, &results, &n_rows, - &n_columns, NULL); - if (ret != SQLITE_OK) - return; - if (n_rows >= 1) - { - for (i = 1; i <= n_rows; i++) - { - value = results[(i * n_columns) + 0]; - if (i == 1) - *index1 = atoi (value); - else - *index2 = atoi (value); - } - } - sqlite3_free_table (results); -} - -static void -tps_ga_chromosome_update (TspGaSolutionPtr chromosome, RouteNodePtr from, - RouteNodePtr to, double cost) -{ -/* updating a chromosome (missing distance) */ - int j; - for (j = 0; j < chromosome->Cities; j++) - { - RouteNodePtr n1 = *(chromosome->CitiesFrom + j); - RouteNodePtr n2 = *(chromosome->CitiesTo + j); - if (n1 == from && n2 == to) - *(chromosome->Costs + j) = cost; - } -} - -static void -tsp_ga_random_mutation (sqlite3 * handle, TspGaPopulationPtr ga, - TspGaSolutionPtr mutant) -{ -/* introducing a random mutation */ - RouteNodePtr mutation; - int j; - int idx1; - int idx2; - -/* applying a random mutation */ - tsp_ga_random_interval (handle, ga, &idx1, &idx2); - mutation = *(mutant->CitiesFrom + idx1); - *(mutant->CitiesFrom + idx1) = *(mutant->CitiesFrom + idx2); - *(mutant->CitiesFrom + idx2) = mutation; - -/* adjusting From/To */ - for (j = 1; j < mutant->Cities; j++) - { - RouteNodePtr pFrom = *(mutant->CitiesFrom + j); - *(mutant->CitiesTo + j - 1) = pFrom; - } - *(mutant->CitiesTo + mutant->Cities - 1) = *(mutant->CitiesFrom + 0); - -/* adjusting Costs */ - mutant->TotalCost = 0.0; - for (j = 0; j < mutant->Cities; j++) - { - RouteNodePtr pFrom = *(mutant->CitiesFrom + j); - RouteNodePtr pTo = *(mutant->CitiesTo + j); - double cost = tsp_ga_find_distance (ga, pFrom, pTo); - tps_ga_chromosome_update (mutant, pFrom, pTo, cost); - *(mutant->Costs + j) = cost; - mutant->TotalCost += cost; - } -} - -static TspGaSolutionPtr -tsp_ga_clone_solution (TspGaPopulationPtr ga, TspGaSolutionPtr original) -{ -/* cloning a TSP GA solution */ - int j; - TspGaSolutionPtr clone; - if (original == NULL) - return NULL; - - clone = malloc (sizeof (TspGaSolution)); - clone->Cities = original->Cities; - clone->CitiesFrom = malloc (sizeof (RouteNodePtr) * ga->Cities); - clone->CitiesTo = malloc (sizeof (RouteNodePtr) * ga->Cities); - clone->Costs = malloc (sizeof (double) * ga->Cities); - for (j = 0; j < ga->Cities; j++) - { - *(clone->CitiesFrom + j) = *(original->CitiesFrom + j); - *(clone->CitiesTo + j) = *(original->CitiesTo + j); - *(clone->Costs + j) = *(original->Costs + j); - } - clone->TotalCost = 0.0; - return clone; -} - -static TspGaSolutionPtr -tsp_ga_crossover (sqlite3 * handle, TspGaPopulationPtr ga, int mutation1, - int mutation2) -{ -/* creating a Crossover solution */ - int j; - int idx1; - int idx2; - TspGaSolutionPtr hybrid; - TspGaSolutionPtr parent1 = NULL; - TspGaSolutionPtr parent2 = NULL; - -/* randomly choosing two parents */ - tsp_ga_random_solutions (handle, ga, &idx1, &idx2); - if (idx1 >= 0 && idx1 < ga->Count) - parent1 = tsp_ga_clone_solution (ga, *(ga->Solutions + idx1)); - if (idx2 >= 0 && idx2 < ga->Count) - parent2 = tsp_ga_clone_solution (ga, *(ga->Solutions + idx2)); - if (parent1 == NULL || parent2 == NULL) - goto stop; - - if (mutation1) - tsp_ga_random_mutation (handle, ga, parent1); - if (mutation2) - tsp_ga_random_mutation (handle, ga, parent2); - -/* creating an empty hybrid */ - hybrid = malloc (sizeof (TspGaSolution)); - hybrid->Cities = ga->Cities; - hybrid->CitiesFrom = malloc (sizeof (RouteNodePtr) * ga->Cities); - hybrid->CitiesTo = malloc (sizeof (RouteNodePtr) * ga->Cities); - hybrid->Costs = malloc (sizeof (double) * ga->Cities); - for (j = 0; j < ga->Cities; j++) - { - *(hybrid->CitiesFrom + j) = NULL; - *(hybrid->CitiesTo + j) = NULL; - *(hybrid->Costs + j) = DBL_MAX; - } - hybrid->TotalCost = 0.0; - -/* step #1: inheritance from the fist parent */ - tsp_ga_random_interval (handle, ga, &idx1, &idx2); - if (idx1 < idx2) - { - for (j = idx1; j <= idx2; j++) - *(hybrid->CitiesFrom + j) = *(parent1->CitiesFrom + j); - } - else - { - for (j = idx2; j <= idx1; j++) - *(hybrid->CitiesFrom + j) = *(parent1->CitiesFrom + j); - } - -/* step #2: inheritance from the second parent */ - for (j = 0; j < parent2->Cities; j++) - { - RouteNodePtr p2From = *(parent2->CitiesFrom + j); - int k; - int found = 0; - if (p2From == NULL) - continue; - for (k = 0; k < hybrid->Cities; k++) - { - RouteNodePtr p1From = *(hybrid->CitiesFrom + k); - if (p1From == NULL) - continue; - if (p1From == p2From) - { - /* already present: skipping */ - found = 1; - break; - } - } - if (found) - continue; - for (k = 0; k < hybrid->Cities; k++) - { - if (*(hybrid->CitiesFrom + k) == NULL - && *(hybrid->CitiesTo + k) == NULL - && *(hybrid->Costs + k) == DBL_MAX) - { - /* found an empty slot: inserting */ - *(hybrid->CitiesFrom + k) = p2From; - break; - } - } - } - destroy_tsp_ga_solution (parent1); - destroy_tsp_ga_solution (parent2); - -/* adjusting From/To */ - for (j = 1; j < hybrid->Cities; j++) - { - RouteNodePtr p1From = *(hybrid->CitiesFrom + j); - *(hybrid->CitiesTo + j - 1) = p1From; - } - *(hybrid->CitiesTo + hybrid->Cities - 1) = *(hybrid->CitiesFrom + 0); - -/* retrieving cached costs */ - for (j = 0; j < hybrid->Cities; j++) - { - RouteNodePtr pFrom = *(hybrid->CitiesFrom + j); - RouteNodePtr pTo = *(hybrid->CitiesTo + j); - double cost = tsp_ga_find_distance (ga, pFrom, pTo); - tps_ga_chromosome_update (hybrid, pFrom, pTo, cost); - hybrid->TotalCost += cost; - } - return hybrid; - - stop: - if (parent1 != NULL) - destroy_tsp_ga_solution (parent1); - if (parent2 != NULL) - destroy_tsp_ga_solution (parent2); - return NULL; -} - -static void -evalTspGaFitness (TspGaPopulationPtr ga) -{ -/* evaluating the comparative fitness of parents and offsprings */ - int j; - int i; - int index; - int already_defined = 0; - - for (j = 0; j < ga->Count; j++) - { - /* evaluating an offsprings */ - double max_cost = 0.0; - TspGaSolutionPtr hybrid = *(ga->Offsprings + j); - - for (i = 0; i < ga->Count; i++) - { - /* searching the worst parent */ - TspGaSolutionPtr old = *(ga->Solutions + i); - if (old->TotalCost > max_cost) - { - max_cost = old->TotalCost; - index = i; - } - if (old->TotalCost == hybrid->TotalCost) - already_defined = 1; - } - if (max_cost > hybrid->TotalCost && !already_defined) - { - /* inserting the new hybrid by replacing the worst parent */ - TspGaSolutionPtr kill = *(ga->Solutions + index); - *(ga->Solutions + index) = hybrid; - *(ga->Offsprings + j) = NULL; - destroy_tsp_ga_solution (kill); - } - } -} - -static MultiSolutionPtr -tsp_ga_compute_route (sqlite3 * handle, int options, RouteNodePtr origin, - RouteNodePtr destination, RoutingPtr graph, - RoutingNodesPtr routing) -{ -/* computing a route from City to City */ - RoutingMultiDestPtr to = NULL; - MultiSolutionPtr ms = alloc_multiSolution (); - ms->From = origin; - to = malloc (sizeof (RoutingMultiDest)); - ms->MultiTo = to; - to->CodeNode = graph->NodeCode; - to->Found = malloc (sizeof (char)); - to->To = malloc (sizeof (RouteNodePtr)); - *(to->Found + 0) = 'N'; - *(to->To + 0) = destination; - to->Items = 1; - to->Next = 0; - if (graph->NodeCode) - { - int len = strlen (destination->Code); - to->Ids = NULL; - to->Codes = malloc (sizeof (char *)); - *(to->Codes + 0) = malloc (len + 1); - strcpy (*(to->Codes + 0), destination->Code); - } - else - { - to->Ids = malloc (sizeof (sqlite3_int64)); - to->Codes = NULL; - *(to->Ids + 0) = destination->Id; - } - - dijkstra_multi_shortest_path (handle, options, graph, routing, ms); - return (ms); -} - -static void -completing_tsp_ga_solution (sqlite3 * handle, int options, RouteNodePtr origin, - RouteNodePtr destination, RoutingPtr graph, - RoutingNodesPtr routing, TspTargetsPtr targets, - int j) -{ -/* completing a TSP GA solution */ - ShortestPathSolutionPtr solution; - MultiSolutionPtr result = - tsp_ga_compute_route (handle, options, origin, destination, graph, - routing); - - solution = result->First; - while (solution != NULL) - { - RowSolutionPtr old; - ShortestPathSolutionPtr newSolution = alloc_solution (); - newSolution->From = origin; - newSolution->To = destination; - newSolution->TotalCost += solution->TotalCost; - targets->TotalCost += solution->TotalCost; - newSolution->Geometry = solution->Geometry; - solution->Geometry = NULL; - if (j < 0) - targets->LastSolution = newSolution; - else - *(targets->Solutions + j) = newSolution; - old = solution->First; - while (old != NULL) - { - /* inserts an Arc into the Shortest Path solution */ - RowSolutionPtr p = malloc (sizeof (RowSolution)); - p->Arc = old->Arc; - p->Name = old->Name; - old->Name = NULL; - p->Next = NULL; - if (!(newSolution->First)) - newSolution->First = p; - if (newSolution->Last) - newSolution->Last->Next = p; - newSolution->Last = p; - old = old->Next; - } - solution = solution->Next; - } - delete_multiSolution (result); -} - -static void -set_tsp_ga_targets (sqlite3 * handle, int options, RoutingPtr graph, - RoutingNodesPtr routing, TspGaSolutionPtr bestSolution, - TspTargetsPtr targets) -{ -/* preparing TSP GA targets (best solution found) */ - int j; - RouteNodePtr from; - RouteNodePtr to; - - for (j = 0; j < targets->Count; j++) - { - from = *(bestSolution->CitiesFrom + j); - to = *(bestSolution->CitiesTo + j); - completing_tsp_ga_solution (handle, options, from, to, - graph, routing, targets, j); - *(targets->To + j) = to; - *(targets->Found + j) = 'Y'; - } - /* this is the final City closing the circular path */ - from = *(bestSolution->CitiesFrom + targets->Count); - to = *(bestSolution->CitiesTo + targets->Count); - completing_tsp_ga_solution (handle, options, from, to, graph, - routing, targets, -1); -} - -static TspTargetsPtr -build_tsp_ga_solution_targets (int count, RouteNodePtr from) -{ -/* creating and initializing the TSP helper struct - final solution */ - int i; - TspTargetsPtr targets = malloc (sizeof (TspTargets)); - targets->Mode = VROUTE_TSP_SOLUTION; - targets->TotalCost = 0.0; - targets->Count = count; - targets->To = malloc (sizeof (RouteNodePtr *) * targets->Count); - targets->Found = malloc (sizeof (char) * targets->Count); - targets->Costs = malloc (sizeof (double) * targets->Count); - targets->Solutions = - malloc (sizeof (ShortestPathSolutionPtr) * targets->Count); - targets->LastSolution = NULL; - targets->From = from; - for (i = 0; i < targets->Count; i++) - { - *(targets->To + i) = NULL; - *(targets->Found + i) = 'N'; - *(targets->Costs + i) = DBL_MAX; - *(targets->Solutions + i) = NULL; - } - return targets; -} - -static TspTargetsPtr -tsp_ga_permuted_targets (RouteNodePtr from, RoutingMultiDestPtr multi, - int index) -{ -/* initializing the TSP helper struct - permuted */ - int i; - TspTargetsPtr targets = malloc (sizeof (TspTargets)); - targets->Mode = VROUTE_ROUTING_SOLUTION; - targets->TotalCost = 0.0; - targets->Count = multi->Items; - targets->To = malloc (sizeof (RouteNodePtr *) * targets->Count); - targets->Found = malloc (sizeof (char) * targets->Count); - targets->Costs = malloc (sizeof (double) * targets->Count); - targets->Solutions = - malloc (sizeof (ShortestPathSolutionPtr) * targets->Count); - targets->LastSolution = NULL; - if (index < 0) - { - /* no permutation */ - targets->From = from; - for (i = 0; i < targets->Count; i++) - { - *(targets->To + i) = *(multi->To + i); - *(targets->Found + i) = 'N'; - *(targets->Costs + i) = DBL_MAX; - *(targets->Solutions + i) = NULL; - } - } - else - { - /* permuting */ - targets->From = *(multi->To + index); - for (i = 0; i < targets->Count; i++) - { - if (i == index) - { - *(targets->To + i) = from; - *(targets->Found + i) = 'N'; - *(targets->Costs + i) = DBL_MAX; - *(targets->Solutions + i) = NULL; - } - else - { - *(targets->To + i) = *(multi->To + i); - *(targets->Found + i) = 'N'; - *(targets->Costs + i) = DBL_MAX; - *(targets->Solutions + i) = NULL; - } - } - } - return targets; -} - -static int -build_tsp_nn_solution (TspGaPopulationPtr ga, TspTargetsPtr targets, int index) -{ -/* building a TSP NN solution */ - int j; - int i; - RouteNodePtr origin; - TspGaDistancePtr dist; - TspGaSubDistancePtr sub; - RouteNodePtr destination; - double cost; - TspGaSolutionPtr solution = malloc (sizeof (TspGaSolution)); - solution->Cities = targets->Count + 1; - solution->CitiesFrom = malloc (sizeof (RouteNodePtr) * solution->Cities); - solution->CitiesTo = malloc (sizeof (RouteNodePtr) * solution->Cities); - solution->Costs = malloc (sizeof (double) * solution->Cities); - solution->TotalCost = 0.0; - - origin = targets->From; - for (j = 0; j < targets->Count; j++) - { - /* searching the nearest City */ - dist = tsp_ga_find_from_distance (ga, origin); - if (dist == NULL) - return 0; - destination = NULL; - cost = DBL_MAX; - - sub = *(dist->Distances + dist->NearestIndex); - destination = sub->CityTo; - cost = sub->Cost; - /* excluding the last City (should be a closed circuit) */ - if (destination == targets->From) - destination = NULL; - if (destination != NULL) - { - for (i = 0; i < targets->Count; i++) - { - /* checking if this City was already reached */ - RouteNodePtr city = *(targets->To + i); - if (city == destination) - { - if (*(targets->Found + i) == 'Y') - destination = NULL; - else - *(targets->Found + i) = 'Y'; - break; - } - } - } - if (destination == NULL) - { - /* searching for an alternative destination */ - double min = DBL_MAX; - int ind = -1; - int k; - for (k = 0; k < dist->Cities; k++) - { - sub = *(dist->Distances + k); - RouteNodePtr city = sub->CityTo; - /* excluding the last City (should be a closed circuit) */ - if (city == targets->From) - continue; - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr city2 = *(targets->To + i); - if (*(targets->Found + i) == 'Y') - continue; - if (city == city2) - { - if (sub->Cost < min) - { - min = sub->Cost; - ind = k; - } - } - } - } - if (ind >= 0) - { - sub = *(dist->Distances + ind); - destination = sub->CityTo; - cost = min; - for (i = 0; i < targets->Count; i++) - { - RouteNodePtr city = *(targets->To + i); - if (city == destination) - { - *(targets->Found + i) = 'Y'; - break; - } - } - } - } - if (destination == NULL) - return 0; - *(solution->CitiesFrom + j) = origin; - *(solution->CitiesTo + j) = destination; - *(solution->Costs + j) = cost; - solution->TotalCost += cost; - origin = destination; - } - -/* returning to FROM so to close the circular path */ - destination = targets->From; - for (i = 0; i < ga->Cities; i++) - { - TspGaDistancePtr d = *(ga->Distances + i); - if (d->CityFrom == origin) - { - int k; - dist = *(ga->Distances + i); - for (k = 0; k < dist->Cities; k++) - { - sub = *(dist->Distances + k); - RouteNodePtr city = sub->CityTo; - if (city == destination) - { - cost = sub->Cost; - *(solution->CitiesFrom + targets->Count) = origin; - *(solution->CitiesTo + targets->Count) = - destination; - *(solution->Costs + targets->Count) = cost; - solution->TotalCost += cost; - } - } - } - } - -/* inserting into the GA population */ - *(ga->Solutions + index) = solution; - return 1; -} - -static int -cmp_nodes_addr (const void *p1, const void *p2) -{ -/* compares two nodes by addr [for QSORT] */ - TspGaDistancePtr pD1 = *((TspGaDistancePtr *) p1); - TspGaDistancePtr pD2 = *((TspGaDistancePtr *) p2); - RouteNodePtr pN1 = pD1->CityFrom; - RouteNodePtr pN2 = pD2->CityFrom; - if (pN1 == pN2) - return 0; - if (pN1 > pN2) - return 1; - return -1; -} - -static int -cmp_dist_addr (const void *p1, const void *p2) -{ -/* compares two nodes by addr [for QSORT] */ - TspGaSubDistancePtr pD1 = *((TspGaSubDistancePtr *) p1); - TspGaSubDistancePtr pD2 = *((TspGaSubDistancePtr *) p2); - RouteNodePtr pN1 = pD1->CityTo; - RouteNodePtr pN2 = pD2->CityTo; - if (pN1 == pN2) - return 0; - if (pN1 > pN2) - return 1; - return -1; -} - -static void -tsp_ga_sort_distances (TspGaPopulationPtr ga) -{ -/* sorting Distances/Costs by Node addr */ - int i; - qsort (ga->Distances, ga->Cities, sizeof (RouteNodePtr), cmp_nodes_addr); - for (i = 0; i < ga->Cities; i++) - { - TspGaDistancePtr dist = *(ga->Distances + i); - qsort (dist->Distances, dist->Cities, sizeof (TspGaSubDistancePtr), - cmp_dist_addr); - } - for (i = 0; i < ga->Cities; i++) - { - int k; - int index = -1; - double min = DBL_MAX; - TspGaDistancePtr dist = *(ga->Distances + i); - for (k = 0; k < dist->Cities; k++) - { - TspGaSubDistancePtr sub = *(dist->Distances + k); - if (sub->Cost < min) - { - min = sub->Cost; - index = k; - } - } - if (index >= 0) - dist->NearestIndex = index; - } -} - -static void -tsp_ga_solve (sqlite3 * handle, int options, RoutingPtr graph, - RoutingNodesPtr routing, MultiSolutionPtr multiSolution) -{ -/* computing a Dijkstra TSP GA Solution */ - int i; - int j; - double min; - TspGaSolutionPtr bestSolution; - int count = 0; - int max_iterations = VROUTE_TSP_GA_MAX_ITERATIONS; - TspGaPopulationPtr ga = NULL; - RoutingMultiDestPtr multi; - TspTargetsPtr targets; - TspGaDistancePtr dist; - - if (multiSolution == NULL) - return; - multi = multiSolution->MultiTo; - if (multi == NULL) - return; - -/* initialinzing the TSP GA helper struct */ - ga = build_tsp_ga_population (multi->Items + 1); - - for (i = -1; i < multi->Items; i++) - { - /* determining all City-to-City distances (costs) */ - targets = tsp_ga_permuted_targets (multiSolution->From, multi, i); - for (j = 0; j < targets->Count; j++) - { - /* checking for undefined targets */ - if (*(targets->To + j) == NULL) - { - int k; - for (k = 0; k < targets->Count; k++) - { - /* maskinkg unreachable targets */ - *(targets->Found + k) = 'Y'; - } - build_tsp_illegal_solution (multiSolution, targets); - destroy_tsp_targets (targets); - goto invalid; - } - } - dijkstra_targets_solve (routing, targets); - for (j = 0; j < targets->Count; j++) - { - /* checking for unreachable targets */ - if (*(targets->Found + j) != 'Y') - { - build_tsp_illegal_solution (multiSolution, targets); - destroy_tsp_targets (targets); - goto invalid; - } - } - /* inserting the distances/costs into the helper struct */ - dist = alloc_tsp_ga_distances (targets); - *(ga->Distances + i + 1) = dist; - destroy_tsp_targets (targets); - } - tsp_ga_sort_distances (ga); - - for (i = -1; i < multi->Items; i++) - { - /* initializing GA using permuted NN solutions */ - int ret; - targets = tsp_ga_permuted_targets (multiSolution->From, multi, i); - ret = build_tsp_nn_solution (ga, targets, i + 1); - destroy_tsp_targets (targets); - if (!ret) - goto invalid; - } - - while (max_iterations >= 0) - { - /* sexual reproduction and darwinian selection */ - for (i = 0; i < ga->Count; i++) - { - /* Genetic loop - with mutations */ - TspGaSolutionPtr hybrid; - int mutation1 = 0; - int mutation2 = 0; - count++; - if (count % 13 == 0) - { - /* introducing a random mutation on parent #1 */ - mutation1 = 1; - } - if (count % 16 == 0) - { - /* introducing a random mutation on parent #2 */ - mutation2 = 1; - } - hybrid = tsp_ga_crossover (handle, ga, mutation1, mutation2); - *(ga->Offsprings + i) = hybrid; - } - evalTspGaFitness (ga); - free_tsp_ga_offsprings (ga); - max_iterations--; - } - -/* building the TSP GA solution */ - min = DBL_MAX; - bestSolution = NULL; - for (i = 0; i < ga->Count; i++) - { - /* searching the best solution */ - TspGaSolutionPtr old = *(ga->Solutions + i); - if (old == NULL) - continue; - if (old->TotalCost < min) - { - min = old->TotalCost; - bestSolution = old; - } - } - if (bestSolution != NULL) - { - targets = - build_tsp_ga_solution_targets (multiSolution->MultiTo->Items, - multiSolution->From); - set_tsp_ga_targets (handle, options, graph, routing, bestSolution, - targets); - build_tsp_solution (multiSolution, targets); - destroy_tsp_targets (targets); - } - destroy_tsp_ga_population (ga); - return; - - invalid: - destroy_tsp_ga_population (ga); -} - -static void -network_free (RoutingPtr p) -{ -/* memory cleanup; freeing any allocation for the network struct */ - RouteNodePtr pN; - int i; - if (!p) - return; - for (i = 0; i < p->NumNodes; i++) - { - pN = p->Nodes + i; - if (pN->Code) - free (pN->Code); - if (pN->Arcs) - free (pN->Arcs); - } - if (p->Nodes) - free (p->Nodes); - if (p->TableName) - free (p->TableName); - if (p->FromColumn) - free (p->FromColumn); - if (p->ToColumn) - free (p->ToColumn); - if (p->GeometryColumn) - free (p->GeometryColumn); - if (p->NameColumn) - free (p->NameColumn); - free (p); -} - -static RoutingPtr -network_init (const unsigned char *blob, int size) -{ -/* parsing the HEADER block */ - RoutingPtr graph; - int net64; - int aStar = 0; - int nodes; - int node_code; - int max_code_length; - int endian_arch = gaiaEndianArch (); - const char *table; - const char *from; - const char *to; - const char *geom; - const char *name = NULL; - double a_star_coeff = 1.0; - int len; - const unsigned char *ptr; - if (size < 9) - return NULL; - if (*(blob + 0) == GAIA_NET_START) /* signature - legacy format using 32bit ints */ - net64 = 0; - else if (*(blob + 0) == GAIA_NET64_START) /* signature - format using 64bit ints */ - net64 = 1; - else if (*(blob + 0) == GAIA_NET64_A_STAR_START) /* signature - format using 64bit ints AND supporting A* */ - { - net64 = 1; - aStar = 1; - } - else - return NULL; - if (*(blob + 1) != GAIA_NET_HEADER) /* signature */ - return NULL; - nodes = gaiaImport32 (blob + 2, 1, endian_arch); /* # nodes */ - if (nodes <= 0) - return NULL; - if (*(blob + 6) == GAIA_NET_CODE) /* Nodes identified by a TEXT code */ - node_code = 1; - else if (*(blob + 6) == GAIA_NET_ID) /* Nodes indentified by an INTEGER id */ - node_code = 0; - else - return NULL; - max_code_length = *(blob + 7); /* Max TEXT Code length */ - if (*(blob + 8) != GAIA_NET_TABLE) /* signature for TABLE NAME */ - return NULL; - ptr = blob + 9; - len = gaiaImport16 (ptr, 1, endian_arch); /* TABLE NAME is varlen */ - ptr += 2; - table = (char *) ptr; - ptr += len; - if (*ptr != GAIA_NET_FROM) /* signature for FromNode COLUMN */ - return NULL; - ptr++; - len = gaiaImport16 (ptr, 1, endian_arch); /* FromNode COLUMN is varlen */ - ptr += 2; - from = (char *) ptr; - ptr += len; - if (*ptr != GAIA_NET_TO) /* signature for ToNode COLUMN */ - return NULL; - ptr++; - len = gaiaImport16 (ptr, 1, endian_arch); /* ToNode COLUMN is varlen */ - ptr += 2; - to = (char *) ptr; - ptr += len; - if (*ptr != GAIA_NET_GEOM) /* signature for Geometry COLUMN */ - return NULL; - ptr++; - len = gaiaImport16 (ptr, 1, endian_arch); /* Geometry COLUMN is varlen */ - ptr += 2; - geom = (char *) ptr; - ptr += len; - if (net64) - { - if (*ptr != GAIA_NET_NAME) /* signature for Name COLUMN - may be empty */ - return NULL; - ptr++; - len = gaiaImport16 (ptr, 1, endian_arch); /* Name COLUMN is varlen */ - ptr += 2; - name = (char *) ptr; - ptr += len; - } - if (net64 && aStar) - { - if (*ptr != GAIA_NET_A_STAR_COEFF) /* signature for A* Heuristic Coeff */ - return NULL; - ptr++; - a_star_coeff = gaiaImport64 (ptr, 1, endian_arch); - ptr += 8; - } - if (*ptr != GAIA_NET_END) /* signature */ - return NULL; - graph = malloc (sizeof (Routing)); - graph->Net64 = net64; - graph->AStar = aStar; - graph->EndianArch = endian_arch; - graph->CurrentIndex = 0; - graph->NodeCode = node_code; - graph->MaxCodeLength = max_code_length; - graph->NumNodes = nodes; - graph->Nodes = malloc (sizeof (RouteNode) * nodes); - len = strlen (table); - graph->TableName = malloc (len + 1); - strcpy (graph->TableName, table); - len = strlen (from); - graph->FromColumn = malloc (len + 1); - strcpy (graph->FromColumn, from); - len = strlen (to); - graph->ToColumn = malloc (len + 1); - strcpy (graph->ToColumn, to); - len = strlen (geom); - if (len <= 1) - graph->GeometryColumn = NULL; - else - { - graph->GeometryColumn = malloc (len + 1); - strcpy (graph->GeometryColumn, geom); - } - if (!net64) - { - /* Name column is not supported */ - graph->NameColumn = NULL; - } - else - { - len = strlen (name); - if (len <= 1) - graph->NameColumn = NULL; - else - { - graph->NameColumn = malloc (len + 1); - strcpy (graph->NameColumn, name); - } - } - graph->AStarHeuristicCoeff = a_star_coeff; - return graph; -} - -static int -network_block (RoutingPtr graph, const unsigned char *blob, int size) -{ -/* parsing a NETWORK Block */ - const unsigned char *in = blob; - int nodes; - int i; - int ia; - int index; - char code[256]; - double x; - double y; - sqlite3_int64 nodeId = -1; - int arcs; - RouteNodePtr pN; - RouteArcPtr pA; - int len; - sqlite3_int64 arcId; - int nodeToIdx; - double cost; - if (size < 3) - goto error; - if (*in++ != GAIA_NET_BLOCK) /* signature */ - goto error; - nodes = gaiaImport16 (in, 1, graph->EndianArch); /* # Nodes */ - in += 2; - for (i = 0; i < nodes; i++) - { - /* parsing each node */ - if ((size - (in - blob)) < 5) - goto error; - if (*in++ != GAIA_NET_NODE) /* signature */ - goto error; - index = gaiaImport32 (in, 1, graph->EndianArch); /* node internal index */ - in += 4; - if (index < 0 || index >= graph->NumNodes) - goto error; - if (graph->NodeCode) - { - /* Nodes are identified by a TEXT Code */ - if ((size - (in - blob)) < graph->MaxCodeLength) - goto error; - memcpy (code, in, graph->MaxCodeLength); - in += graph->MaxCodeLength; - } - else - { - /* Nodes are identified by an INTEGER Id */ - if (graph->Net64) - { - if ((size - (in - blob)) < 8) - goto error; - nodeId = gaiaImportI64 (in, 1, graph->EndianArch); /* the Node ID: 64bit */ - in += 8; - } - else - { - if ((size - (in - blob)) < 4) - goto error; - nodeId = gaiaImport32 (in, 1, graph->EndianArch); /* the Node ID: 32bit */ - in += 4; - } - } - if (graph->AStar) - { - /* fetching node's X,Y coords */ - if ((size - (in - blob)) < 8) - goto error; - x = gaiaImport64 (in, 1, graph->EndianArch); /* X coord */ - in += 8; - if ((size - (in - blob)) < 8) - goto error; - y = gaiaImport64 (in, 1, graph->EndianArch); /* Y coord */ - in += 8; - } - else - { - x = DBL_MAX; - y = DBL_MAX; - } - if ((size - (in - blob)) < 2) - goto error; - arcs = gaiaImport16 (in, 1, graph->EndianArch); /* # Arcs */ - in += 2; - if (arcs < 0) - goto error; - /* initializing the Node */ - pN = graph->Nodes + index; - pN->InternalIndex = index; - if (graph->NodeCode) - { - /* Nodes are identified by a TEXT Code */ - pN->Id = -1; - len = strlen (code); - pN->Code = malloc (len + 1); - strcpy (pN->Code, code); - } - else - { - /* Nodes are identified by an INTEGER Id */ - pN->Id = nodeId; - pN->Code = NULL; - } - pN->CoordX = x; - pN->CoordY = y; - pN->NumArcs = arcs; - if (arcs) - { - /* parsing the Arcs */ - pN->Arcs = malloc (sizeof (RouteArc) * arcs); - for (ia = 0; ia < arcs; ia++) - { - /* parsing each Arc */ - if (graph->Net64) - { - if ((size - (in - blob)) < 22) - goto error; - } - else - { - if ((size - (in - blob)) < 18) - goto error; - } - if (*in++ != GAIA_NET_ARC) /* signature */ - goto error; - if (graph->Net64) - { - arcId = gaiaImportI64 (in, 1, graph->EndianArch); /* # Arc ROWID: 64bit */ - in += 8; - } - else - { - arcId = gaiaImport32 (in, 1, graph->EndianArch); /* # Arc ROWID: 32bit */ - in += 4; - } - nodeToIdx = gaiaImport32 (in, 1, graph->EndianArch); /* # NodeTo internal index */ - in += 4; - cost = gaiaImport64 (in, 1, graph->EndianArch); /* # Cost */ - in += 8; - if (*in++ != GAIA_NET_END) /* signature */ - goto error; - pA = pN->Arcs + ia; - /* initializing the Arc */ - if (nodeToIdx < 0 || nodeToIdx >= graph->NumNodes) - goto error; - pA->NodeFrom = pN; - pA->NodeTo = graph->Nodes + nodeToIdx; - pA->ArcRowid = arcId; - pA->Cost = cost; - } - } - else - pN->Arcs = NULL; - if ((size - (in - blob)) < 1) - goto error; - if (*in++ != GAIA_NET_END) /* signature */ - goto error; - } - return 1; - error: - return 0; -} - -static RoutingPtr -load_network (sqlite3 * handle, const char *table) -{ -/* loads the NETWORK struct */ - RoutingPtr graph = NULL; - sqlite3_stmt *stmt; - char *sql; - int ret; - int header = 1; - const unsigned char *blob; - int size; - char *xname; - xname = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("SELECT NetworkData FROM \"%s\" ORDER BY Id", xname); - free (xname); - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto abort; - while (1) - { - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_BLOB) - { - blob = - (const unsigned char *) sqlite3_column_blob (stmt, 0); - size = sqlite3_column_bytes (stmt, 0); - if (header) - { - /* parsing the HEADER block */ - graph = network_init (blob, size); - header = 0; - } - else - { - /* parsing ordinary Blocks */ - if (!graph) - { - sqlite3_finalize (stmt); - goto abort; - } - if (!network_block (graph, blob, size)) - { - sqlite3_finalize (stmt); - goto abort; - } - } - } - else - { - sqlite3_finalize (stmt); - goto abort; - } - } - else - { - sqlite3_finalize (stmt); - goto abort; - } - } - sqlite3_finalize (stmt); - return graph; - abort: - network_free (graph); - return NULL; -} - -static int -vroute_create (sqlite3 * db, void *pAux, int argc, const char *const *argv, - sqlite3_vtab ** ppVTab, char **pzErr) -{ -/* creates the virtual table connected to some shapefile */ - virtualroutingPtr p_vt; - int err; - int ret; - int i; - int n_rows; - int n_columns; - char *vtable = NULL; - char *table = NULL; - const char *col_name = NULL; - char **results; - char *err_msg = NULL; - char *sql; - int ok_id; - int ok_data; - char *xname; - RoutingPtr graph = NULL; - if (pAux) - pAux = pAux; /* unused arg warning suppression */ -/* checking for table_name and geo_column_name */ - if (argc == 4) - { - vtable = gaiaDequotedSql (argv[2]); - table = gaiaDequotedSql (argv[3]); - } - else - { - *pzErr = - sqlite3_mprintf - ("[virtualrouting module] CREATE VIRTUAL: illegal arg list {NETWORK-DATAtable}\n"); - goto error; - } -/* retrieving the base table columns */ - err = 0; - ok_id = 0; - ok_data = 0; - xname = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA table_info(\"%s\")", xname); - free (xname); - ret = sqlite3_get_table (db, sql, &results, &n_rows, &n_columns, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - err = 1; - goto illegal; - } - if (n_rows > 1) - { - for (i = 1; i <= n_rows; i++) - { - col_name = results[(i * n_columns) + 1]; - if (strcasecmp (col_name, "id") == 0) - ok_id = 1; - if (strcasecmp (col_name, "networkdata") == 0) - ok_data = 1; - } - sqlite3_free_table (results); - if (!ok_id) - err = 1; - if (!ok_data) - err = 1; - } - else - err = 1; - illegal: - if (err) - { - /* something is going the wrong way */ - *pzErr = - sqlite3_mprintf - ("[virtualrouting module] cannot build a valid NETWORK\n"); - return SQLITE_ERROR; - } - p_vt = (virtualroutingPtr) sqlite3_malloc (sizeof (virtualrouting)); - if (!p_vt) - return SQLITE_NOMEM; - graph = load_network (db, table); - if (!graph) - { - /* something is going the wrong way */ - *pzErr = - sqlite3_mprintf - ("[virtualrouting module] cannot build a valid NETWORK\n"); - goto error; - } - p_vt->db = db; - p_vt->graph = graph; - p_vt->currentAlgorithm = VROUTE_DIJKSTRA_ALGORITHM; - p_vt->currentRequest = VROUTE_SHORTEST_PATH; - p_vt->currentOptions = VROUTE_SHORTEST_PATH_FULL; - p_vt->currentDelimiter = ','; - p_vt->routing = NULL; - p_vt->pModule = &my_route_module; - p_vt->nRef = 0; - p_vt->zErrMsg = NULL; -/* preparing the COLUMNs for this VIRTUAL TABLE */ - xname = gaiaDoubleQuotedSql (vtable); - if (p_vt->graph->NodeCode) - { - if (p_vt->graph->NameColumn) - { - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (Algorithm TEXT, " - "Request TEXT, Options TEXT, Delimiter TEXT, " - "RouteId INTEGER, RouteRow INTEGER, Role TEXT, " - "ArcRowid INTEGER, NodeFrom TEXT, NodeTo TEXT," - " Cost DOUBLE, Geometry BLOB, Name TEXT)", - xname); - } - else - { - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (Algorithm TEXT, " - "Request TEXT, Options TEXT, Delimiter TEXT, " - "RouteId INTEGER, RouteRow INTEGER, Role TEXT, " - "ArcRowid INTEGER, NodeFrom TEXT, NodeTo TEXT," - " Cost DOUBLE, Geometry BLOB)", xname); - } - } - else - { - if (p_vt->graph->NameColumn) - { - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (Algorithm TEXT, " - "Request TEXT, Options TEXT, Delimiter TEXT, " - "RouteId INTEGER, RouteRow INTEGER, Role TEXT, " - "ArcRowid INTEGER, NodeFrom INTEGER, NodeTo INTEGER," - " Cost DOUBLE, Geometry BLOB, Name TEXT)", - xname); - } - else - { - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (Algorithm TEXT, " - "Request TEXT, Options TEXT, Delimiter TEXT, " - "RouteId INTEGER, RouteRow INTEGER, Role TEXT, " - "ArcRowid INTEGER, NodeFrom INTEGER, NodeTo INTEGER," - " Cost DOUBLE, Geometry BLOB)", xname); - } - } - free (xname); - if (sqlite3_declare_vtab (db, sql) != SQLITE_OK) - { - *pzErr = - sqlite3_mprintf - ("[virtualrouting module] CREATE VIRTUAL: invalid SQL statement \"%s\"", - sql); - sqlite3_free (sql); - goto error; - } - sqlite3_free (sql); - *ppVTab = (sqlite3_vtab *) p_vt; - p_vt->routing = routing_init (p_vt->graph); - free (table); - free (vtable); - return SQLITE_OK; - error: - if (table) - free (table); - if (vtable) - free (vtable); - return SQLITE_ERROR; -} - -static int -vroute_connect (sqlite3 * db, void *pAux, int argc, const char *const *argv, - sqlite3_vtab ** ppVTab, char **pzErr) -{ -/* connects the virtual table to some shapefile - simply aliases vshp_create() */ - return vroute_create (db, pAux, argc, argv, ppVTab, pzErr); -} - -static int -vroute_best_index (sqlite3_vtab * pVTab, sqlite3_index_info * pIdxInfo) -{ -/* best index selection */ - int i; - int errors = 0; - int err = 1; - int from = 0; - int to = 0; - int cost = 0; - int i_from = -1; - int i_to = -1; - int i_cost = -1; - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - for (i = 0; i < pIdxInfo->nConstraint; i++) - { - /* verifying the constraints */ - struct sqlite3_index_constraint *p = &(pIdxInfo->aConstraint[i]); - if (p->usable) - { - if (p->iColumn == 8 && p->op == SQLITE_INDEX_CONSTRAINT_EQ) - { - from++; - i_from = i; - } - else if (p->iColumn == 9 && p->op == SQLITE_INDEX_CONSTRAINT_EQ) - { - to++; - i_to = i; - } - else if (p->iColumn == 10 - && p->op == SQLITE_INDEX_CONSTRAINT_LE) - { - cost++; - i_cost = i; - } - else - errors++; - } - } - if (from == 1 && to == 1 && errors == 0) - { - /* this one is a valid Shortest Path query */ - if (i_from < i_to) - pIdxInfo->idxNum = 1; /* first arg is FROM */ - else - pIdxInfo->idxNum = 2; /* first arg is TO */ - pIdxInfo->estimatedCost = 1.0; - for (i = 0; i < pIdxInfo->nConstraint; i++) - { - if (pIdxInfo->aConstraint[i].usable) - { - pIdxInfo->aConstraintUsage[i].argvIndex = i + 1; - pIdxInfo->aConstraintUsage[i].omit = 1; - } - } - err = 0; - } - if (from == 1 && cost == 1 && errors == 0) - { - /* this one is a valid "within cost" query */ - if (i_from < i_cost) - pIdxInfo->idxNum = 3; /* first arg is FROM */ - else - pIdxInfo->idxNum = 4; /* first arg is COST */ - pIdxInfo->estimatedCost = 1.0; - for (i = 0; i < pIdxInfo->nConstraint; i++) - { - if (pIdxInfo->aConstraint[i].usable) - { - pIdxInfo->aConstraintUsage[i].argvIndex = i + 1; - pIdxInfo->aConstraintUsage[i].omit = 1; - } - } - err = 0; - } - if (err) - { - /* illegal query */ - pIdxInfo->idxNum = 0; - } - return SQLITE_OK; -} - -static int -vroute_disconnect (sqlite3_vtab * pVTab) -{ -/* disconnects the virtual table */ - virtualroutingPtr p_vt = (virtualroutingPtr) pVTab; - if (p_vt->routing) - routing_free (p_vt->routing); - if (p_vt->graph) - network_free (p_vt->graph); - sqlite3_free (p_vt); - return SQLITE_OK; -} - -static int -vroute_destroy (sqlite3_vtab * pVTab) -{ -/* destroys the virtual table - simply aliases vshp_disconnect() */ - return vroute_disconnect (pVTab); -} - -static void -vroute_read_row (virtualroutingCursorPtr cursor) -{ -/* trying to read a "row" from Shortest Path solution */ - if (cursor->pVtab->multiSolution->Mode == VROUTE_RANGE_SOLUTION) - { - if (cursor->pVtab->multiSolution->CurrentNodeRow == NULL) - cursor->pVtab->eof = 1; - else - cursor->pVtab->eof = 0; - } - else - { - if (cursor->pVtab->multiSolution->CurrentRow == NULL) - cursor->pVtab->eof = 1; - else - cursor->pVtab->eof = 0; - } - return; -} - -static int -vroute_open (sqlite3_vtab * pVTab, sqlite3_vtab_cursor ** ppCursor) -{ -/* opening a new cursor */ - virtualroutingCursorPtr cursor = - (virtualroutingCursorPtr) - sqlite3_malloc (sizeof (virtualroutingCursor)); - if (cursor == NULL) - return SQLITE_ERROR; - cursor->pVtab = (virtualroutingPtr) pVTab; - cursor->pVtab->multiSolution = alloc_multiSolution (); - cursor->pVtab->eof = 0; - *ppCursor = (sqlite3_vtab_cursor *) cursor; - return SQLITE_OK; -} - -static int -vroute_close (sqlite3_vtab_cursor * pCursor) -{ -/* closing the cursor */ - virtualroutingCursorPtr cursor = (virtualroutingCursorPtr) pCursor; - delete_multiSolution (cursor->pVtab->multiSolution); - sqlite3_free (pCursor); - return SQLITE_OK; -} - -static void -set_multi_by_id (RoutingMultiDestPtr multiple, RoutingPtr graph) -{ -// setting Node pointers to multiple destinations */ - int i; - for (i = 0; i < multiple->Items; i++) - { - sqlite3_int64 id = *(multiple->Ids + i); - if (id >= 1) - *(multiple->To + i) = find_node_by_id (graph, id); - } -} - -static void -set_multi_by_code (RoutingMultiDestPtr multiple, RoutingPtr graph) -{ -// setting Node pointers to multiple destinations */ - int i; - for (i = 0; i < multiple->Items; i++) - { - const char *code = *(multiple->Codes + i); - if (code != NULL) - *(multiple->To + i) = find_node_by_code (graph, code); - } -} - -static int -vroute_filter (sqlite3_vtab_cursor * pCursor, int idxNum, const char *idxStr, - int argc, sqlite3_value ** argv) -{ -/* setting up a cursor filter */ - int node_code = 0; - virtualroutingCursorPtr cursor = (virtualroutingCursorPtr) pCursor; - virtualroutingPtr net = (virtualroutingPtr) cursor->pVtab; - RoutingMultiDestPtr multiple = NULL; - if (idxStr) - idxStr = idxStr; /* unused arg warning suppression */ - node_code = net->graph->NodeCode; - reset_multiSolution (cursor->pVtab->multiSolution); - cursor->pVtab->eof = 0; - if (idxNum == 1 && argc == 2) - { - /* retrieving the Shortest Path From/To params */ - if (node_code) - { - /* Nodes are identified by TEXT Codes */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - cursor->pVtab->multiSolution->From = - find_node_by_code (net->graph, - (char *) - sqlite3_value_text (argv[0])); - if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - { - multiple = - vroute_get_multiple_destinations (1, - cursor->pVtab-> - currentDelimiter, - (const char *) - sqlite3_value_text - (argv[1])); - if (multiple != NULL) - { - set_multi_by_code (multiple, net->graph); - cursor->pVtab->multiSolution->MultiTo = multiple; - } - } - } - else - { - /* Nodes are identified by INT Ids */ - if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) - cursor->pVtab->multiSolution->From = - find_node_by_id (net->graph, - sqlite3_value_int (argv[0])); - if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - { - multiple = - vroute_get_multiple_destinations (0, - cursor->pVtab-> - currentDelimiter, - (const char *) - sqlite3_value_text - (argv[1])); - if (multiple != NULL) - { - set_multi_by_id (multiple, net->graph); - cursor->pVtab->multiSolution->MultiTo = multiple; - } - } - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - multiple = - vroute_as_multiple_destinations (sqlite3_value_int - (argv[1])); - if (multiple != NULL) - { - set_multi_by_id (multiple, net->graph); - cursor->pVtab->multiSolution->MultiTo = multiple; - } - } - } - } - if (idxNum == 2 && argc == 2) - { - /* retrieving the Shortest Path To/From params */ - if (node_code) - { - /* Nodes are identified by TEXT Codes */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - { - multiple = - vroute_get_multiple_destinations (1, - cursor->pVtab-> - currentDelimiter, - (const char *) - sqlite3_value_text - (argv[0])); - if (multiple != NULL) - { - set_multi_by_code (multiple, net->graph); - cursor->pVtab->multiSolution->MultiTo = multiple; - } - } - if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - { - cursor->pVtab->multiSolution->From = - find_node_by_code (net->graph, - (char *) - sqlite3_value_text (argv[1])); - } - } - else - { - /* Nodes are identified by INT Ids */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - { - multiple = - vroute_get_multiple_destinations (0, - cursor->pVtab-> - currentDelimiter, - (const char *) - sqlite3_value_text - (argv[0])); - if (multiple != NULL) - { - set_multi_by_id (multiple, net->graph); - cursor->pVtab->multiSolution->MultiTo = multiple; - } - } - else if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) - { - multiple = - vroute_as_multiple_destinations (sqlite3_value_int - (argv[0])); - if (multiple != NULL) - { - set_multi_by_id (multiple, net->graph); - cursor->pVtab->multiSolution->MultiTo = multiple; - } - } - if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - cursor->pVtab->multiSolution->From = - find_node_by_id (net->graph, - sqlite3_value_int (argv[1])); - } - } - if (idxNum == 3 && argc == 2) - { - /* retrieving the From and Cost param */ - if (node_code) - { - /* Nodes are identified by TEXT Codes */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - cursor->pVtab->multiSolution->From = - find_node_by_code (net->graph, - (char *) - sqlite3_value_text (argv[0])); - } - else - { - /* Nodes are identified by INT Ids */ - if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) - cursor->pVtab->multiSolution->From = - find_node_by_id (net->graph, - sqlite3_value_int (argv[0])); - } - if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - int cost = sqlite3_value_int (argv[1]); - cursor->pVtab->multiSolution->MaxCost = cost; - } - else if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - cursor->pVtab->multiSolution->MaxCost = - sqlite3_value_double (argv[1]); - } - if (idxNum == 4 && argc == 2) - { - /* retrieving the From and Cost param */ - if (node_code) - { - /* Nodes are identified by TEXT Codes */ - if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - cursor->pVtab->multiSolution->From = - find_node_by_code (net->graph, - (char *) - sqlite3_value_text (argv[1])); - } - else - { - /* Nodes are identified by INT Ids */ - if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - cursor->pVtab->multiSolution->From = - find_node_by_id (net->graph, - sqlite3_value_int (argv[1])); - } - if (sqlite3_value_type (argv[0]) == SQLITE_INTEGER) - { - int cost = sqlite3_value_int (argv[0]); - cursor->pVtab->multiSolution->MaxCost = cost; - } - else if (sqlite3_value_type (argv[0]) == SQLITE_FLOAT) - cursor->pVtab->multiSolution->MaxCost = - sqlite3_value_double (argv[0]); - } - if (cursor->pVtab->multiSolution == NULL) - { - cursor->pVtab->eof = 0; - cursor->pVtab->multiSolution->CurrentRow = NULL; - cursor->pVtab->multiSolution->CurrentRowId = 0; - cursor->pVtab->multiSolution->Mode = VROUTE_ROUTING_SOLUTION; - return SQLITE_OK; - } - if (cursor->pVtab->multiSolution->From - && cursor->pVtab->multiSolution->MultiTo) - { - cursor->pVtab->eof = 0; - if (net->currentRequest == VROUTE_TSP_NN) - { - cursor->pVtab->multiSolution->Mode = VROUTE_TSP_SOLUTION; - if (net->currentAlgorithm == VROUTE_DIJKSTRA_ALGORITHM) - { - tsp_nn_solve (net->db, net->currentOptions, net->graph, - net->routing, cursor->pVtab->multiSolution); - cursor->pVtab->multiSolution->CurrentRowId = 0; - cursor->pVtab->multiSolution->CurrentRow = - cursor->pVtab->multiSolution->FirstRow; - } - } - else if (net->currentRequest == VROUTE_TSP_GA) - { - cursor->pVtab->multiSolution->Mode = VROUTE_TSP_SOLUTION; - if (net->currentAlgorithm == VROUTE_DIJKSTRA_ALGORITHM) - { - tsp_ga_solve (net->db, net->currentOptions, net->graph, - net->routing, cursor->pVtab->multiSolution); - cursor->pVtab->multiSolution->CurrentRowId = 0; - cursor->pVtab->multiSolution->CurrentRow = - cursor->pVtab->multiSolution->FirstRow; - } - } - else - { - cursor->pVtab->multiSolution->Mode = VROUTE_ROUTING_SOLUTION; - if (net->currentAlgorithm == VROUTE_A_STAR_ALGORITHM) - astar_solve (net->db, net->currentOptions, net->graph, - net->routing, cursor->pVtab->multiSolution); - else - dijkstra_multi_solve (net->db, net->currentOptions, - net->graph, net->routing, - cursor->pVtab->multiSolution); - cursor->pVtab->multiSolution->CurrentRowId = 0; - cursor->pVtab->multiSolution->CurrentRow = - cursor->pVtab->multiSolution->FirstRow; - } - return SQLITE_OK; - } - if (cursor->pVtab->multiSolution->From - && cursor->pVtab->multiSolution->MaxCost > 0.0) - { - int srid = find_srid (net->db, net->graph); - cursor->pVtab->eof = 0; - cursor->pVtab->multiSolution->Mode = VROUTE_RANGE_SOLUTION; - if (net->currentAlgorithm == VROUTE_DIJKSTRA_ALGORITHM) - { - dijkstra_within_cost_range (net->routing, - cursor->pVtab->multiSolution, srid); - cursor->pVtab->multiSolution->CurrentRowId = 0; - cursor->pVtab->multiSolution->CurrentNodeRow = - cursor->pVtab->multiSolution->FirstNode; - } - return SQLITE_OK; - } - cursor->pVtab->eof = 0; - cursor->pVtab->multiSolution->CurrentRow = NULL; - cursor->pVtab->multiSolution->CurrentRowId = 0; - cursor->pVtab->multiSolution->Mode = VROUTE_ROUTING_SOLUTION; - return SQLITE_OK; -} - -static int -vroute_next (sqlite3_vtab_cursor * pCursor) -{ -/* fetching a next row from cursor */ - virtualroutingCursorPtr cursor = (virtualroutingCursorPtr) pCursor; - if (cursor->pVtab->multiSolution->Mode == VROUTE_RANGE_SOLUTION) - { - cursor->pVtab->multiSolution->CurrentNodeRow = - cursor->pVtab->multiSolution->CurrentNodeRow->Next; - if (!(cursor->pVtab->multiSolution->CurrentNodeRow)) - { - cursor->pVtab->eof = 1; - return SQLITE_OK; - } - } - else - { - if (cursor->pVtab->multiSolution->CurrentRow == NULL) - { - cursor->pVtab->eof = 1; - return SQLITE_OK; - } - cursor->pVtab->multiSolution->CurrentRow = - cursor->pVtab->multiSolution->CurrentRow->Next; - if (!(cursor->pVtab->multiSolution->CurrentRow)) - { - cursor->pVtab->eof = 1; - return SQLITE_OK; - } - } - (cursor->pVtab->multiSolution->CurrentRowId)++; - vroute_read_row (cursor); - return SQLITE_OK; -} - -static int -vroute_eof (sqlite3_vtab_cursor * pCursor) -{ -/* cursor EOF */ - virtualroutingCursorPtr cursor = (virtualroutingCursorPtr) pCursor; - return cursor->pVtab->eof; -} - -static int -vroute_column (sqlite3_vtab_cursor * pCursor, sqlite3_context * pContext, - int column) -{ -/* fetching value for the Nth column */ - ResultsetRowPtr row; - RowNodeSolutionPtr row_node; - int node_code = 0; - const char *algorithm; - char delimiter[128]; - const char *role; - virtualroutingCursorPtr cursor = (virtualroutingCursorPtr) pCursor; - virtualroutingPtr net = (virtualroutingPtr) cursor->pVtab; - node_code = net->graph->NodeCode; - if (cursor->pVtab->multiSolution->Mode == VROUTE_RANGE_SOLUTION) - { - /* processing "within Cost range" solution */ - row_node = cursor->pVtab->multiSolution->CurrentNodeRow; - if (column == 0) - { - /* the currently used Algorithm */ - algorithm = "Dijkstra"; - sqlite3_result_text (pContext, algorithm, strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 1) - { - /* the current Request type */ - algorithm = "Isochrone"; - sqlite3_result_text (pContext, algorithm, strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 2) - { - /* the currently set Options */ - algorithm = "Full"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), SQLITE_TRANSIENT); - } - if (column == 3) - { - /* the currently set delimiter char */ - if (isprint (cursor->pVtab->currentDelimiter)) - sprintf (delimiter, "%c [dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - else - sprintf (delimiter, "[dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - sqlite3_result_text (pContext, delimiter, strlen (delimiter), - SQLITE_TRANSIENT); - } - if (column == 4) - { - /* the RouteNum column */ - sqlite3_result_int (pContext, 0); - } - if (column == 5) - { - /* the RouteRow column */ - sqlite3_result_int (pContext, 0); - } - if (column == 6) - { - /* role of this row */ - role = "Solution"; - sqlite3_result_text (pContext, role, strlen (role), - SQLITE_TRANSIENT); - } - if (column == 7) - { - /* the ArcRowId column */ - sqlite3_result_null (pContext); - } - if (column == 8) - { - /* the NodeFrom column */ - if (node_code) - sqlite3_result_text (pContext, - cursor->pVtab->multiSolution-> - From->Code, - strlen (cursor->pVtab-> - multiSolution->From->Code), - SQLITE_STATIC); - else - sqlite3_result_int64 (pContext, - cursor->pVtab->multiSolution-> - From->Id); - } - if (column == 9) - { - /* the NodeTo column */ - if (node_code) - sqlite3_result_text (pContext, row_node->Node->Code, - strlen (row_node->Node->Code), - SQLITE_STATIC); - else - sqlite3_result_int64 (pContext, row_node->Node->Id); - } - if (column == 10) - { - /* the Cost column */ - sqlite3_result_double (pContext, row_node->Cost); - } - if (column == 11) - { - /* the Geometry column */ - if (row_node->Srid == VROUTE_INVALID_SRID) - sqlite3_result_null (pContext); - else - { - int len; - unsigned char *p_result = NULL; - gaiaGeomCollPtr geom = gaiaAllocGeomColl (); - geom->Srid = row_node->Srid; - gaiaAddPointToGeomColl (geom, row_node->Node->CoordX, - row_node->Node->CoordY); - gaiaToSpatiaLiteBlobWkb (geom, &p_result, &len); - sqlite3_result_blob (pContext, p_result, len, free); - gaiaFreeGeomColl (geom); - } - } - if (column == 12) - { - /* the [optional] Name column */ - sqlite3_result_null (pContext); - } - } - else - { - /* processing an ordinary Routing (Shortest Path or TSP) solution */ - row = cursor->pVtab->multiSolution->CurrentRow; - if (row == NULL) - { - /* empty resultset */ - if (column == 0) - { - /* the currently used Algorithm */ - if (net->currentAlgorithm == VROUTE_A_STAR_ALGORITHM) - algorithm = "A*"; - else - algorithm = "Dijkstra"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - else if (column == 1) - { - /* the current Request type */ - if (net->currentRequest == VROUTE_TSP_NN) - algorithm = "TSP NN"; - else if (net->currentRequest == VROUTE_TSP_GA) - algorithm = "TSP GA"; - else - algorithm = "Shortest Path"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - else if (column == 2) - { - /* the currently set Options */ - if (net->currentOptions == VROUTE_SHORTEST_PATH_SIMPLE) - algorithm = "Simple"; - else if (net->currentOptions == - VROUTE_SHORTEST_PATH_NO_ARCS) - algorithm = "No Arcs"; - else if (net->currentOptions == - VROUTE_SHORTEST_PATH_NO_GEOMS) - algorithm = "No Geometries"; - else - algorithm = "Full"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - else if (column == 3) - { - /* the currently set delimiter char */ - if (isprint (cursor->pVtab->currentDelimiter)) - sprintf (delimiter, "%c [dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - else - sprintf (delimiter, "[dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - sqlite3_result_text (pContext, delimiter, - strlen (delimiter), - SQLITE_TRANSIENT); - } - else - sqlite3_result_null (pContext); - return SQLITE_OK; - } - if (row->Undefined != NULL) - { - /* special case: there is an undefined destination */ - if (column == 0) - { - /* the currently used Algorithm */ - if (net->currentAlgorithm == VROUTE_A_STAR_ALGORITHM) - algorithm = "A*"; - else - algorithm = "Dijkstra"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 1) - { - /* the current Request type */ - if (net->currentRequest == VROUTE_TSP_NN) - algorithm = "TSP NN"; - else if (net->currentRequest == VROUTE_TSP_GA) - algorithm = "TSP GA"; - else - algorithm = "Shortest Path"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 2) - { - /* the currently set Options */ - if (net->currentOptions == VROUTE_SHORTEST_PATH_SIMPLE) - algorithm = "Simple"; - else if (net->currentOptions == - VROUTE_SHORTEST_PATH_NO_ARCS) - algorithm = "No Arcs"; - else if (net->currentOptions == - VROUTE_SHORTEST_PATH_NO_GEOMS) - algorithm = "No Geometries"; - else - algorithm = "Full"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 3) - { - /* the currently set delimiter char */ - if (isprint (cursor->pVtab->currentDelimiter)) - sprintf (delimiter, "%c [dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - else - sprintf (delimiter, "[dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - sqlite3_result_text (pContext, delimiter, - strlen (delimiter), - SQLITE_TRANSIENT); - } - if (column == 4) - { - /* the RouteNum column */ - sqlite3_result_int (pContext, row->RouteNum); - } - if (column == 5) - { - /* the RouteRow column */ - sqlite3_result_int (pContext, row->RouteRow); - } - if (column == 6) - { - /* role of this row */ - if (row->To != NULL) - role = "Unreachable NodeTo"; - else - role = "Undefined NodeTo"; - sqlite3_result_text (pContext, role, strlen (role), - SQLITE_TRANSIENT); - } - if (column == 7) - { - /* the ArcRowId column */ - sqlite3_result_null (pContext); - } - if (column == 8) - { - /* the NodeFrom column */ - if (row->From == NULL) - { - sqlite3_result_text (pContext, - row->Undefined, - strlen (row->Undefined), - SQLITE_STATIC); - } - else - { - if (node_code) - sqlite3_result_text (pContext, - row->From->Code, - strlen (row->From->Code), - SQLITE_STATIC); - else - sqlite3_result_int64 (pContext, row->From->Id); - } - } - if (column == 9) - { - /* the NodeTo column */ - sqlite3_result_text (pContext, - row->Undefined, - strlen (row->Undefined), - SQLITE_STATIC); - } - if (column == 10) - { - /* the Cost column */ - sqlite3_result_null (pContext); - } - if (column == 11) - { - /* the Geometry column */ - sqlite3_result_null (pContext); - } - if (column == 12) - { - /* the [optional] Name column */ - sqlite3_result_null (pContext); - } - return SQLITE_OK; - } - if (row->linkRef == NULL) - { - /* special case: this one is the solution summary */ - if (column == 0) - { - /* the currently used Algorithm */ - if (net->currentAlgorithm == VROUTE_A_STAR_ALGORITHM) - algorithm = "A*"; - else - algorithm = "Dijkstra"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 1) - { - /* the current Request type */ - if (net->currentRequest == VROUTE_TSP_NN) - algorithm = "TSP NN"; - else if (net->currentRequest == VROUTE_TSP_GA) - algorithm = "TSP GA"; - else - algorithm = "Shortest Path"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 2) - { - /* the currently set Options */ - if (net->currentOptions == VROUTE_SHORTEST_PATH_SIMPLE) - algorithm = "Simple"; - else if (net->currentOptions == - VROUTE_SHORTEST_PATH_NO_ARCS) - algorithm = "No Arcs"; - else if (net->currentOptions == - VROUTE_SHORTEST_PATH_NO_GEOMS) - algorithm = "No Geometries"; - else - algorithm = "Full"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 3) - { - /* the currently set delimiter char */ - if (isprint (cursor->pVtab->currentDelimiter)) - sprintf (delimiter, "%c [dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - else - sprintf (delimiter, "[dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - sqlite3_result_text (pContext, delimiter, - strlen (delimiter), - SQLITE_TRANSIENT); - } - if (column == 4) - { - /* the RouteNum column */ - sqlite3_result_int (pContext, row->RouteNum); - } - if (column == 5) - { - /* the RouteRow column */ - sqlite3_result_int (pContext, row->RouteRow); - } - if (column == 6) - { - /* role of this row */ - if (cursor->pVtab->multiSolution->Mode == - VROUTE_TSP_SOLUTION && row->RouteNum == 0) - role = "TSP Solution"; - else - { - if (row->From == row->To) - role = "Unreachable NodeTo"; - else - role = "Route"; - } - sqlite3_result_text (pContext, role, strlen (role), - SQLITE_TRANSIENT); - } - if (row->From == NULL || row->To == NULL) - { - /* empty [uninitialized] solution */ - if (column > 0) - sqlite3_result_null (pContext); - return SQLITE_OK; - } - if (column == 7) - { - /* the ArcRowId column */ - sqlite3_result_null (pContext); - } - if (column == 8) - { - /* the NodeFrom column */ - if (node_code) - sqlite3_result_text (pContext, - row->From->Code, - strlen (row->From->Code), - SQLITE_STATIC); - else - sqlite3_result_int64 (pContext, row->From->Id); - } - if (column == 9) - { - /* the NodeTo column */ - if (node_code) - sqlite3_result_text (pContext, - row->To->Code, - strlen (row->To->Code), - SQLITE_STATIC); - else - sqlite3_result_int64 (pContext, row->To->Id); - } - if (column == 10) - { - /* the Cost column */ - if (row->RouteNum != 0 && (row->From == row->To)) - sqlite3_result_null (pContext); - else - sqlite3_result_double (pContext, row->TotalCost); - } - if (column == 11) - { - /* the Geometry column */ - if (!(row->Geometry)) - sqlite3_result_null (pContext); - else - { - /* builds the BLOB geometry to be returned */ - int len; - unsigned char *p_result = NULL; - gaiaToSpatiaLiteBlobWkb (row->Geometry, - &p_result, &len); - sqlite3_result_blob (pContext, p_result, len, free); - } - } - if (column == 12) - { - /* the [optional] Name column */ - sqlite3_result_null (pContext); - } - } - else - { - /* ordinary case: this one is an Arc used by the solution */ - if (column == 0) - { - /* the currently used Algorithm */ - if (net->currentAlgorithm == VROUTE_A_STAR_ALGORITHM) - algorithm = "A*"; - else - algorithm = "Dijkstra"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 1) - { - /* the current Request type */ - if (net->currentRequest == VROUTE_TSP_NN) - algorithm = "TSP NN"; - else if (net->currentRequest == VROUTE_TSP_GA) - algorithm = "TSP GA"; - else - algorithm = "Shortest Path"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 2) - { - /* the currently set Options */ - if (net->currentOptions == VROUTE_SHORTEST_PATH_SIMPLE) - algorithm = "Simple"; - else if (net->currentOptions == - VROUTE_SHORTEST_PATH_NO_ARCS) - algorithm = "No Arcs"; - else if (net->currentOptions == - VROUTE_SHORTEST_PATH_NO_GEOMS) - algorithm = "No Geometries"; - else - algorithm = "Full"; - sqlite3_result_text (pContext, algorithm, - strlen (algorithm), - SQLITE_TRANSIENT); - } - if (column == 3) - { - /* the currently set delimiter char */ - if (isprint (cursor->pVtab->currentDelimiter)) - sprintf (delimiter, "%c [dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - else - sprintf (delimiter, "[dec=%d, hex=%02x]", - cursor->pVtab->currentDelimiter, - cursor->pVtab->currentDelimiter); - sqlite3_result_text (pContext, delimiter, - strlen (delimiter), - SQLITE_TRANSIENT); - } - if (column == 4) - { - /* the RouteNum column */ - sqlite3_result_int (pContext, row->RouteNum); - } - if (column == 5) - { - /* the RouteRow column */ - sqlite3_result_int (pContext, row->RouteRow); - } - if (column == 6) - { - /* role of this row */ - role = "Link"; - sqlite3_result_text (pContext, role, strlen (role), - SQLITE_TRANSIENT); - } - if (column == 7) - { - /* the ArcRowId column */ - sqlite3_result_int64 (pContext, - row->linkRef->Arc->ArcRowid); - } - if (column == 8) - { - /* the NodeFrom column */ - if (node_code) - sqlite3_result_text (pContext, - row->linkRef->Arc->NodeFrom-> - Code, - strlen (row->linkRef->Arc-> - NodeFrom->Code), - SQLITE_STATIC); - else - sqlite3_result_int64 (pContext, - row->linkRef->Arc->NodeFrom-> - Id); - } - if (column == 9) - { - /* the NodeTo column */ - if (node_code) - sqlite3_result_text (pContext, - row->linkRef->Arc->NodeTo->Code, - strlen (row->linkRef->Arc-> - NodeTo->Code), - SQLITE_STATIC); - else - sqlite3_result_int64 (pContext, - row->linkRef->Arc->NodeTo->Id); - } - if (column == 10) - { - /* the Cost column */ - sqlite3_result_double (pContext, row->linkRef->Arc->Cost); - } - if (column == 11) - { - /* the Geometry column */ - sqlite3_result_null (pContext); - } - if (column == 12) - { - /* the [optional] Name column */ - if (row->linkRef->Name) - sqlite3_result_text (pContext, row->linkRef->Name, - strlen (row->linkRef->Name), - SQLITE_STATIC); - else - sqlite3_result_null (pContext); - } - } - } - return SQLITE_OK; -} - -static int -vroute_rowid (sqlite3_vtab_cursor * pCursor, sqlite_int64 * pRowid) -{ -/* fetching the ROWID */ - virtualroutingCursorPtr cursor = (virtualroutingCursorPtr) pCursor; - *pRowid = cursor->pVtab->multiSolution->CurrentRowId; - return SQLITE_OK; -} - -static int -vroute_update (sqlite3_vtab * pVTab, int argc, sqlite3_value ** argv, - sqlite_int64 * pRowid) -{ -/* generic update [INSERT / UPDATE / DELETE */ - virtualroutingPtr p_vtab = (virtualroutingPtr) pVTab; - if (pRowid) - pRowid = pRowid; /* unused arg warning suppression */ - if (argc == 1) - { - /* performing a DELETE is forbidden */ - return SQLITE_READONLY; - } - else - { - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - { - /* performing an INSERT is forbidden */ - return SQLITE_READONLY; - } - else - { - /* performing an UPDATE */ - if (argc == 15) - { - p_vtab->currentAlgorithm = VROUTE_DIJKSTRA_ALGORITHM; - p_vtab->currentDelimiter = ','; - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - { - const unsigned char *algorithm = - sqlite3_value_text (argv[2]); - if (strcasecmp ((char *) algorithm, "A*") == 0) - p_vtab->currentAlgorithm = - VROUTE_A_STAR_ALGORITHM; - } - if (p_vtab->graph->AStar == 0) - p_vtab->currentAlgorithm = VROUTE_DIJKSTRA_ALGORITHM; - if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - { - const unsigned char *request = - sqlite3_value_text (argv[3]); - if (strcasecmp ((char *) request, "TSP") == 0) - p_vtab->currentRequest = VROUTE_TSP_NN; - else if (strcasecmp - ((char *) request, "TSP NN") == 0) - p_vtab->currentRequest = VROUTE_TSP_NN; - else if (strcasecmp - ((char *) request, "TSP GA") == 0) - p_vtab->currentRequest = VROUTE_TSP_GA; - else if (strcasecmp - ((char *) request, "SHORTEST PATH") == 0) - p_vtab->currentRequest = VROUTE_SHORTEST_PATH; - } - if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - { - const unsigned char *options = - sqlite3_value_text (argv[4]); - if (strcasecmp ((char *) options, "NO ARCS") == 0) - p_vtab->currentOptions = - VROUTE_SHORTEST_PATH_NO_ARCS; - else if (strcasecmp - ((char *) options, "NO GEOMETRIES") == 0) - p_vtab->currentOptions = - VROUTE_SHORTEST_PATH_NO_GEOMS; - else if (strcasecmp ((char *) options, "SIMPLE") == - 0) - p_vtab->currentOptions = - VROUTE_SHORTEST_PATH_SIMPLE; - else if (strcasecmp ((char *) options, "FULL") == 0) - p_vtab->currentOptions = - VROUTE_SHORTEST_PATH_FULL; - } - if (sqlite3_value_type (argv[5]) == SQLITE_TEXT) - { - const unsigned char *delimiter = - sqlite3_value_text (argv[5]); - p_vtab->currentDelimiter = *delimiter; - } - } - return SQLITE_OK; - } - } -} - -static int -vroute_begin (sqlite3_vtab * pVTab) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - return SQLITE_OK; -} - -static int -vroute_sync (sqlite3_vtab * pVTab) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - return SQLITE_OK; -} - -static int -vroute_commit (sqlite3_vtab * pVTab) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - return SQLITE_OK; -} - -static int -vroute_rollback (sqlite3_vtab * pVTab) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - return SQLITE_OK; -} - -static int -vroute_rename (sqlite3_vtab * pVTab, const char *zNew) -{ -/* BEGIN TRANSACTION */ - if (pVTab) - pVTab = pVTab; /* unused arg warning suppression */ - if (zNew) - zNew = zNew; /* unused arg warning suppression */ - return SQLITE_ERROR; -} - -static int -splitevirtualroutingInit (sqlite3 * db) -{ - int rc = SQLITE_OK; - my_route_module.iVersion = 1; - my_route_module.xCreate = &vroute_create; - my_route_module.xConnect = &vroute_connect; - my_route_module.xBestIndex = &vroute_best_index; - my_route_module.xDisconnect = &vroute_disconnect; - my_route_module.xDestroy = &vroute_destroy; - my_route_module.xOpen = &vroute_open; - my_route_module.xClose = &vroute_close; - my_route_module.xFilter = &vroute_filter; - my_route_module.xNext = &vroute_next; - my_route_module.xEof = &vroute_eof; - my_route_module.xColumn = &vroute_column; - my_route_module.xRowid = &vroute_rowid; - my_route_module.xUpdate = &vroute_update; - my_route_module.xBegin = &vroute_begin; - my_route_module.xSync = &vroute_sync; - my_route_module.xCommit = &vroute_commit; - my_route_module.xRollback = &vroute_rollback; - my_route_module.xFindFunction = NULL; - my_route_module.xRename = &vroute_rename; - sqlite3_create_module_v2 (db, "virtualrouting", &my_route_module, NULL, 0); - return rc; -} - -SPATIALITE_PRIVATE int -virtualrouting_extension_init (void *xdb) -{ - sqlite3 *db = (sqlite3 *) xdb; - return splitevirtualroutingInit (db); -} Index: src/spatialite/virtualshape.c ================================================================== --- src/spatialite/virtualshape.c +++ src/spatialite/virtualshape.c @@ -1,10 +1,10 @@ /* virtualshape.c -- SQLite3 extension [VIRTUAL TABLE accessing Shapefile] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -160,35 +160,10 @@ return 1; } return 0; } -static char * -convert_dbf_colname_case (const char *buf, int colname_case) -{ -/* converts a DBF column-name to Lower- or Upper-case */ - int len = strlen (buf); - char *clean = malloc (len + 1); - char *p = clean; - strcpy (clean, buf); - while (*p != '\0') - { - if (colname_case == GAIA_DBF_COLNAME_LOWERCASE) - { - if (*p >= 'A' && *p <= 'Z') - *p = *p - 'A' + 'a'; - } - if (colname_case == GAIA_DBF_COLNAME_UPPERCASE) - { - if (*p >= 'a' && *p <= 'z') - *p = *p - 'a' + 'A'; - } - p++; - } - return clean; -} - static int vshp_create (sqlite3 * db, void *pAux, int argc, const char *const *argv, sqlite3_vtab ** ppVTab, char **pzErr) { /* creates the virtual table connected to some shapefile */ @@ -195,12 +170,10 @@ char *sql; VirtualShapePtr p_vt; char path[2048]; char encoding[128]; const char *pEncoding = NULL; - char ColnameCase[128]; - const char *pColnameCase; int len; const char *pPath = NULL; int srid; gaiaDbfFieldPtr pFld; int cnt; @@ -207,19 +180,18 @@ int col_cnt; int seed; int dup; int idup; int text_dates = 0; - int colname_case = GAIA_DBF_COLNAME_LOWERCASE; char *xname; char **col_name = NULL; int geotype; gaiaOutBuffer sql_statement; if (pAux) pAux = pAux; /* unused arg warning suppression */ /* checking for shapefile PATH */ - if (argc == 6 || argc == 7 || argc == 8) + if (argc == 6 || argc == 7) { pPath = argv[3]; len = strlen (pPath); if ((*(pPath + 0) == '\'' || *(pPath + 0) == '"') && (*(pPath + len - 1) == '\'' || *(pPath + len - 1) == '"')) @@ -245,42 +217,18 @@ else strcpy (encoding, pEncoding); srid = atoi (argv[5]); if (srid < 0) srid = -1; - if (argc >= 7) + if (argc == 7) text_dates = atoi (argv[6]); - if (argc >= 8) - { - pColnameCase = argv[7]; - len = strlen (pColnameCase); - if ((*(pColnameCase + 0) == '\'' || *(pColnameCase + 0) == '"') - && (*(pColnameCase + len - 1) == '\'' - || *(pColnameCase + len - 1) == '"')) - { - /* the charset-name is enclosed between quotes - we need to dequote it */ - strcpy (ColnameCase, pColnameCase + 1); - len = strlen (ColnameCase); - *(ColnameCase + len - 1) = '\0'; - } - else - strcpy (ColnameCase, pColnameCase); - if (strcasecmp (ColnameCase, "uppercase") == 0 - || strcasecmp (ColnameCase, "upper") == 0) - colname_case = GAIA_DBF_COLNAME_UPPERCASE; - else if (strcasecmp (ColnameCase, "samecase") == 0 - || strcasecmp (ColnameCase, "same") == 0) - colname_case = GAIA_DBF_COLNAME_CASE_IGNORE; - else - colname_case = GAIA_DBF_COLNAME_LOWERCASE; - } } else { *pzErr = sqlite3_mprintf - ("[VirtualShape module] CREATE VIRTUAL: illegal arg list {shp_path, encoding, srid [ , text_dates [ , colname_case ]] }"); + ("[VirtualShape module] CREATE VIRTUAL: illegal arg list {shp_path, encoding, srid}"); return SQLITE_ERROR; } p_vt = (VirtualShapePtr) sqlite3_malloc (sizeof (VirtualShape)); if (!p_vt) return SQLITE_NOMEM; @@ -321,22 +269,13 @@ gaiaShpAnalyze (p_vt->Shp); } /* preparing the COLUMNs for this VIRTUAL TABLE */ gaiaOutBufferInitialize (&sql_statement); xname = gaiaDoubleQuotedSql (argv[2]); - if (colname_case == GAIA_DBF_COLNAME_LOWERCASE) - sql = - sqlite3_mprintf - ("CREATE TABLE \"%s\" (pkuid INTEGER, geometry BLOB", xname); - else if (colname_case == GAIA_DBF_COLNAME_UPPERCASE) - sql = - sqlite3_mprintf - ("CREATE TABLE \"%s\" (PKUID INTEGER, GEOMETRY BLOB", xname); - else - sql = - sqlite3_mprintf - ("CREATE TABLE \"%s\" (PKUID INTEGER, Geometry BLOB", xname); + sql = + sqlite3_mprintf ("CREATE TABLE \"%s\" (PKUID INTEGER, Geometry BLOB", + xname); free (xname); gaiaAppendToOutBuffer (&sql_statement, sql); sqlite3_free (sql); /* checking for duplicate / illegal column names and antialising them */ col_cnt = 0; @@ -351,13 +290,11 @@ cnt = 0; seed = 0; pFld = p_vt->Shp->Dbf->First; while (pFld) { - char *casename = convert_dbf_colname_case (pFld->Name, colname_case); - xname = gaiaDoubleQuotedSql (casename); - free (casename); + xname = gaiaDoubleQuotedSql (pFld->Name); dup = 0; for (idup = 0; idup < cnt; idup++) { if (strcasecmp (xname, *(col_name + idup)) == 0) dup = 1; @@ -368,13 +305,11 @@ dup = 1; if (dup) { free (xname); sql = sqlite3_mprintf ("COL_%d", seed++); - casename = convert_dbf_colname_case (sql, colname_case); xname = gaiaDoubleQuotedSql (sql); - free (casename); sqlite3_free (sql); } if (pFld->Type == 'N') { if (pFld->Decimals > 0 || pFld->Length > 18) @@ -698,24 +633,13 @@ if (cursor->blobGeometry) { free (cursor->blobGeometry); cursor->blobGeometry = NULL; } - while (1) - { - ret = - gaiaReadShpEntity_ex (cursor->pVtab->Shp, cursor->current_row, - cursor->pVtab->Srid, - cursor->pVtab->text_dates); - if (ret < 0) - { - /* skkipping a DBF deleted Row */ - cursor->current_row += 1; - continue; - } - break; - } + ret = + gaiaReadShpEntity_ex (cursor->pVtab->Shp, cursor->current_row, + cursor->pVtab->Srid, cursor->pVtab->text_dates); if (!ret) { if (!(cursor->pVtab->Shp->LastError)) /* normal SHP EOF */ { cursor->eof = 1; @@ -1010,16 +934,10 @@ break; case SQLITE_INDEX_CONSTRAINT_GE: if (ret >= 0) ok = 1; break; -#ifdef HAVE_DECL_SQLITE_INDEX_CONSTRAINT_LIKE - case SQLITE_INDEX_CONSTRAINT_LIKE: - if (ret >= 0) - ok = 1; - break; -#endif }; } break; }; } Index: src/spatialite/virtualspatialindex.c ================================================================== --- src/spatialite/virtualspatialindex.c +++ src/spatialite/virtualspatialindex.c @@ -1,10 +1,10 @@ /* virtualspatialindex.c -- SQLite3 extension [VIRTUAL TABLE RTree metahandler] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -171,11 +171,11 @@ } } sqlite3_finalize (stmt); if (count != 1) return 0; - if (validateRowid (sqlite, table_name)) + if (!validateRowid (sqlite, table_name)) { free (rt); free (rg); return 0; } @@ -635,11 +635,11 @@ int argc, sqlite3_value ** argv) { /* setting up a cursor filter */ char *db_prefix = NULL; char *table_name = NULL; - char *geom_column = NULL; + char *geom_column; char *xtable = NULL; char *xgeom = NULL; char *idx_name; char *idx_nameQ; char *sql_statement; Index: src/spatialite/virtualxpath.c ================================================================== --- src/spatialite/virtualxpath.c +++ src/spatialite/virtualxpath.c @@ -1,10 +1,10 @@ /* virtualxpath.c -- SQLite3 extension [VIRTUAL XPath handler] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of Index: src/srsinit/Makefile.in ================================================================== --- src/srsinit/Makefile.in +++ src/srsinit/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,18 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/srsinit +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -273,11 +264,10 @@ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ @@ -509,10 +499,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/srsinit/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/srsinit/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -1688,11 +1679,9 @@ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/srsinit/epsg_inlined_00.c ================================================================== --- src/srsinit/epsg_inlined_00.c +++ src/srsinit/epsg_inlined_00.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -382,13 +378,13 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 2 (deprecated)\",GEOG"); add_srs_wkt (p, 1, "CS[\"NAD27(CGQ77)\",DATUM[\"North_American_Datum_1927_CG"); add_srs_wkt (p, 2, - "Q77\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389"); + "Q77\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390"); add_srs_wkt (p, 3, - "82,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"66"); + "06,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"66"); add_srs_wkt (p, 4, "09\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 6, @@ -419,11 +415,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 3\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -456,11 +452,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 4\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -493,11 +489,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 5\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -530,11 +526,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 6\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -567,11 +563,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 7\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -604,11 +600,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 8\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -641,11 +637,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 9\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -678,11 +674,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / SCoPQ zone 10\",GEOGCS[\"NAD27(C"); add_srs_wkt (p, 1, "GQ77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHERO"); add_srs_wkt (p, 2, - "ID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY"); + "ID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY"); add_srs_wkt (p, 3, "[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIME"); add_srs_wkt (p, 4, "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); add_srs_wkt (p, 5, @@ -715,11 +711,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 8\",GEOGCS[\"NAD27(76)\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clark"); add_srs_wkt (p, 2, - "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\","); + "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, "\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Greenw"); add_srs_wkt (p, 4, "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); add_srs_wkt (p, 5, @@ -752,11 +748,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 9\",GEOGCS[\"NAD27(76)\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clark"); add_srs_wkt (p, 2, - "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\","); + "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, "\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Greenw"); add_srs_wkt (p, 4, "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); add_srs_wkt (p, 5, @@ -789,11 +785,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 10\",GEOGCS[\"NAD27(76)\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -826,11 +822,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 11\",GEOGCS[\"NAD27(76)\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -863,11 +859,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 12\",GEOGCS[\"NAD27(76)\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -900,11 +896,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 13\",GEOGCS[\"NAD27(76)\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -937,11 +933,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 14\",GEOGCS[\"NAD27(76)\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -974,11 +970,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 15\",GEOGCS[\"NAD27(76)\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -1011,11 +1007,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 16\",GEOGCS[\"NAD27(76)\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -1048,11 +1044,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / MTM zone 17\",GEOGCS[\"NAD27(76)\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -1083,11 +1079,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / UTM zone 15N\",GEOGCS[\"NAD27(76)\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -1118,11 +1114,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / UTM zone 16N\",GEOGCS[\"NAD27(76)\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -1153,11 +1149,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / UTM zone 17N\",GEOGCS[\"NAD27(76)\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -1188,11 +1184,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(76) / UTM zone 18N\",GEOGCS[\"NAD27(76)\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927_1976\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6608\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -1223,11 +1219,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / UTM zone 17N\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -1258,11 +1254,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / UTM zone 18N\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -1293,11 +1289,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / UTM zone 19N\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -1328,11 +1324,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / UTM zone 20N\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -1363,11 +1359,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / UTM zone 21N\",GEOGCS[\"NAD27(CG"); add_srs_wkt (p, 1, "Q77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -2410,11 +2406,11 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=40 +lat_0=40 +lon_0=0 +k_0=0.9988085293"); add_proj4text (p, 1, " +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.1426695"); add_proj4text (p, 2, - "62 +pm=madrid +units=m +no_defs"); + "61 +pm=madrid +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Madrid 1870 (Madrid) / Spain\",GEOGCS[\"Madrid "); add_srs_wkt (p, 1, "1870 (Madrid)\",DATUM[\"Madrid_1870_Madrid\",SPHEROID[\""); add_srs_wkt (p, 2, @@ -2453,11 +2449,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Dabola 1981 / UTM zone 28N (deprecated)\",GEOGC"); add_srs_wkt (p, 1, "S[\"Conakry 1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\""); + "rke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"7011\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY["); add_srs_wkt (p, 4, "\"EPSG\",\"6315\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, @@ -2490,11 +2486,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Dabola 1981 / UTM zone 29N (deprecated)\",GEOGC"); add_srs_wkt (p, 1, "S[\"Conakry 1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\""); + "rke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"7011\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY["); add_srs_wkt (p, 4, "\"EPSG\",\"6315\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, @@ -2574,11 +2570,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Mount Dillon / Tobago Grid\",GEOGCS[\"Mount Dil"); add_srs_wkt (p, 1, "lon\",DATUM[\"Mount_Dillon\",SPHEROID[\"Clarke 1858\",63"); add_srs_wkt (p, 2, - "78293.645208759,294.2606763692606,AUTHORITY[\"EPSG\",\"7"); + "78293.645208759,294.2606763692569,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "007\"]],AUTHORITY[\"EPSG\",\"6157\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -2642,138 +2638,216 @@ "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", "X", "East", "Y", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9999 +x_0=200000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,0"); + "=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,0"); add_proj4text (p, 2, - ",0,0 +units=m +no_defs"); + ",0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"ELD79 / Libya zone 5\",GEOGCS[\"ELD79\",DATUM[\""); add_srs_wkt (p, 1, "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); add_srs_wkt (p, 2, "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 4, - "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); - add_srs_wkt (p, 5, - "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); - add_srs_wkt (p, 6, - "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu"); - add_srs_wkt (p, 7, - "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); - add_srs_wkt (p, 8, - "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fac"); - add_srs_wkt (p, 10, - "tor\",0.9999],PARAMETER[\"false_easting\",200000],PARAME"); - add_srs_wkt (p, 11, - "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E"); - add_srs_wkt (p, 12, - "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH"); - add_srs_wkt (p, 13, - "ORITY[\"EPSG\",\"2068\"]]"); + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",9],PARAMETER[\"scale_facto"); + add_srs_wkt (p, 10, + "r\",0.9999],PARAMETER[\"false_easting\",200000],PARAMETE"); + add_srs_wkt (p, 11, + "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS"); + add_srs_wkt (p, 12, + "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR"); + add_srs_wkt (p, 13, + "ITY[\"EPSG\",\"2068\"]]"); p = add_epsg_def_ex (filter, first, last, 2069, "epsg", 2069, "ELD79 / Libya zone 6", 0, 0, "International 1924", "Greenwich", "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", "X", "East", "Y", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9999 +x_0=200000 +y_"); add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); + "0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"ELD79 / Libya zone 6\",GEOGCS[\"ELD79\",DATUM[\""); add_srs_wkt (p, 1, "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); add_srs_wkt (p, 2, "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 4, - "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); - add_srs_wkt (p, 5, - "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); - add_srs_wkt (p, 6, - "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu"); - add_srs_wkt (p, 7, - "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); - add_srs_wkt (p, 8, - "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"central_meridian\",11],PARAMETER[\"scale_fa"); - add_srs_wkt (p, 10, - "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM"); - add_srs_wkt (p, 11, - "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2069\"]]"); + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",11],PARAMETER[\"scale_fact"); + add_srs_wkt (p, 10, + "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET"); + add_srs_wkt (p, 11, + "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 12, + "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO"); + add_srs_wkt (p, 13, + "RITY[\"EPSG\",\"2069\"]]"); p = add_epsg_def_ex (filter, first, last, 2070, "epsg", 2070, "ELD79 / Libya zone 7", 0, 0, "International 1924", "Greenwich", "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", "X", "East", "Y", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9999 +x_0=200000 +y_"); add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); + "0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"ELD79 / Libya zone 7\",GEOGCS[\"ELD79\",DATUM[\""); add_srs_wkt (p, 1, "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); add_srs_wkt (p, 2, "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 4, - "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); - add_srs_wkt (p, 5, - "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); - add_srs_wkt (p, 6, - "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu"); - add_srs_wkt (p, 7, - "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); - add_srs_wkt (p, 8, - "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"central_meridian\",13],PARAMETER[\"scale_fa"); - add_srs_wkt (p, 10, - "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM"); - add_srs_wkt (p, 11, - "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2070\"]]"); + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",13],PARAMETER[\"scale_fact"); + add_srs_wkt (p, 10, + "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET"); + add_srs_wkt (p, 11, + "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 12, + "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO"); + add_srs_wkt (p, 13, + "RITY[\"EPSG\",\"2070\"]]"); p = add_epsg_def_ex (filter, first, last, 2071, "epsg", 2071, "ELD79 / Libya zone 8", 0, 0, "International 1924", "Greenwich", "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", "X", "East", "Y", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=200000 +y_"); add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); + "0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"ELD79 / Libya zone 8\",GEOGCS[\"ELD79\",DATUM[\""); add_srs_wkt (p, 1, "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); add_srs_wkt (p, 2, "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fact"); + add_srs_wkt (p, 10, + "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET"); + add_srs_wkt (p, 11, + "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 12, + "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO"); + add_srs_wkt (p, 13, + "RITY[\"EPSG\",\"2071\"]]"); + p = add_epsg_def_ex (filter, first, last, 2072, "epsg", 2072, + "ELD79 / Libya zone 9", 0, 0, + "International 1924", "Greenwich", + "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_"); + add_proj4text (p, 1, + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"ELD79 / Libya zone 9\",GEOGCS[\"ELD79\",DATUM[\""); + add_srs_wkt (p, 1, + "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); + add_srs_wkt (p, 2, + "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); + add_srs_wkt (p, 3, + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",17],PARAMETER[\"scale_fact"); + add_srs_wkt (p, 10, + "or\",0.9999],PARAMETER[\"false_easting\",200000],PARAMET"); + add_srs_wkt (p, 11, + "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 12, + "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO"); + add_srs_wkt (p, 13, + "RITY[\"EPSG\",\"2072\"]]"); + p = add_epsg_def_ex (filter, first, last, 2073, "epsg", 2073, + "ELD79 / Libya zone 10", 0, 0, + "International 1924", "Greenwich", + "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_"); + add_proj4text (p, 1, + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"ELD79 / Libya zone 10\",GEOGCS[\"ELD79\",DATUM["); + add_srs_wkt (p, 1, + "\"European_Libyan_Datum_1979\",SPHEROID[\"International "); + add_srs_wkt (p, 2, + "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84"); + add_srs_wkt (p, 3, + "[-115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 4, "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); add_srs_wkt (p, 5, "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); add_srs_wkt (p, 6, @@ -2781,94 +2855,16 @@ add_srs_wkt (p, 7, "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); add_srs_wkt (p, 8, "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); add_srs_wkt (p, 9, - ",PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fa"); + ",PARAMETER[\"central_meridian\",19],PARAMETER[\"scale_fa"); add_srs_wkt (p, 10, "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM"); add_srs_wkt (p, 11, "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2071\"]]"); - p = add_epsg_def_ex (filter, first, last, 2072, "epsg", 2072, - "ELD79 / Libya zone 9", 0, 0, - "International 1924", "Greenwich", - "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_"); - add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"ELD79 / Libya zone 9\",GEOGCS[\"ELD79\",DATUM[\""); - add_srs_wkt (p, 1, - "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); - add_srs_wkt (p, 2, - "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); - add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 4, - "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); - add_srs_wkt (p, 5, - "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); - add_srs_wkt (p, 6, - "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu"); - add_srs_wkt (p, 7, - "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); - add_srs_wkt (p, 8, - "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"central_meridian\",17],PARAMETER[\"scale_fa"); - add_srs_wkt (p, 10, - "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM"); - add_srs_wkt (p, 11, - "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2072\"]]"); - p = add_epsg_def_ex (filter, first, last, 2073, "epsg", 2073, - "ELD79 / Libya zone 10", 0, 0, - "International 1924", "Greenwich", - "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_"); - add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"ELD79 / Libya zone 10\",GEOGCS[\"ELD79\",DATUM["); - add_srs_wkt (p, 1, - "\"European_Libyan_Datum_1979\",SPHEROID[\"International "); - add_srs_wkt (p, 2, - "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84"); - add_srs_wkt (p, 3, - "[-115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 4, - ",\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); - add_srs_wkt (p, 5, - "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); - add_srs_wkt (p, 6, - "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); - add_srs_wkt (p, 7, - "ude\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"T"); - add_srs_wkt (p, 8, - "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0"); - add_srs_wkt (p, 9, - "],PARAMETER[\"central_meridian\",19],PARAMETER[\"scale_f"); - add_srs_wkt (p, 10, - "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); add_srs_wkt (p, 13, "HORITY[\"EPSG\",\"2073\"]]"); p = add_epsg_def_ex (filter, first, last, 2074, "epsg", 2074, "ELD79 / Libya zone 11", 0, 0, @@ -2876,210 +2872,21 @@ "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", "X", "East", "Y", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=200000 +y_"); add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); + "0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"ELD79 / Libya zone 11\",GEOGCS[\"ELD79\",DATUM["); add_srs_wkt (p, 1, "\"European_Libyan_Datum_1979\",SPHEROID[\"International "); add_srs_wkt (p, 2, "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84"); add_srs_wkt (p, 3, - "[-115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 4, - ",\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); - add_srs_wkt (p, 5, - "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); - add_srs_wkt (p, 6, - "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); - add_srs_wkt (p, 7, - "ude\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"T"); - add_srs_wkt (p, 8, - "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0"); - add_srs_wkt (p, 9, - "],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_f"); - add_srs_wkt (p, 10, - "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2074\"]]"); - p = add_epsg_def_ex (filter, first, last, 2075, "epsg", 2075, - "ELD79 / Libya zone 12", 0, 0, - "International 1924", "Greenwich", - "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_"); - add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"ELD79 / Libya zone 12\",GEOGCS[\"ELD79\",DATUM["); - add_srs_wkt (p, 1, - "\"European_Libyan_Datum_1979\",SPHEROID[\"International "); - add_srs_wkt (p, 2, - "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84"); - add_srs_wkt (p, 3, - "[-115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 4, - ",\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); - add_srs_wkt (p, 5, - "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); - add_srs_wkt (p, 6, - "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); - add_srs_wkt (p, 7, - "ude\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"T"); - add_srs_wkt (p, 8, - "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0"); - add_srs_wkt (p, 9, - "],PARAMETER[\"central_meridian\",23],PARAMETER[\"scale_f"); - add_srs_wkt (p, 10, - "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2075\"]]"); - p = add_epsg_def_ex (filter, first, last, 2076, "epsg", 2076, - "ELD79 / Libya zone 13", 0, 0, - "International 1924", "Greenwich", - "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_"); - add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"ELD79 / Libya zone 13\",GEOGCS[\"ELD79\",DATUM["); - add_srs_wkt (p, 1, - "\"European_Libyan_Datum_1979\",SPHEROID[\"International "); - add_srs_wkt (p, 2, - "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84"); - add_srs_wkt (p, 3, - "[-115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 4, - ",\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); - add_srs_wkt (p, 5, - "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); - add_srs_wkt (p, 6, - "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); - add_srs_wkt (p, 7, - "ude\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"T"); - add_srs_wkt (p, 8, - "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0"); - add_srs_wkt (p, 9, - "],PARAMETER[\"central_meridian\",25],PARAMETER[\"scale_f"); - add_srs_wkt (p, 10, - "actor\",0.9999],PARAMETER[\"false_easting\",200000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2076\"]]"); - p = add_epsg_def_ex (filter, first, last, 2077, "epsg", 2077, - "ELD79 / UTM zone 32N", 0, 0, - "International 1924", "Greenwich", - "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", - "Easting", "East", "Northing", "North"); - add_proj4text (p, 0, - "+proj=utm +zone=32 +ellps=intl +towgs84=-115.8543,-99.05"); - add_proj4text (p, 1, - "83,-152.4616,0,0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"ELD79 / UTM zone 32N\",GEOGCS[\"ELD79\",DATUM[\""); - add_srs_wkt (p, 1, - "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); - add_srs_wkt (p, 2, - "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); - add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 4, - "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); - add_srs_wkt (p, 5, - "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); - add_srs_wkt (p, 6, - "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu"); - add_srs_wkt (p, 7, - "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); - add_srs_wkt (p, 8, - "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fac"); - add_srs_wkt (p, 10, - "tor\",0.9996],PARAMETER[\"false_easting\",500000],PARAME"); - add_srs_wkt (p, 11, - "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E"); - add_srs_wkt (p, 12, - "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\""); - add_srs_wkt (p, 13, - ",NORTH],AUTHORITY[\"EPSG\",\"2077\"]]"); - p = add_epsg_def_ex (filter, first, last, 2078, "epsg", 2078, - "ELD79 / UTM zone 33N", 0, 0, - "International 1924", "Greenwich", - "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", - "Easting", "East", "Northing", "North"); - add_proj4text (p, 0, - "+proj=utm +zone=33 +ellps=intl +towgs84=-115.8543,-99.05"); - add_proj4text (p, 1, - "83,-152.4616,0,0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"ELD79 / UTM zone 33N\",GEOGCS[\"ELD79\",DATUM[\""); - add_srs_wkt (p, 1, - "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); - add_srs_wkt (p, 2, - "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); - add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 4, - "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); - add_srs_wkt (p, 5, - "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); - add_srs_wkt (p, 6, - "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu"); - add_srs_wkt (p, 7, - "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); - add_srs_wkt (p, 8, - "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fa"); - add_srs_wkt (p, 10, - "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM"); - add_srs_wkt (p, 11, - "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing"); - add_srs_wkt (p, 13, - "\",NORTH],AUTHORITY[\"EPSG\",\"2078\"]]"); - p = add_epsg_def_ex (filter, first, last, 2079, "epsg", 2079, - "ELD79 / UTM zone 34N", 0, 0, - "International 1924", "Greenwich", - "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", - "Easting", "East", "Northing", "North"); - add_proj4text (p, 0, - "+proj=utm +zone=34 +ellps=intl +towgs84=-115.8543,-99.05"); - add_proj4text (p, 1, - "83,-152.4616,0,0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"ELD79 / UTM zone 34N\",GEOGCS[\"ELD79\",DATUM[\""); - add_srs_wkt (p, 1, - "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); - add_srs_wkt (p, 2, - "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); - add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); + "[-115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 4, "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); add_srs_wkt (p, 5, "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); add_srs_wkt (p, 6, @@ -3089,34 +2896,75 @@ add_srs_wkt (p, 8, "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); add_srs_wkt (p, 9, ",PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_fa"); add_srs_wkt (p, 10, - "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM"); + "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM"); + add_srs_wkt (p, 11, + "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); + add_srs_wkt (p, 12, + "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); + add_srs_wkt (p, 13, + "HORITY[\"EPSG\",\"2074\"]]"); + p = add_epsg_def_ex (filter, first, last, 2075, "epsg", 2075, + "ELD79 / Libya zone 12", 0, 0, + "International 1924", "Greenwich", + "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_"); + add_proj4text (p, 1, + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"ELD79 / Libya zone 12\",GEOGCS[\"ELD79\",DATUM["); + add_srs_wkt (p, 1, + "\"European_Libyan_Datum_1979\",SPHEROID[\"International "); + add_srs_wkt (p, 2, + "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84"); + add_srs_wkt (p, 3, + "[-115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\","); + add_srs_wkt (p, 4, + "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); + add_srs_wkt (p, 5, + "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); + add_srs_wkt (p, 6, + "PSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitu"); + add_srs_wkt (p, 7, + "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); + add_srs_wkt (p, 8, + "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); + add_srs_wkt (p, 9, + ",PARAMETER[\"central_meridian\",23],PARAMETER[\"scale_fa"); + add_srs_wkt (p, 10, + "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM"); add_srs_wkt (p, 11, "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing"); + "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); add_srs_wkt (p, 13, - "\",NORTH],AUTHORITY[\"EPSG\",\"2079\"]]"); - p = add_epsg_def_ex (filter, first, last, 2080, "epsg", 2080, - "ELD79 / UTM zone 35N", 0, 0, + "HORITY[\"EPSG\",\"2075\"]]"); + p = add_epsg_def_ex (filter, first, last, 2076, "epsg", 2076, + "ELD79 / Libya zone 13", 0, 0, "International 1924", "Greenwich", "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", - "Easting", "East", "Northing", "North"); + "X", "East", "Y", "North"); add_proj4text (p, 0, - "+proj=utm +zone=35 +ellps=intl +towgs84=-115.8543,-99.05"); + "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_"); add_proj4text (p, 1, - "83,-152.4616,0,0,0,0 +units=m +no_defs"); + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"ELD79 / UTM zone 35N\",GEOGCS[\"ELD79\",DATUM[\""); + "PROJCS[\"ELD79 / Libya zone 13\",GEOGCS[\"ELD79\",DATUM["); add_srs_wkt (p, 1, - "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); + "\"European_Libyan_Datum_1979\",SPHEROID[\"International "); add_srs_wkt (p, 2, - "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); + "1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84"); add_srs_wkt (p, 3, - "115.8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\","); + "[-115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 4, "\"6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); add_srs_wkt (p, 5, "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); add_srs_wkt (p, 6, @@ -3124,19 +2972,167 @@ add_srs_wkt (p, 7, "de\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tr"); add_srs_wkt (p, 8, "ansverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0]"); add_srs_wkt (p, 9, - ",PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fa"); + ",PARAMETER[\"central_meridian\",25],PARAMETER[\"scale_fa"); add_srs_wkt (p, 10, - "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM"); + "ctor\",0.9999],PARAMETER[\"false_easting\",200000],PARAM"); add_srs_wkt (p, 11, "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing"); - add_srs_wkt (p, 13, - "\",NORTH],AUTHORITY[\"EPSG\",\"2080\"]]"); + "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); + add_srs_wkt (p, 13, + "HORITY[\"EPSG\",\"2076\"]]"); + p = add_epsg_def_ex (filter, first, last, 2077, "epsg", 2077, + "ELD79 / UTM zone 32N", 0, 0, + "International 1924", "Greenwich", + "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", + "Easting", "East", "Northing", "North"); + add_proj4text (p, 0, + "+proj=utm +zone=32 +ellps=intl +towgs84=-115.854,-99.058"); + add_proj4text (p, 1, + "3,-152.462,0,0,0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"ELD79 / UTM zone 32N\",GEOGCS[\"ELD79\",DATUM[\""); + add_srs_wkt (p, 1, + "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); + add_srs_wkt (p, 2, + "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); + add_srs_wkt (p, 3, + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",9],PARAMETER[\"scale_facto"); + add_srs_wkt (p, 10, + "r\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETE"); + add_srs_wkt (p, 11, + "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS"); + add_srs_wkt (p, 12, + "G\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\","); + add_srs_wkt (p, 13, + "NORTH],AUTHORITY[\"EPSG\",\"2077\"]]"); + p = add_epsg_def_ex (filter, first, last, 2078, "epsg", 2078, + "ELD79 / UTM zone 33N", 0, 0, + "International 1924", "Greenwich", + "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", + "Easting", "East", "Northing", "North"); + add_proj4text (p, 0, + "+proj=utm +zone=33 +ellps=intl +towgs84=-115.854,-99.058"); + add_proj4text (p, 1, + "3,-152.462,0,0,0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"ELD79 / UTM zone 33N\",GEOGCS[\"ELD79\",DATUM[\""); + add_srs_wkt (p, 1, + "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); + add_srs_wkt (p, 2, + "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); + add_srs_wkt (p, 3, + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",15],PARAMETER[\"scale_fact"); + add_srs_wkt (p, 10, + "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET"); + add_srs_wkt (p, 11, + "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 12, + "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\""); + add_srs_wkt (p, 13, + ",NORTH],AUTHORITY[\"EPSG\",\"2078\"]]"); + p = add_epsg_def_ex (filter, first, last, 2079, "epsg", 2079, + "ELD79 / UTM zone 34N", 0, 0, + "International 1924", "Greenwich", + "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", + "Easting", "East", "Northing", "North"); + add_proj4text (p, 0, + "+proj=utm +zone=34 +ellps=intl +towgs84=-115.854,-99.058"); + add_proj4text (p, 1, + "3,-152.462,0,0,0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"ELD79 / UTM zone 34N\",GEOGCS[\"ELD79\",DATUM[\""); + add_srs_wkt (p, 1, + "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); + add_srs_wkt (p, 2, + "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); + add_srs_wkt (p, 3, + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",21],PARAMETER[\"scale_fact"); + add_srs_wkt (p, 10, + "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET"); + add_srs_wkt (p, 11, + "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 12, + "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\""); + add_srs_wkt (p, 13, + ",NORTH],AUTHORITY[\"EPSG\",\"2079\"]]"); + p = add_epsg_def_ex (filter, first, last, 2080, "epsg", 2080, + "ELD79 / UTM zone 35N", 0, 0, + "International 1924", "Greenwich", + "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", + "Easting", "East", "Northing", "North"); + add_proj4text (p, 0, + "+proj=utm +zone=35 +ellps=intl +towgs84=-115.854,-99.058"); + add_proj4text (p, 1, + "3,-152.462,0,0,0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"ELD79 / UTM zone 35N\",GEOGCS[\"ELD79\",DATUM[\""); + add_srs_wkt (p, 1, + "European_Libyan_Datum_1979\",SPHEROID[\"International 19"); + add_srs_wkt (p, 2, + "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); + add_srs_wkt (p, 3, + "115.854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 4, + "6159\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + add_srs_wkt (p, 5, + "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + add_srs_wkt (p, 6, + "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + add_srs_wkt (p, 7, + "\",EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Tran"); + add_srs_wkt (p, 8, + "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); + add_srs_wkt (p, 9, + "ARAMETER[\"central_meridian\",27],PARAMETER[\"scale_fact"); + add_srs_wkt (p, 10, + "or\",0.9996],PARAMETER[\"false_easting\",500000],PARAMET"); + add_srs_wkt (p, 11, + "ER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 12, + "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\""); + add_srs_wkt (p, 13, + ",NORTH],AUTHORITY[\"EPSG\",\"2080\"]]"); p = add_epsg_def_ex (filter, first, last, 2081, "epsg", 2081, "Chos Malal 1914 / Argentina 2", 0, 1, "International 1924", "Greenwich", "Chos_Malal_1914", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); @@ -3299,11 +3295,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Cuba Norte (deprecated)\",GEOGCS[\"NAD2"); add_srs_wkt (p, 1, "7\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clark"); add_srs_wkt (p, 2, - "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\","); + "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, "\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenw"); add_srs_wkt (p, 4, "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); add_srs_wkt (p, 5, @@ -3338,11 +3334,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Cuba Sur (deprecated)\",GEOGCS[\"NAD27\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1"); add_srs_wkt (p, 2, - "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7"); + "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -3369,33 +3365,33 @@ "European_Libyan_Datum_1979", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_"); add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,"); + "0=0 +ellps=intl +towgs84=-115.854,-99.0583,-152.462,0,0,"); add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); + "0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"ELD79 / TM 12 NE\",GEOGCS[\"ELD79\",DATUM[\"Eur"); add_srs_wkt (p, 1, "opean_Libyan_Datum_1979\",SPHEROID[\"International 1924\""); add_srs_wkt (p, 2, ",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-115."); add_srs_wkt (p, 3, - "8543,-99.0583,-152.4616,0,0,0,0],AUTHORITY[\"EPSG\",\"61"); + "854,-99.0583,-152.462,0,0,0,0],AUTHORITY[\"EPSG\",\"6159"); add_srs_wkt (p, 4, - "59\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); + "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); add_srs_wkt (p, 5, - "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\""); + "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 6, - ",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\","); + "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E"); add_srs_wkt (p, 7, - "EAST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Transve"); + "AST],AUTHORITY[\"EPSG\",\"4159\"]],PROJECTION[\"Transver"); add_srs_wkt (p, 8, - "rse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARA"); + "se_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAM"); add_srs_wkt (p, 9, - "METER[\"central_meridian\",12],PARAMETER[\"scale_factor\""); + "ETER[\"central_meridian\",12],PARAMETER[\"scale_factor\""); add_srs_wkt (p, 10, ",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\""); add_srs_wkt (p, 11, "false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 12, @@ -3416,11 +3412,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Carthage / TM 11 NE\",GEOGCS[\"Carthage\",DATUM"); add_srs_wkt (p, 1, "[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,2"); add_srs_wkt (p, 2, - "93.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-"); + "93.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-"); add_srs_wkt (p, 3, "263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRIMEM["); add_srs_wkt (p, 4, "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_01.c ================================================================== --- src/srsinit/epsg_inlined_01.c +++ src/srsinit/epsg_inlined_01.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -1551,11 +1547,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27(CGQ77) / Quebec Lambert\",GEOGCS[\"NAD27("); add_srs_wkt (p, 1, "CGQ77)\",DATUM[\"North_American_Datum_1927_CGQ77\",SPHER"); add_srs_wkt (p, 2, - "OID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORIT"); + "OID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORIT"); add_srs_wkt (p, 3, "Y[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6609\"]],PRIM"); add_srs_wkt (p, 4, "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 5, @@ -2222,11 +2218,11 @@ add_srs_wkt (p, 1, "eprecated)\",GEOGCS[\"American Samoa 1962\",DATUM[\"Amer"); add_srs_wkt (p, 2, "ican_Samoa_1962\",SPHEROID[\"Clarke 1866\",6378206.4,294"); add_srs_wkt (p, 3, - ".9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-11"); + ".9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-11"); add_srs_wkt (p, 4, "5,118,426,0,0,0,0],AUTHORITY[\"EPSG\",\"6169\"]],PRIMEM["); add_srs_wkt (p, 5, "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg"); add_srs_wkt (p, 6, @@ -2756,23 +2752,23 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=49.83333333333334 +lon_0=6.1666666666"); add_proj4text (p, 1, "66667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-"); add_proj4text (p, 2, - "189.6806,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.45"); + "189.681,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.459"); add_proj4text (p, 3, - "98 +units=m +no_defs"); + "8 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Luxembourg 1930 / Gauss\",GEOGCS[\"Luxembourg 1"); add_srs_wkt (p, 1, "930\",DATUM[\"Luxembourg_1930\",SPHEROID[\"International"); add_srs_wkt (p, 2, " 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS8"); add_srs_wkt (p, 3, - "4[-189.6806,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0"); + "4[-189.681,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0."); add_srs_wkt (p, 4, - ".4598],AUTHORITY[\"EPSG\",\"6181\"]],PRIMEM[\"Greenwich\""); + "4598],AUTHORITY[\"EPSG\",\"6181\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 5, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 6, "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud"); add_srs_wkt (p, 7, @@ -3488,11 +3484,11 @@ add_srs_wkt (p, 1, "eprecated)\",GEOGCS[\"American Samoa 1962\",DATUM[\"Amer"); add_srs_wkt (p, 2, "ican_Samoa_1962\",SPHEROID[\"Clarke 1866\",6378206.4,294"); add_srs_wkt (p, 3, - ".9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-11"); + ".9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-11"); add_srs_wkt (p, 4, "5,118,426,0,0,0,0],AUTHORITY[\"EPSG\",\"6169\"]],PRIMEM["); add_srs_wkt (p, 5, "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg"); add_srs_wkt (p, 6, @@ -3864,11 +3860,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Tennessee\",GEOGCS[\"NAD27\",DATUM[\"No"); add_srs_wkt (p, 1, "rth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",63782"); add_srs_wkt (p, 2, - "06.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUT"); + "06.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUT"); add_srs_wkt (p, 3, "HORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 4, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_02.c ================================================================== --- src/srsinit/epsg_inlined_02.c +++ src/srsinit/epsg_inlined_02.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -304,11 +300,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Manoca 1962 / UTM zone 32N\",GEOGCS[\"Manoca 19"); add_srs_wkt (p, 1, "62\",DATUM[\"Manoca_1962\",SPHEROID[\"Clarke 1880 (IGN)\""); add_srs_wkt (p, 2, - ",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\""); + ",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\""); add_srs_wkt (p, 3, "]],TOWGS84[-70.9,-151.8,-41.4,0,0,0,0],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6193\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, @@ -3822,11 +3818,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Trinidad 1903 / Trinidad Grid (ftCla)\",GEOGCS["); add_srs_wkt (p, 1, "\"Trinidad 1903\",DATUM[\"Trinidad_1903\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1858\",6378293.645208759,294.2606763692606,AUTHORITY"); + "rke 1858\",6378293.645208759,294.2606763692569,AUTHORITY"); add_srs_wkt (p, 3, "[\"EPSG\",\"7007\"]],TOWGS84[-61.702,284.488,472.052,0,0"); add_srs_wkt (p, 4, ",0,0],AUTHORITY[\"EPSG\",\"6302\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_03.c ================================================================== --- src/srsinit/epsg_inlined_03.c +++ src/srsinit/epsg_inlined_03.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -103,43 +99,43 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=22.31213333333334 +lon_0=114.17855555"); add_proj4text (p, 1, "55556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +tow"); add_proj4text (p, 2, - "gs84=-162.619,-276.959,-161.764,0.067753,-2.243649,-1.15"); + "gs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.158"); add_proj4text (p, 3, - "8827,-1.094246 +units=m +no_defs"); + "83,-1.09425 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Hong Kong 1980 Grid System\",GEOGCS[\"Hong Kong"); add_srs_wkt (p, 1, " 1980\",DATUM[\"Hong_Kong_1980\",SPHEROID[\"Internationa"); add_srs_wkt (p, 2, "l 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS"); add_srs_wkt (p, 3, - "84[-162.619,-276.959,-161.764,0.067753,-2.243649,-1.1588"); - add_srs_wkt (p, 4, - "27,-1.094246],AUTHORITY[\"EPSG\",\"6611\"]],PRIMEM[\"Gre"); - add_srs_wkt (p, 5, - "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); - add_srs_wkt (p, 6, - ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\""); - add_srs_wkt (p, 7, - "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E"); - add_srs_wkt (p, 8, - "PSG\",\"4611\"]],PROJECTION[\"Transverse_Mercator\"],PAR"); - add_srs_wkt (p, 9, - "AMETER[\"latitude_of_origin\",22.31213333333334],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"central_meridian\",114.1785555555556],PARAMETER[\"s"); - add_srs_wkt (p, 11, - "cale_factor\",1],PARAMETER[\"false_easting\",836694.05],"); - add_srs_wkt (p, 12, - "PARAMETER[\"false_northing\",819069.8],UNIT[\"metre\",1,"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],A"); + "84[-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883"); + add_srs_wkt (p, 4, + ",-1.09425],AUTHORITY[\"EPSG\",\"6611\"]],PRIMEM[\"Greenw"); + add_srs_wkt (p, 5, + "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); + add_srs_wkt (p, 6, + "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La"); + add_srs_wkt (p, 7, + "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS"); + add_srs_wkt (p, 8, + "G\",\"4611\"]],PROJECTION[\"Transverse_Mercator\"],PARAM"); + add_srs_wkt (p, 9, + "ETER[\"latitude_of_origin\",22.31213333333334],PARAMETER"); + add_srs_wkt (p, 10, + "[\"central_meridian\",114.1785555555556],PARAMETER[\"sca"); + add_srs_wkt (p, 11, + "le_factor\",1],PARAMETER[\"false_easting\",836694.05],PA"); + add_srs_wkt (p, 12, + "RAMETER[\"false_northing\",819069.8],UNIT[\"metre\",1,AU"); + add_srs_wkt (p, 13, + "THORITY[\"EPSG\",\"9001\"]],AXIS[\"Northing\",NORTH],AXI"); add_srs_wkt (p, 14, - "XIS[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2326\"]]"); + "S[\"Easting\",EAST],AUTHORITY[\"EPSG\",\"2326\"]]"); p = add_epsg_def_ex (filter, first, last, 2327, "epsg", 2327, "Xian 1980 / Gauss-Kruger zone 13", 0, 1, "IAG 1975", "Greenwich", "Xian_1980", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); Index: src/srsinit/epsg_inlined_04.c ================================================================== --- src/srsinit/epsg_inlined_04.c +++ src/srsinit/epsg_inlined_04.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -1481,567 +1477,528 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 21E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2463\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2463\"]]"); p = add_epsg_def_ex (filter, first, last, 2464, "epsg", 2464, "Pulkovo 1995 / Gauss-Kruger CM 27E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 27E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2464\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2464\"]]"); p = add_epsg_def_ex (filter, first, last, 2465, "epsg", 2465, "Pulkovo 1995 / Gauss-Kruger CM 33E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 33E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2465\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2465\"]]"); p = add_epsg_def_ex (filter, first, last, 2466, "epsg", 2466, "Pulkovo 1995 / Gauss-Kruger CM 39E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 39E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2466\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2466\"]]"); p = add_epsg_def_ex (filter, first, last, 2467, "epsg", 2467, "Pulkovo 1995 / Gauss-Kruger CM 45E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 45E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2467\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2467\"]]"); p = add_epsg_def_ex (filter, first, last, 2468, "epsg", 2468, "Pulkovo 1995 / Gauss-Kruger CM 51E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 51E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2468\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2468\"]]"); p = add_epsg_def_ex (filter, first, last, 2469, "epsg", 2469, "Pulkovo 1995 / Gauss-Kruger CM 57E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 57E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2469\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2469\"]]"); p = add_epsg_def_ex (filter, first, last, 2470, "epsg", 2470, "Pulkovo 1995 / Gauss-Kruger CM 63E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 63E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2470\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2470\"]]"); p = add_epsg_def_ex (filter, first, last, 2471, "epsg", 2471, "Pulkovo 1995 / Gauss-Kruger CM 69E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 69E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2471\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2471\"]]"); p = add_epsg_def_ex (filter, first, last, 2472, "epsg", 2472, "Pulkovo 1995 / Gauss-Kruger CM 75E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 75E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2472\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2472\"]]"); p = add_epsg_def_ex (filter, first, last, 2473, "epsg", 2473, "Pulkovo 1995 / Gauss-Kruger CM 81E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 81E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2473\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2473\"]]"); p = add_epsg_def_ex (filter, first, last, 2474, "epsg", 2474, "Pulkovo 1995 / Gauss-Kruger CM 87E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 87E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2474\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2474\"]]"); p = add_epsg_def_ex (filter, first, last, 2475, "epsg", 2475, "Pulkovo 1995 / Gauss-Kruger CM 93E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 93E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2475\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2475\"]]"); p = add_epsg_def_ex (filter, first, last, 2476, "epsg", 2476, "Pulkovo 1995 / Gauss-Kruger CM 99E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 99E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",500000],PARA"); - add_srs_wkt (p, 11, - "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); - add_srs_wkt (p, 12, - "EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUT"); - add_srs_wkt (p, 13, - "HORITY[\"EPSG\",\"2476\"]]"); - p = add_epsg_def_ex (filter, first, last, 2477, "epsg", 2477, - "Pulkovo 1995 / Gauss-Kruger CM 105E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 "); - add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); - add_proj4text (p, 2, - "2 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 105E\",GEOGCS[\""); - add_srs_wkt (p, 1, - "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); - add_srs_wkt (p, 2, - "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); - add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); add_srs_wkt (p, 4, "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 5, "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); add_srs_wkt (p, 6, @@ -2049,1208 +2006,1208 @@ add_srs_wkt (p, 7, "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); add_srs_wkt (p, 8, "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2477\"]]"); + "in\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); + add_srs_wkt (p, 11, + "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); + add_srs_wkt (p, 12, + "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); + add_srs_wkt (p, 13, + "UTHORITY[\"EPSG\",\"2476\"]]"); + p = add_epsg_def_ex (filter, first, last, 2477, "epsg", 2477, + "Pulkovo 1995 / Gauss-Kruger CM 105E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 "); + add_proj4text (p, 1, + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); + add_proj4text (p, 2, + ".22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 105E\",GEOGCS[\""); + add_srs_wkt (p, 1, + "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); + add_srs_wkt (p, 2, + "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); + add_srs_wkt (p, 3, + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",105],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2477\"]]"); p = add_epsg_def_ex (filter, first, last, 2478, "epsg", 2478, "Pulkovo 1995 / Gauss-Kruger CM 111E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 111E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2478\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",111],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2478\"]]"); p = add_epsg_def_ex (filter, first, last, 2479, "epsg", 2479, "Pulkovo 1995 / Gauss-Kruger CM 117E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 117E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",117],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2479\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",117],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2479\"]]"); p = add_epsg_def_ex (filter, first, last, 2480, "epsg", 2480, "Pulkovo 1995 / Gauss-Kruger CM 123E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 123E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",123],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2480\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",123],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2480\"]]"); p = add_epsg_def_ex (filter, first, last, 2481, "epsg", 2481, "Pulkovo 1995 / Gauss-Kruger CM 129E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 129E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",129],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2481\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",129],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2481\"]]"); p = add_epsg_def_ex (filter, first, last, 2482, "epsg", 2482, "Pulkovo 1995 / Gauss-Kruger CM 135E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 135E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2482\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",135],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2482\"]]"); p = add_epsg_def_ex (filter, first, last, 2483, "epsg", 2483, "Pulkovo 1995 / Gauss-Kruger CM 141E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 141E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",141],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2483\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",141],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2483\"]]"); p = add_epsg_def_ex (filter, first, last, 2484, "epsg", 2484, "Pulkovo 1995 / Gauss-Kruger CM 147E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 147E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",147],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2484\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",147],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2484\"]]"); p = add_epsg_def_ex (filter, first, last, 2485, "epsg", 2485, "Pulkovo 1995 / Gauss-Kruger CM 153E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 153E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",153],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2485\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",153],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2485\"]]"); p = add_epsg_def_ex (filter, first, last, 2486, "epsg", 2486, "Pulkovo 1995 / Gauss-Kruger CM 159E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 159E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",159],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2486\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",159],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2486\"]]"); p = add_epsg_def_ex (filter, first, last, 2487, "epsg", 2487, "Pulkovo 1995 / Gauss-Kruger CM 165E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 165E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",165],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2487\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",165],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2487\"]]"); p = add_epsg_def_ex (filter, first, last, 2488, "epsg", 2488, "Pulkovo 1995 / Gauss-Kruger CM 171E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 171E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",171],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2488\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",171],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2488\"]]"); p = add_epsg_def_ex (filter, first, last, 2489, "epsg", 2489, "Pulkovo 1995 / Gauss-Kruger CM 177E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 177E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",177],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2489\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",177],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"2489\"]]"); p = add_epsg_def_ex (filter, first, last, 2490, "epsg", 2490, "Pulkovo 1995 / Gauss-Kruger CM 177W", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 177W\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",-177],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2490\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",-177],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2490\"]]"); p = add_epsg_def_ex (filter, first, last, 2491, "epsg", 2491, "Pulkovo 1995 / Gauss-Kruger CM 171W", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger CM 171W\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",-171],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"2491\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",-171],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2491\"]]"); p = add_epsg_def_ex (filter, first, last, 2492, "epsg", 2492, "Pulkovo 1942 / Gauss-Kruger CM 9E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +e"); add_proj4text (p, 1, - "llps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.1"); + "llps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0."); add_proj4text (p, 2, - "2 +units=m +no_defs"); + "12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 9E (deprecated)\""); add_srs_wkt (p, 1, ",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID"); add_srs_wkt (p, 2, "[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, - "7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],"); - add_srs_wkt (p, 4, - "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); - add_srs_wkt (p, 5, - "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); - add_srs_wkt (p, 6, - "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); - add_srs_wkt (p, 7, - "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); - add_srs_wkt (p, 8, - "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); - add_srs_wkt (p, 9, - "ude_of_origin\",0],PARAMETER[\"central_meridian\",9],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2492\"]]"); + "7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12]"); + add_srs_wkt (p, 4, + ",AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AU"); + add_srs_wkt (p, 5, + "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); + add_srs_wkt (p, 6, + "199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",N"); + add_srs_wkt (p, 7, + "ORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284"); + add_srs_wkt (p, 8, + "\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"lat"); + add_srs_wkt (p, 9, + "itude_of_origin\",0],PARAMETER[\"central_meridian\",9],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2492\"]]"); p = add_epsg_def_ex (filter, first, last, 2493, "epsg", 2493, "Pulkovo 1942 / Gauss-Kruger CM 15E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 15E (deprecated)"); add_srs_wkt (p, 1, "\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHERO"); add_srs_wkt (p, 2, "ID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, - "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12"); - add_srs_wkt (p, 4, - "],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,A"); - add_srs_wkt (p, 5, - "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); - add_srs_wkt (p, 6, - "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\","); - add_srs_wkt (p, 7, - "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"428"); - add_srs_wkt (p, 8, - "4\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la"); - add_srs_wkt (p, 9, - "titude_of_origin\",0],PARAMETER[\"central_meridian\",15]"); - add_srs_wkt (p, 10, - ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting"); - add_srs_wkt (p, 11, - "\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); - add_srs_wkt (p, 12, - ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); - add_srs_wkt (p, 13, - "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2493\"]]"); + "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.1"); + add_srs_wkt (p, 4, + "2],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,"); + add_srs_wkt (p, 5, + "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); + add_srs_wkt (p, 6, + "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\""); + add_srs_wkt (p, 7, + ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42"); + add_srs_wkt (p, 8, + "84\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l"); + add_srs_wkt (p, 9, + "atitude_of_origin\",0],PARAMETER[\"central_meridian\",15"); + add_srs_wkt (p, 10, + "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin"); + add_srs_wkt (p, 11, + "g\",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre"); + add_srs_wkt (p, 12, + "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI"); + add_srs_wkt (p, 13, + "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2493\"]]"); p = add_epsg_def_ex (filter, first, last, 2494, "epsg", 2494, "Pulkovo 1942 / Gauss-Kruger CM 21E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 21E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2494\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2494\"]]"); p = add_epsg_def_ex (filter, first, last, 2495, "epsg", 2495, "Pulkovo 1942 / Gauss-Kruger CM 27E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 27E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2495\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2495\"]]"); p = add_epsg_def_ex (filter, first, last, 2496, "epsg", 2496, "Pulkovo 1942 / Gauss-Kruger CM 33E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 33E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2496\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2496\"]]"); p = add_epsg_def_ex (filter, first, last, 2497, "epsg", 2497, "Pulkovo 1942 / Gauss-Kruger CM 39E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 39E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2497\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2497\"]]"); p = add_epsg_def_ex (filter, first, last, 2498, "epsg", 2498, "Pulkovo 1942 / Gauss-Kruger CM 45E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 45E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2498\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2498\"]]"); p = add_epsg_def_ex (filter, first, last, 2499, "epsg", 2499, "Pulkovo 1942 / Gauss-Kruger CM 51E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 51E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2499\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2499\"]]"); p = add_epsg_def_ex (filter, first, last, 2500, "epsg", 2500, "Pulkovo 1942 / Gauss-Kruger CM 57E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 57E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2500\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2500\"]]"); p = add_epsg_def_ex (filter, first, last, 2501, "epsg", 2501, "Pulkovo 1942 / Gauss-Kruger CM 63E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 63E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2501\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2501\"]]"); p = add_epsg_def_ex (filter, first, last, 2502, "epsg", 2502, "Pulkovo 1942 / Gauss-Kruger CM 69E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 69E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2502\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2502\"]]"); p = add_epsg_def_ex (filter, first, last, 2503, "epsg", 2503, "Pulkovo 1942 / Gauss-Kruger CM 75E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 75E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2503\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2503\"]]"); p = add_epsg_def_ex (filter, first, last, 2504, "epsg", 2504, "Pulkovo 1942 / Gauss-Kruger CM 81E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 81E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2504\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2504\"]]"); p = add_epsg_def_ex (filter, first, last, 2505, "epsg", 2505, "Pulkovo 1942 / Gauss-Kruger CM 87E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 87E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2505\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2505\"]]"); p = add_epsg_def_ex (filter, first, last, 2506, "epsg", 2506, "Pulkovo 1942 / Gauss-Kruger CM 93E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 93E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2506\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2506\"]]"); p = add_epsg_def_ex (filter, first, last, 2507, "epsg", 2507, "Pulkovo 1942 / Gauss-Kruger CM 99E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 99E\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"2507\"]]"); - p = add_epsg_def_ex (filter, first, last, 2508, "epsg", 2508, - "Pulkovo 1942 / Gauss-Kruger CM 105E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1942", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 "); - add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); - add_proj4text (p, 2, - ".12 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 105E\",GEOGCS[\""); - add_srs_wkt (p, 1, - "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); - add_srs_wkt (p, 2, - "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); - add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); add_srs_wkt (p, 4, "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, @@ -3258,709 +3215,748 @@ add_srs_wkt (p, 7, "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); add_srs_wkt (p, 8, "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",105],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2508\"]]"); + "igin\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"2507\"]]"); + p = add_epsg_def_ex (filter, first, last, 2508, "epsg", 2508, + "Pulkovo 1942 / Gauss-Kruger CM 105E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1942", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 "); + add_proj4text (p, 1, + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); + add_proj4text (p, 2, + "0.12 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 105E\",GEOGCS[\""); + add_srs_wkt (p, 1, + "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); + add_srs_wkt (p, 2, + "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); + add_srs_wkt (p, 3, + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",105],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2508\"]]"); p = add_epsg_def_ex (filter, first, last, 2509, "epsg", 2509, "Pulkovo 1942 / Gauss-Kruger CM 111E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 111E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",111],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2509\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",111],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2509\"]]"); p = add_epsg_def_ex (filter, first, last, 2510, "epsg", 2510, "Pulkovo 1942 / Gauss-Kruger CM 117E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 117E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",117],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2510\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",117],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2510\"]]"); p = add_epsg_def_ex (filter, first, last, 2511, "epsg", 2511, "Pulkovo 1942 / Gauss-Kruger CM 123E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 123E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",123],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2511\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",123],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2511\"]]"); p = add_epsg_def_ex (filter, first, last, 2512, "epsg", 2512, "Pulkovo 1942 / Gauss-Kruger CM 129E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 129E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",129],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2512\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",129],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2512\"]]"); p = add_epsg_def_ex (filter, first, last, 2513, "epsg", 2513, "Pulkovo 1942 / Gauss-Kruger CM 135E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 135E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",135],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2513\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",135],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2513\"]]"); p = add_epsg_def_ex (filter, first, last, 2514, "epsg", 2514, "Pulkovo 1942 / Gauss-Kruger CM 141E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 141E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",141],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2514\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",141],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + add_srs_wkt (p, 11, + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + add_srs_wkt (p, 12, + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + add_srs_wkt (p, 13, + "T],AUTHORITY[\"EPSG\",\"2514\"]]"); p = add_epsg_def_ex (filter, first, last, 2515, "epsg", 2515, "Pulkovo 1942 / Gauss-Kruger CM 147E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 147E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",147],PARAMETER["); + "rigin\",0],PARAMETER[\"central_meridian\",147],PARAMETER"); add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2515\"]]"); + "T],AUTHORITY[\"EPSG\",\"2515\"]]"); p = add_epsg_def_ex (filter, first, last, 2516, "epsg", 2516, "Pulkovo 1942 / Gauss-Kruger CM 153E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 153E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",153],PARAMETER["); + "rigin\",0],PARAMETER[\"central_meridian\",153],PARAMETER"); add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2516\"]]"); + "T],AUTHORITY[\"EPSG\",\"2516\"]]"); p = add_epsg_def_ex (filter, first, last, 2517, "epsg", 2517, "Pulkovo 1942 / Gauss-Kruger CM 159E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 159E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",159],PARAMETER["); + "rigin\",0],PARAMETER[\"central_meridian\",159],PARAMETER"); add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2517\"]]"); + "T],AUTHORITY[\"EPSG\",\"2517\"]]"); p = add_epsg_def_ex (filter, first, last, 2518, "epsg", 2518, "Pulkovo 1942 / Gauss-Kruger CM 165E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 165E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",165],PARAMETER["); + "rigin\",0],PARAMETER[\"central_meridian\",165],PARAMETER"); add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2518\"]]"); + "T],AUTHORITY[\"EPSG\",\"2518\"]]"); p = add_epsg_def_ex (filter, first, last, 2519, "epsg", 2519, "Pulkovo 1942 / Gauss-Kruger CM 171E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 171E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",171],PARAMETER["); + "rigin\",0],PARAMETER[\"central_meridian\",171],PARAMETER"); add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2519\"]]"); + "T],AUTHORITY[\"EPSG\",\"2519\"]]"); p = add_epsg_def_ex (filter, first, last, 2520, "epsg", 2520, "Pulkovo 1942 / Gauss-Kruger CM 177E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 177E\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",177],PARAMETER["); + "rigin\",0],PARAMETER[\"central_meridian\",177],PARAMETER"); add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",500000],"); + "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"2520\"]]"); + "T],AUTHORITY[\"EPSG\",\"2520\"]]"); p = add_epsg_def_ex (filter, first, last, 2521, "epsg", 2521, "Pulkovo 1942 / Gauss-Kruger CM 177W", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 177W\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",-177],PARAMETER"); + "rigin\",0],PARAMETER[\"central_meridian\",-177],PARAMETE"); add_srs_wkt (p, 10, - "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000"); add_srs_wkt (p, 11, - ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "T],AUTHORITY[\"EPSG\",\"2521\"]]"); + "ST],AUTHORITY[\"EPSG\",\"2521\"]]"); p = add_epsg_def_ex (filter, first, last, 2522, "epsg", 2522, "Pulkovo 1942 / Gauss-Kruger CM 171W", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger CM 171W\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",-171],PARAMETER"); + "rigin\",0],PARAMETER[\"central_meridian\",-171],PARAMETE"); add_srs_wkt (p, 10, - "[\"scale_factor\",1],PARAMETER[\"false_easting\",500000]"); + "R[\"scale_factor\",1],PARAMETER[\"false_easting\",500000"); add_srs_wkt (p, 11, - ",PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHOR"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "ITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAS"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "T],AUTHORITY[\"EPSG\",\"2522\"]]"); + "ST],AUTHORITY[\"EPSG\",\"2522\"]]"); p = add_epsg_def_ex (filter, first, last, 2523, "epsg", 2523, "Pulkovo 1942 / 3-degree Gauss-Kruger zone 7", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 7\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",21],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",75"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",7"); add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2523\"]]"); + "Y\",EAST],AUTHORITY[\"EPSG\",\"2523\"]]"); p = add_epsg_def_ex (filter, first, last, 2524, "epsg", 2524, "Pulkovo 1942 / 3-degree Gauss-Kruger zone 8", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 8\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",24],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",85"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",8"); add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2524\"]]"); + "Y\",EAST],AUTHORITY[\"EPSG\",\"2524\"]]"); p = add_epsg_def_ex (filter, first, last, 2525, "epsg", 2525, "Pulkovo 1942 / 3-degree Gauss-Kruger zone 9", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 9\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",27],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",95"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",9"); add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2525\"]]"); + "Y\",EAST],AUTHORITY[\"EPSG\",\"2525\"]]"); p = add_epsg_def_ex (filter, first, last, 2526, "epsg", 2526, "Pulkovo 1942 / 3-degree Gauss-Kruger zone 10", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 10\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",30],PA"); add_srs_wkt (p, 10, Index: src/srsinit/epsg_inlined_05.c ================================================================== --- src/srsinit/epsg_inlined_05.c +++ src/srsinit/epsg_inlined_05.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -64,29 +60,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 11\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",33],PA"); add_srs_wkt (p, 10, @@ -103,29 +99,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 12\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",36],PA"); add_srs_wkt (p, 10, @@ -142,29 +138,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 13\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",39],PA"); add_srs_wkt (p, 10, @@ -181,29 +177,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 14\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",42],PA"); add_srs_wkt (p, 10, @@ -220,29 +216,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 15\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",45],PA"); add_srs_wkt (p, 10, @@ -259,29 +255,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 16\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",48],PA"); add_srs_wkt (p, 10, @@ -298,29 +294,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 17\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",51],PA"); add_srs_wkt (p, 10, @@ -337,29 +333,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 18\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",54],PA"); add_srs_wkt (p, 10, @@ -376,29 +372,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 19\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",57],PA"); add_srs_wkt (p, 10, @@ -415,29 +411,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 20\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",60],PA"); add_srs_wkt (p, 10, @@ -454,29 +450,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 21\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",63],PA"); add_srs_wkt (p, 10, @@ -493,29 +489,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 22\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",66],PA"); add_srs_wkt (p, 10, @@ -532,29 +528,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 23\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",69],PA"); add_srs_wkt (p, 10, @@ -571,29 +567,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 24\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",72],PA"); add_srs_wkt (p, 10, @@ -610,29 +606,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 25\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",75],PA"); add_srs_wkt (p, 10, @@ -649,29 +645,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 26\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",78],PA"); add_srs_wkt (p, 10, @@ -688,29 +684,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 27\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",81],PA"); add_srs_wkt (p, 10, @@ -727,29 +723,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 28\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",84],PA"); add_srs_wkt (p, 10, @@ -766,29 +762,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 29\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",87],PA"); add_srs_wkt (p, 10, @@ -805,29 +801,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 30\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",90],PA"); add_srs_wkt (p, 10, @@ -844,29 +840,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 31\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",93],PA"); add_srs_wkt (p, 10, @@ -883,29 +879,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 32\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",96],PA"); add_srs_wkt (p, 10, @@ -922,29 +918,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 33\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",99],PA"); add_srs_wkt (p, 10, @@ -998,29 +994,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 34\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",102],P"); add_srs_wkt (p, 10, @@ -1037,29 +1033,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 35\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P"); add_srs_wkt (p, 10, @@ -1076,29 +1072,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 36\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",108],P"); add_srs_wkt (p, 10, @@ -1115,29 +1111,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 37\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P"); add_srs_wkt (p, 10, @@ -1154,29 +1150,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 38\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",114],P"); add_srs_wkt (p, 10, @@ -1193,29 +1189,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 39\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P"); add_srs_wkt (p, 10, @@ -1232,29 +1228,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 40\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",120],P"); add_srs_wkt (p, 10, @@ -1271,29 +1267,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 41\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P"); add_srs_wkt (p, 10, @@ -1310,29 +1306,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 42\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",126],P"); add_srs_wkt (p, 10, @@ -1349,29 +1345,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 43\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P"); add_srs_wkt (p, 10, @@ -1388,29 +1384,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 44\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",132],P"); add_srs_wkt (p, 10, @@ -1427,29 +1423,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 45\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P"); add_srs_wkt (p, 10, @@ -1466,29 +1462,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 46\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",138],P"); add_srs_wkt (p, 10, @@ -1505,29 +1501,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 47\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P"); add_srs_wkt (p, 10, @@ -1544,29 +1540,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 48\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",144],P"); add_srs_wkt (p, 10, @@ -1583,29 +1579,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 49\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P"); add_srs_wkt (p, 10, @@ -1622,29 +1618,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 50\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",150],P"); add_srs_wkt (p, 10, @@ -1661,29 +1657,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 51\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P"); add_srs_wkt (p, 10, @@ -1700,29 +1696,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 52\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",156],P"); add_srs_wkt (p, 10, @@ -1739,29 +1735,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 53\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P"); add_srs_wkt (p, 10, @@ -1778,29 +1774,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 54\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",162],P"); add_srs_wkt (p, 10, @@ -1817,29 +1813,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 55\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P"); add_srs_wkt (p, 10, @@ -1856,29 +1852,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 56\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",168],P"); add_srs_wkt (p, 10, @@ -1895,29 +1891,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 57\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P"); add_srs_wkt (p, 10, @@ -1934,29 +1930,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 58\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",174],P"); add_srs_wkt (p, 10, @@ -1973,29 +1969,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 59\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P"); add_srs_wkt (p, 10, @@ -2012,68 +2008,68 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 60 (d"); add_srs_wkt (p, 1, "eprecated)\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_194"); add_srs_wkt (p, 2, "2\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY"); add_srs_wkt (p, 3, - "[\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,"); - add_srs_wkt (p, 4, - "0.82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Green"); - add_srs_wkt (p, 5, - "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); - add_srs_wkt (p, 6, - ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L"); - add_srs_wkt (p, 7, - "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP"); - add_srs_wkt (p, 8, - "SG\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARA"); - add_srs_wkt (p, 9, - "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri"); - add_srs_wkt (p, 10, - "dian\",180],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa"); - add_srs_wkt (p, 11, - "lse_easting\",60000000],PARAMETER[\"false_northing\",0],"); - add_srs_wkt (p, 12, - "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\""); - add_srs_wkt (p, 13, - ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2577\"]]"); + "[\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35"); + add_srs_wkt (p, 4, + ",0.82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Gree"); + add_srs_wkt (p, 5, + "nwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\","); + add_srs_wkt (p, 6, + "0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\""); + add_srs_wkt (p, 7, + "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E"); + add_srs_wkt (p, 8, + "PSG\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PAR"); + add_srs_wkt (p, 9, + "AMETER[\"latitude_of_origin\",0],PARAMETER[\"central_mer"); + add_srs_wkt (p, 10, + "idian\",180],PARAMETER[\"scale_factor\",1],PARAMETER[\"f"); + add_srs_wkt (p, 11, + "alse_easting\",60000000],PARAMETER[\"false_northing\",0]"); + add_srs_wkt (p, 12, + ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X"); + add_srs_wkt (p, 13, + "\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2577\"]]"); p = add_epsg_def_ex (filter, first, last, 2578, "epsg", 2578, "Pulkovo 1942 / 3-degree Gauss-Kruger zone 61", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82"); + "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8"); add_proj4text (p, 2, - ",-0.12 +units=m +no_defs"); + "2,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 61\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],"); add_srs_wkt (p, 10, @@ -2090,29 +2086,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82"); + "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8"); add_proj4text (p, 2, - ",-0.12 +units=m +no_defs"); + "2,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 62\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-174],"); add_srs_wkt (p, 10, @@ -2129,29 +2125,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82"); + "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8"); add_proj4text (p, 2, - ",-0.12 +units=m +no_defs"); + "2,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 63\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],"); add_srs_wkt (p, 10, @@ -2168,29 +2164,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82"); + "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8"); add_proj4text (p, 2, - ",-0.12 +units=m +no_defs"); + "2,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 64\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-168],"); add_srs_wkt (p, 10, @@ -2207,704 +2203,704 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 21E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2582\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",21],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2582\"]]"); p = add_epsg_def_ex (filter, first, last, 2583, "epsg", 2583, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 24E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 24E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2583\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",24],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2583\"]]"); p = add_epsg_def_ex (filter, first, last, 2584, "epsg", 2584, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 27E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 27E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2584\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",27],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2584\"]]"); p = add_epsg_def_ex (filter, first, last, 2585, "epsg", 2585, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 30E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 30E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",30],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2585\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",30],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2585\"]]"); p = add_epsg_def_ex (filter, first, last, 2586, "epsg", 2586, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 33E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 33E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",33],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2586\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",33],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2586\"]]"); p = add_epsg_def_ex (filter, first, last, 2587, "epsg", 2587, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 36E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 36E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",36],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2587\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",36],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2587\"]]"); p = add_epsg_def_ex (filter, first, last, 2588, "epsg", 2588, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 39E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 39E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",39],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2588\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",39],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2588\"]]"); p = add_epsg_def_ex (filter, first, last, 2589, "epsg", 2589, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 42E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 42E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",42],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2589\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",42],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2589\"]]"); p = add_epsg_def_ex (filter, first, last, 2590, "epsg", 2590, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 45E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 45E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",45],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2590\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",45],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2590\"]]"); p = add_epsg_def_ex (filter, first, last, 2591, "epsg", 2591, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 48E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 48E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",48],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2591\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",48],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2591\"]]"); p = add_epsg_def_ex (filter, first, last, 2592, "epsg", 2592, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 51E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 51E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",51],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2592\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",51],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2592\"]]"); p = add_epsg_def_ex (filter, first, last, 2593, "epsg", 2593, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 54E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 54E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",54],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2593\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",54],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2593\"]]"); p = add_epsg_def_ex (filter, first, last, 2594, "epsg", 2594, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 57E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 57E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",57],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2594\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",57],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2594\"]]"); p = add_epsg_def_ex (filter, first, last, 2595, "epsg", 2595, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 60E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 60E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",60],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2595\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",60],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2595\"]]"); p = add_epsg_def_ex (filter, first, last, 2596, "epsg", 2596, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 63E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 63E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",63],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2596\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",63],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2596\"]]"); p = add_epsg_def_ex (filter, first, last, 2597, "epsg", 2597, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 66E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 66E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",66],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2597\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",66],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2597\"]]"); p = add_epsg_def_ex (filter, first, last, 2598, "epsg", 2598, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 69E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 69E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",69],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2598\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",69],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2598\"]]"); p = add_epsg_def_ex (filter, first, last, 2599, "epsg", 2599, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 72E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 72E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",72],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2599\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",72],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2599\"]]"); p = add_epsg_def_ex (filter, first, last, 2600, "epsg", 2600, "Lietuvos Koordinoei Sistema 1994 (deprecated)", 0, 1, "GRS 1980", "Greenwich", "Lithuania_1994_ETRS89", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); @@ -2948,380 +2944,380 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 75E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",75],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2601\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",75],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2601\"]]"); p = add_epsg_def_ex (filter, first, last, 2602, "epsg", 2602, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 78E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 78E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",78],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2602\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",78],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2602\"]]"); p = add_epsg_def_ex (filter, first, last, 2603, "epsg", 2603, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 81E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 81E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",81],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2603\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",81],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2603\"]]"); p = add_epsg_def_ex (filter, first, last, 2604, "epsg", 2604, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 84E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 84E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",84],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2604\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",84],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2604\"]]"); p = add_epsg_def_ex (filter, first, last, 2605, "epsg", 2605, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 87E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 87E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",87],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2605\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",87],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2605\"]]"); p = add_epsg_def_ex (filter, first, last, 2606, "epsg", 2606, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 90E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 90E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",90],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2606\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",90],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2606\"]]"); p = add_epsg_def_ex (filter, first, last, 2607, "epsg", 2607, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 93E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 93E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",93],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2607\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",93],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2607\"]]"); p = add_epsg_def_ex (filter, first, last, 2608, "epsg", 2608, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 96E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 96E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",96],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2608\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",96],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2608\"]]"); p = add_epsg_def_ex (filter, first, last, 2609, "epsg", 2609, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 99E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 99E\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",99],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2609\"]]"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",99],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2609\"]]"); p = add_epsg_def_ex (filter, first, last, 2610, "epsg", 2610, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 102E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 102E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",102],P"); add_srs_wkt (p, 10, @@ -3338,29 +3334,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 105E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P"); add_srs_wkt (p, 10, @@ -3377,29 +3373,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 108E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",108],P"); add_srs_wkt (p, 10, @@ -3416,29 +3412,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 111E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P"); add_srs_wkt (p, 10, @@ -3455,29 +3451,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 114E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",114],P"); add_srs_wkt (p, 10, @@ -3494,29 +3490,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 117E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P"); add_srs_wkt (p, 10, @@ -3533,29 +3529,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 120E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",120],P"); add_srs_wkt (p, 10, @@ -3572,29 +3568,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 123E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P"); add_srs_wkt (p, 10, @@ -3611,29 +3607,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 126E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",126],P"); add_srs_wkt (p, 10, @@ -3650,29 +3646,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 129E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P"); add_srs_wkt (p, 10, @@ -3689,29 +3685,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 132E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",132],P"); add_srs_wkt (p, 10, @@ -3728,29 +3724,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 135E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P"); add_srs_wkt (p, 10, @@ -3767,29 +3763,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 138E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",138],P"); add_srs_wkt (p, 10, @@ -3806,29 +3802,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 141E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P"); add_srs_wkt (p, 10, @@ -3845,29 +3841,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 144E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",144],P"); add_srs_wkt (p, 10, @@ -3884,29 +3880,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 147E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P"); add_srs_wkt (p, 10, @@ -3923,29 +3919,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 150E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",150],P"); add_srs_wkt (p, 10, @@ -3962,29 +3958,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 153E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P"); add_srs_wkt (p, 10, Index: src/srsinit/epsg_inlined_06.c ================================================================== --- src/srsinit/epsg_inlined_06.c +++ src/srsinit/epsg_inlined_06.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -64,29 +60,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 156E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",156],P"); add_srs_wkt (p, 10, @@ -103,29 +99,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 159E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P"); add_srs_wkt (p, 10, @@ -142,29 +138,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 162E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",162],P"); add_srs_wkt (p, 10, @@ -181,29 +177,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 165E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P"); add_srs_wkt (p, 10, @@ -220,29 +216,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 168E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",168],P"); add_srs_wkt (p, 10, @@ -259,29 +255,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 171E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P"); add_srs_wkt (p, 10, @@ -298,29 +294,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 174E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",174],P"); add_srs_wkt (p, 10, @@ -337,29 +333,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 177E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P"); add_srs_wkt (p, 10, @@ -376,29 +372,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 180E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",180],P"); add_srs_wkt (p, 10, @@ -415,29 +411,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 177W\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],"); add_srs_wkt (p, 10, @@ -454,29 +450,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 174W\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-174],"); add_srs_wkt (p, 10, @@ -493,29 +489,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 171W\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],"); add_srs_wkt (p, 10, @@ -532,29 +528,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 168W\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-168],"); add_srs_wkt (p, 10, @@ -571,138 +567,2400 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 7\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",21],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",7500"); - add_srs_wkt (p, 11, - "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); - add_srs_wkt (p, 12, - "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2641\"]]"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",75"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2641\"]]"); p = add_epsg_def_ex (filter, first, last, 2642, "epsg", 2642, "Pulkovo 1995 / 3-degree Gauss-Kruger zone 8", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 8\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",24],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",8500"); - add_srs_wkt (p, 11, - "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); - add_srs_wkt (p, 12, - "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2642\"]]"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",85"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2642\"]]"); p = add_epsg_def_ex (filter, first, last, 2643, "epsg", 2643, "Pulkovo 1995 / 3-degree Gauss-Kruger zone 9", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 9\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",27],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",9500"); - add_srs_wkt (p, 11, - "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); - add_srs_wkt (p, 12, - "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"2643\"]]"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",95"); + add_srs_wkt (p, 11, + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + add_srs_wkt (p, 12, + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + add_srs_wkt (p, 13, + "\",EAST],AUTHORITY[\"EPSG\",\"2643\"]]"); p = add_epsg_def_ex (filter, first, last, 2644, "epsg", 2644, "Pulkovo 1995 / 3-degree Gauss-Kruger zone 10", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 10\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",30],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "10500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2644\"]]"); + p = add_epsg_def_ex (filter, first, last, 2645, "epsg", 2645, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 11", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 11\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",33],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "11500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2645\"]]"); + p = add_epsg_def_ex (filter, first, last, 2646, "epsg", 2646, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 12", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 12\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",36],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "12500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2646\"]]"); + p = add_epsg_def_ex (filter, first, last, 2647, "epsg", 2647, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 13", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 13\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",39],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "13500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2647\"]]"); + p = add_epsg_def_ex (filter, first, last, 2648, "epsg", 2648, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 14", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 14\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",42],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "14500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2648\"]]"); + p = add_epsg_def_ex (filter, first, last, 2649, "epsg", 2649, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 15", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 15\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",45],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "15500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2649\"]]"); + p = add_epsg_def_ex (filter, first, last, 2650, "epsg", 2650, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 16", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 16\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",48],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "16500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2650\"]]"); + p = add_epsg_def_ex (filter, first, last, 2651, "epsg", 2651, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 17", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 17\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",51],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "17500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2651\"]]"); + p = add_epsg_def_ex (filter, first, last, 2652, "epsg", 2652, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 18", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 18\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",54],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "18500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2652\"]]"); + p = add_epsg_def_ex (filter, first, last, 2653, "epsg", 2653, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 19", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 19\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",57],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "19500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2653\"]]"); + p = add_epsg_def_ex (filter, first, last, 2654, "epsg", 2654, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 20", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 20\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",60],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "20500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2654\"]]"); + p = add_epsg_def_ex (filter, first, last, 2655, "epsg", 2655, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 21", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 21\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",63],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "21500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2655\"]]"); + p = add_epsg_def_ex (filter, first, last, 2656, "epsg", 2656, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 22", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 22\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",66],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "22500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2656\"]]"); + p = add_epsg_def_ex (filter, first, last, 2657, "epsg", 2657, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 23", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 23\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",69],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "23500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2657\"]]"); + p = add_epsg_def_ex (filter, first, last, 2658, "epsg", 2658, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 24", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 24\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",72],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "24500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2658\"]]"); + p = add_epsg_def_ex (filter, first, last, 2659, "epsg", 2659, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 25", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 25\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",75],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "25500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2659\"]]"); + p = add_epsg_def_ex (filter, first, last, 2660, "epsg", 2660, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 26", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 26\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",78],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "26500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2660\"]]"); + p = add_epsg_def_ex (filter, first, last, 2661, "epsg", 2661, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 27", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 27\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",81],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "27500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2661\"]]"); + p = add_epsg_def_ex (filter, first, last, 2662, "epsg", 2662, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 28", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 28\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",84],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "28500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2662\"]]"); + p = add_epsg_def_ex (filter, first, last, 2663, "epsg", 2663, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 29", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 29\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",87],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "29500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2663\"]]"); + p = add_epsg_def_ex (filter, first, last, 2664, "epsg", 2664, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 30", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 30\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",90],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "30500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2664\"]]"); + p = add_epsg_def_ex (filter, first, last, 2665, "epsg", 2665, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 31", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 31\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",93],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "31500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2665\"]]"); + p = add_epsg_def_ex (filter, first, last, 2666, "epsg", 2666, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 32", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 32\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",96],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "32500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2666\"]]"); + p = add_epsg_def_ex (filter, first, last, 2667, "epsg", 2667, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 33", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 33\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",99],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "33500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2667\"]]"); + p = add_epsg_def_ex (filter, first, last, 2668, "epsg", 2668, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 34", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 34\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",102],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",34500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2668\"]]"); + p = add_epsg_def_ex (filter, first, last, 2669, "epsg", 2669, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 35", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 35\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",35500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2669\"]]"); + p = add_epsg_def_ex (filter, first, last, 2670, "epsg", 2670, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 36", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 36\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",108],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",36500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2670\"]]"); + p = add_epsg_def_ex (filter, first, last, 2671, "epsg", 2671, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 37", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 37\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",37500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2671\"]]"); + p = add_epsg_def_ex (filter, first, last, 2672, "epsg", 2672, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 38", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 38\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",114],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",38500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2672\"]]"); + p = add_epsg_def_ex (filter, first, last, 2673, "epsg", 2673, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 39", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 39\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",39500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2673\"]]"); + p = add_epsg_def_ex (filter, first, last, 2674, "epsg", 2674, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 40", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 40\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",120],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",40500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2674\"]]"); + p = add_epsg_def_ex (filter, first, last, 2675, "epsg", 2675, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 41", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 41\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",41500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2675\"]]"); + p = add_epsg_def_ex (filter, first, last, 2676, "epsg", 2676, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 42", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 42\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",126],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",42500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2676\"]]"); + p = add_epsg_def_ex (filter, first, last, 2677, "epsg", 2677, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 43", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 43\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",43500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2677\"]]"); + p = add_epsg_def_ex (filter, first, last, 2678, "epsg", 2678, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 44", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 44\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",132],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",44500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2678\"]]"); + p = add_epsg_def_ex (filter, first, last, 2679, "epsg", 2679, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 45", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 45\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",45500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2679\"]]"); + p = add_epsg_def_ex (filter, first, last, 2680, "epsg", 2680, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 46", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 46\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",138],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",46500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2680\"]]"); + p = add_epsg_def_ex (filter, first, last, 2681, "epsg", 2681, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 47", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 47\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",47500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2681\"]]"); + p = add_epsg_def_ex (filter, first, last, 2682, "epsg", 2682, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 48", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 48\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",144],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",48500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2682\"]]"); + p = add_epsg_def_ex (filter, first, last, 2683, "epsg", 2683, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 49", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 49\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",49500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2683\"]]"); + p = add_epsg_def_ex (filter, first, last, 2684, "epsg", 2684, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 50", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 50\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",150],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",50500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2684\"]]"); + p = add_epsg_def_ex (filter, first, last, 2685, "epsg", 2685, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 51", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 51\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",51500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2685\"]]"); + p = add_epsg_def_ex (filter, first, last, 2686, "epsg", 2686, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 52", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 52\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",156],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",52500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2686\"]]"); + p = add_epsg_def_ex (filter, first, last, 2687, "epsg", 2687, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 53", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 53\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",53500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2687\"]]"); + p = add_epsg_def_ex (filter, first, last, 2688, "epsg", 2688, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 54", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 54\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",162],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",54500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2688\"]]"); + p = add_epsg_def_ex (filter, first, last, 2689, "epsg", 2689, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 55", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 55\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",55500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2689\"]]"); + p = add_epsg_def_ex (filter, first, last, 2690, "epsg", 2690, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 56", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 56\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",168],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",56500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2690\"]]"); + p = add_epsg_def_ex (filter, first, last, 2691, "epsg", 2691, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 57", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 57\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",57500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2691\"]]"); + p = add_epsg_def_ex (filter, first, last, 2692, "epsg", 2692, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 58", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 58\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",174],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",58500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2692\"]]"); + p = add_epsg_def_ex (filter, first, last, 2693, "epsg", 2693, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 59", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 59\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",59500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2693\"]]"); + p = add_epsg_def_ex (filter, first, last, 2694, "epsg", 2694, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 (deprecated)", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0="); + add_proj4text (p, 1, + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); + add_proj4text (p, 2, + "-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 (d"); + add_srs_wkt (p, 1, + "eprecated)\",GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_199"); + add_srs_wkt (p, 2, + "5\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY"); + add_srs_wkt (p, 3, + "[\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,"); + add_srs_wkt (p, 4, + "0.13,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Green"); + add_srs_wkt (p, 5, + "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); + add_srs_wkt (p, 6, + ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L"); + add_srs_wkt (p, 7, + "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP"); + add_srs_wkt (p, 8, + "SG\",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARA"); + add_srs_wkt (p, 9, + "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri"); + add_srs_wkt (p, 10, + "dian\",180],PARAMETER[\"scale_factor\",1],PARAMETER[\"fa"); + add_srs_wkt (p, 11, + "lse_easting\",60000000],PARAMETER[\"false_northing\",0],"); + add_srs_wkt (p, 12, + "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\""); + add_srs_wkt (p, 13, + ",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2694\"]]"); + p = add_epsg_def_ex (filter, first, last, 2695, "epsg", 2695, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 61", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0"); + add_proj4text (p, 1, + "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13"); + add_proj4text (p, 2, + ",-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 61\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],"); + add_srs_wkt (p, 10, + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",61500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2695\"]]"); + p = add_epsg_def_ex (filter, first, last, 2696, "epsg", 2696, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 62", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0"); + add_proj4text (p, 1, + "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13"); + add_proj4text (p, 2, + ",-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 62\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-174],"); + add_srs_wkt (p, 10, + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",62500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2696\"]]"); + p = add_epsg_def_ex (filter, first, last, 2697, "epsg", 2697, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 63", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0"); + add_proj4text (p, 1, + "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13"); + add_proj4text (p, 2, + ",-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 63\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],"); + add_srs_wkt (p, 10, + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",63500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2697\"]]"); + p = add_epsg_def_ex (filter, first, last, 2698, "epsg", 2698, + "Pulkovo 1995 / 3-degree Gauss-Kruger zone 64", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0"); + add_proj4text (p, 1, + "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13"); + add_proj4text (p, 2, + ",-0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 64\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-168],"); + add_srs_wkt (p, 10, + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",64500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2698\"]]"); + p = add_epsg_def_ex (filter, first, last, 2699, "epsg", 2699, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2699\"]]"); + p = add_epsg_def_ex (filter, first, last, 2700, "epsg", 2700, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",24],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2700\"]]"); + p = add_epsg_def_ex (filter, first, last, 2701, "epsg", 2701, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2701\"]]"); + p = add_epsg_def_ex (filter, first, last, 2702, "epsg", 2702, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -712,36 +2970,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",30],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",10"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2644\"]]"); - p = add_epsg_def_ex (filter, first, last, 2645, "epsg", 2645, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 11", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 11\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2702\"]]"); + p = add_epsg_def_ex (filter, first, last, 2703, "epsg", 2703, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -751,36 +3009,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",33],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",11"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2645\"]]"); - p = add_epsg_def_ex (filter, first, last, 2646, "epsg", 2646, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 12", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 12\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2703\"]]"); + p = add_epsg_def_ex (filter, first, last, 2704, "epsg", 2704, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -790,36 +3048,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",36],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",12"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2646\"]]"); - p = add_epsg_def_ex (filter, first, last, 2647, "epsg", 2647, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 13", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 13\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2704\"]]"); + p = add_epsg_def_ex (filter, first, last, 2705, "epsg", 2705, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -829,36 +3087,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",39],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",13"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2647\"]]"); - p = add_epsg_def_ex (filter, first, last, 2648, "epsg", 2648, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 14", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 14\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2705\"]]"); + p = add_epsg_def_ex (filter, first, last, 2706, "epsg", 2706, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -868,36 +3126,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",42],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",14"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2648\"]]"); - p = add_epsg_def_ex (filter, first, last, 2649, "epsg", 2649, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 15", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 15\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2706\"]]"); + p = add_epsg_def_ex (filter, first, last, 2707, "epsg", 2707, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -907,36 +3165,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",45],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",15"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2649\"]]"); - p = add_epsg_def_ex (filter, first, last, 2650, "epsg", 2650, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 16", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 16\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2707\"]]"); + p = add_epsg_def_ex (filter, first, last, 2708, "epsg", 2708, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -946,36 +3204,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",48],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",16"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2650\"]]"); - p = add_epsg_def_ex (filter, first, last, 2651, "epsg", 2651, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 17", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 17\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2708\"]]"); + p = add_epsg_def_ex (filter, first, last, 2709, "epsg", 2709, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -985,36 +3243,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",51],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",17"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2651\"]]"); - p = add_epsg_def_ex (filter, first, last, 2652, "epsg", 2652, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 18", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 18\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2709\"]]"); + p = add_epsg_def_ex (filter, first, last, 2710, "epsg", 2710, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1024,36 +3282,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",54],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",18"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2652\"]]"); - p = add_epsg_def_ex (filter, first, last, 2653, "epsg", 2653, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 19", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 19\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2710\"]]"); + p = add_epsg_def_ex (filter, first, last, 2711, "epsg", 2711, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1063,36 +3321,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",57],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",19"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2653\"]]"); - p = add_epsg_def_ex (filter, first, last, 2654, "epsg", 2654, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 20", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 20\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2711\"]]"); + p = add_epsg_def_ex (filter, first, last, 2712, "epsg", 2712, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1102,36 +3360,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",60],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",20"); - add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); - add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2654\"]]"); - p = add_epsg_def_ex (filter, first, last, 2655, "epsg", 2655, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 21", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 21\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"2712\"]]"); + p = add_epsg_def_ex (filter, first, last, 2713, "epsg", 2713, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E\",G"); + add_srs_wkt (p, 1, + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); + add_srs_wkt (p, 2, + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); + add_srs_wkt (p, 3, + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1141,36 +3399,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",63],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",21"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2655\"]]"); - p = add_epsg_def_ex (filter, first, last, 2656, "epsg", 2656, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 22", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2713\"]]"); + p = add_epsg_def_ex (filter, first, last, 2714, "epsg", 2714, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 22\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1180,36 +3438,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",66],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",22"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2656\"]]"); - p = add_epsg_def_ex (filter, first, last, 2657, "epsg", 2657, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 23", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2714\"]]"); + p = add_epsg_def_ex (filter, first, last, 2715, "epsg", 2715, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 23\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1219,36 +3477,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",69],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",23"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2657\"]]"); - p = add_epsg_def_ex (filter, first, last, 2658, "epsg", 2658, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 24", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2715\"]]"); + p = add_epsg_def_ex (filter, first, last, 2716, "epsg", 2716, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 24\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1258,36 +3516,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",72],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",24"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2658\"]]"); - p = add_epsg_def_ex (filter, first, last, 2659, "epsg", 2659, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 25", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2716\"]]"); + p = add_epsg_def_ex (filter, first, last, 2717, "epsg", 2717, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 25\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1297,36 +3555,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",75],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",25"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2659\"]]"); - p = add_epsg_def_ex (filter, first, last, 2660, "epsg", 2660, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 26", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2717\"]]"); + p = add_epsg_def_ex (filter, first, last, 2718, "epsg", 2718, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 26\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1336,36 +3594,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",78],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",26"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2660\"]]"); - p = add_epsg_def_ex (filter, first, last, 2661, "epsg", 2661, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 27", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2718\"]]"); + p = add_epsg_def_ex (filter, first, last, 2719, "epsg", 2719, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 27\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1375,36 +3633,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",81],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",27"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2661\"]]"); - p = add_epsg_def_ex (filter, first, last, 2662, "epsg", 2662, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 28", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2719\"]]"); + p = add_epsg_def_ex (filter, first, last, 2720, "epsg", 2720, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 28\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1414,36 +3672,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",84],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",28"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2662\"]]"); - p = add_epsg_def_ex (filter, first, last, 2663, "epsg", 2663, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 29", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2720\"]]"); + p = add_epsg_def_ex (filter, first, last, 2721, "epsg", 2721, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 29\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1453,36 +3711,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",87],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",29"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2663\"]]"); - p = add_epsg_def_ex (filter, first, last, 2664, "epsg", 2664, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 30", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2721\"]]"); + p = add_epsg_def_ex (filter, first, last, 2722, "epsg", 2722, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 30\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1492,36 +3750,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",90],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",30"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2664\"]]"); - p = add_epsg_def_ex (filter, first, last, 2665, "epsg", 2665, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 31", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2722\"]]"); + p = add_epsg_def_ex (filter, first, last, 2723, "epsg", 2723, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 31\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1531,36 +3789,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",93],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",31"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2665\"]]"); - p = add_epsg_def_ex (filter, first, last, 2666, "epsg", 2666, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 32", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2723\"]]"); + p = add_epsg_def_ex (filter, first, last, 2724, "epsg", 2724, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 32\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1570,36 +3828,36 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",96],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",32"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2666\"]]"); - p = add_epsg_def_ex (filter, first, last, 2667, "epsg", 2667, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 33", 0, 1, + ",EAST],AUTHORITY[\"EPSG\",\"2724\"]]"); + p = add_epsg_def_ex (filter, first, last, 2725, "epsg", 2725, + "Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0"); + "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, "22 +units=m +no_defs"); add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 33\","); + "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E\",G"); add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -1609,2395 +3867,133 @@ add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, "e_of_origin\",0],PARAMETER[\"central_meridian\",99],PARA"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",33"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2667\"]]"); - p = add_epsg_def_ex (filter, first, last, 2668, "epsg", 2668, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 34", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 34\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",102],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3"); - add_srs_wkt (p, 11, - "4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2668\"]]"); - p = add_epsg_def_ex (filter, first, last, 2669, "epsg", 2669, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 35", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 35\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3"); - add_srs_wkt (p, 11, - "5500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2669\"]]"); - p = add_epsg_def_ex (filter, first, last, 2670, "epsg", 2670, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 36", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 36\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",108],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3"); - add_srs_wkt (p, 11, - "6500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2670\"]]"); - p = add_epsg_def_ex (filter, first, last, 2671, "epsg", 2671, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 37", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 37\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3"); - add_srs_wkt (p, 11, - "7500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2671\"]]"); - p = add_epsg_def_ex (filter, first, last, 2672, "epsg", 2672, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 38", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 38\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",114],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3"); - add_srs_wkt (p, 11, - "8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2672\"]]"); - p = add_epsg_def_ex (filter, first, last, 2673, "epsg", 2673, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 39", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 39\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",117],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",3"); - add_srs_wkt (p, 11, - "9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2673\"]]"); - p = add_epsg_def_ex (filter, first, last, 2674, "epsg", 2674, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 40", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 40\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",120],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "0500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2674\"]]"); - p = add_epsg_def_ex (filter, first, last, 2675, "epsg", 2675, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 41", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 41\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2675\"]]"); - p = add_epsg_def_ex (filter, first, last, 2676, "epsg", 2676, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 42", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 42\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",126],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2676\"]]"); - p = add_epsg_def_ex (filter, first, last, 2677, "epsg", 2677, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 43", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 43\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2677\"]]"); - p = add_epsg_def_ex (filter, first, last, 2678, "epsg", 2678, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 44", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 44\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",132],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2678\"]]"); - p = add_epsg_def_ex (filter, first, last, 2679, "epsg", 2679, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 45", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 45\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "5500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2679\"]]"); - p = add_epsg_def_ex (filter, first, last, 2680, "epsg", 2680, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 46", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 46\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",138],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "6500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2680\"]]"); - p = add_epsg_def_ex (filter, first, last, 2681, "epsg", 2681, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 47", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 47\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "7500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2681\"]]"); - p = add_epsg_def_ex (filter, first, last, 2682, "epsg", 2682, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 48", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 48\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",144],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2682\"]]"); - p = add_epsg_def_ex (filter, first, last, 2683, "epsg", 2683, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 49", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 49\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",4"); - add_srs_wkt (p, 11, - "9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2683\"]]"); - p = add_epsg_def_ex (filter, first, last, 2684, "epsg", 2684, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 50", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 50\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",150],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "0500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2684\"]]"); - p = add_epsg_def_ex (filter, first, last, 2685, "epsg", 2685, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 51", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 51\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",153],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "1500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2685\"]]"); - p = add_epsg_def_ex (filter, first, last, 2686, "epsg", 2686, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 52", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 52\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",156],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2686\"]]"); - p = add_epsg_def_ex (filter, first, last, 2687, "epsg", 2687, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 53", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 53\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",159],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2687\"]]"); - p = add_epsg_def_ex (filter, first, last, 2688, "epsg", 2688, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 54", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 54\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",162],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "4500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2688\"]]"); - p = add_epsg_def_ex (filter, first, last, 2689, "epsg", 2689, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 55", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 55\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "5500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2689\"]]"); - p = add_epsg_def_ex (filter, first, last, 2690, "epsg", 2690, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 56", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 56\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",168],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "6500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2690\"]]"); - p = add_epsg_def_ex (filter, first, last, 2691, "epsg", 2691, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 57", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 57\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "7500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2691\"]]"); - p = add_epsg_def_ex (filter, first, last, 2692, "epsg", 2692, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 58", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 58\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",174],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "8500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2692\"]]"); - p = add_epsg_def_ex (filter, first, last, 2693, "epsg", 2693, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 59", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 59\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "9500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"2693\"]]"); - p = add_epsg_def_ex (filter, first, last, 2694, "epsg", 2694, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 (deprecated)", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0="); - add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); - add_proj4text (p, 2, - ".22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 (d"); - add_srs_wkt (p, 1, - "eprecated)\",GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_199"); - add_srs_wkt (p, 2, - "5\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY"); - add_srs_wkt (p, 3, - "[\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0."); - add_srs_wkt (p, 4, - "13,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwi"); - add_srs_wkt (p, 5, - "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0"); - add_srs_wkt (p, 6, - "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat"); - add_srs_wkt (p, 7, - "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG"); - add_srs_wkt (p, 8, - "\",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAME"); - add_srs_wkt (p, 9, - "TER[\"latitude_of_origin\",0],PARAMETER[\"central_meridi"); - add_srs_wkt (p, 10, - "an\",180],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals"); - add_srs_wkt (p, 11, - "e_easting\",60000000],PARAMETER[\"false_northing\",0],UN"); - add_srs_wkt (p, 12, - "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\","); - add_srs_wkt (p, 13, - "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"2694\"]]"); - p = add_epsg_def_ex (filter, first, last, 2695, "epsg", 2695, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 61", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0"); - add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-"); - add_proj4text (p, 2, - "0.22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 61\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA"); - add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); - add_srs_wkt (p, 11, - "61500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); - add_srs_wkt (p, 12, - ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); - add_srs_wkt (p, 13, - "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2695\"]]"); - p = add_epsg_def_ex (filter, first, last, 2696, "epsg", 2696, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 62", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0"); - add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-"); - add_proj4text (p, 2, - "0.22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 62\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-174],PA"); - add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); - add_srs_wkt (p, 11, - "62500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); - add_srs_wkt (p, 12, - ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); - add_srs_wkt (p, 13, - "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2696\"]]"); - p = add_epsg_def_ex (filter, first, last, 2697, "epsg", 2697, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 63", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0"); - add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-"); - add_proj4text (p, 2, - "0.22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 63\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-171],PA"); - add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); - add_srs_wkt (p, 11, - "63500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); - add_srs_wkt (p, 12, - ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); - add_srs_wkt (p, 13, - "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2697\"]]"); - p = add_epsg_def_ex (filter, first, last, 2698, "epsg", 2698, - "Pulkovo 1995 / 3-degree Gauss-Kruger zone 64", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0"); - add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-"); - add_proj4text (p, 2, - "0.22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 64\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-168],PA"); - add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); - add_srs_wkt (p, 11, - "64500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); - add_srs_wkt (p, 12, - ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); - add_srs_wkt (p, 13, - "\"Y\",EAST],AUTHORITY[\"EPSG\",\"2698\"]]"); - p = add_epsg_def_ex (filter, first, last, 2699, "epsg", 2699, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",21],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2699\"]]"); - p = add_epsg_def_ex (filter, first, last, 2700, "epsg", 2700, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",24],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2700\"]]"); - p = add_epsg_def_ex (filter, first, last, 2701, "epsg", 2701, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",27],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2701\"]]"); - p = add_epsg_def_ex (filter, first, last, 2702, "epsg", 2702, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",30],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2702\"]]"); - p = add_epsg_def_ex (filter, first, last, 2703, "epsg", 2703, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",33],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2703\"]]"); - p = add_epsg_def_ex (filter, first, last, 2704, "epsg", 2704, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",36],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2704\"]]"); - p = add_epsg_def_ex (filter, first, last, 2705, "epsg", 2705, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",39],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2705\"]]"); - p = add_epsg_def_ex (filter, first, last, 2706, "epsg", 2706, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",42],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2706\"]]"); - p = add_epsg_def_ex (filter, first, last, 2707, "epsg", 2707, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",45],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2707\"]]"); - p = add_epsg_def_ex (filter, first, last, 2708, "epsg", 2708, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",48],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2708\"]]"); - p = add_epsg_def_ex (filter, first, last, 2709, "epsg", 2709, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",51],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2709\"]]"); - p = add_epsg_def_ex (filter, first, last, 2710, "epsg", 2710, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",54],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2710\"]]"); - p = add_epsg_def_ex (filter, first, last, 2711, "epsg", 2711, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",57],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2711\"]]"); - p = add_epsg_def_ex (filter, first, last, 2712, "epsg", 2712, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",60],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2712\"]]"); - p = add_epsg_def_ex (filter, first, last, 2713, "epsg", 2713, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",63],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2713\"]]"); - p = add_epsg_def_ex (filter, first, last, 2714, "epsg", 2714, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",66],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2714\"]]"); - p = add_epsg_def_ex (filter, first, last, 2715, "epsg", 2715, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",69],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2715\"]]"); - p = add_epsg_def_ex (filter, first, last, 2716, "epsg", 2716, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",72],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2716\"]]"); - p = add_epsg_def_ex (filter, first, last, 2717, "epsg", 2717, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",75],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2717\"]]"); - p = add_epsg_def_ex (filter, first, last, 2718, "epsg", 2718, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",78],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2718\"]]"); - p = add_epsg_def_ex (filter, first, last, 2719, "epsg", 2719, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",81],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2719\"]]"); - p = add_epsg_def_ex (filter, first, last, 2720, "epsg", 2720, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",84],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2720\"]]"); - p = add_epsg_def_ex (filter, first, last, 2721, "epsg", 2721, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",87],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2721\"]]"); - p = add_epsg_def_ex (filter, first, last, 2722, "epsg", 2722, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",90],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2722\"]]"); - p = add_epsg_def_ex (filter, first, last, 2723, "epsg", 2723, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",93],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2723\"]]"); - p = add_epsg_def_ex (filter, first, last, 2724, "epsg", 2724, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",96],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2724\"]]"); - p = add_epsg_def_ex (filter, first, last, 2725, "epsg", 2725, - "Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E\",G"); - add_srs_wkt (p, 1, - "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); - add_srs_wkt (p, 2, - "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); - add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",99],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"2725\"]]"); + ",EAST],AUTHORITY[\"EPSG\",\"2725\"]]"); p = add_epsg_def_ex (filter, first, last, 2726, "epsg", 2726, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 102E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 102E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",102],PAR"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",102],P"); add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2726\"]]"); + "Y\",EAST],AUTHORITY[\"EPSG\",\"2726\"]]"); p = add_epsg_def_ex (filter, first, last, 2727, "epsg", 2727, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 105E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 105E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P"); add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2727\"]]"); + "Y\",EAST],AUTHORITY[\"EPSG\",\"2727\"]]"); p = add_epsg_def_ex (filter, first, last, 2728, "epsg", 2728, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 108E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 108E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",108],PAR"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",108],P"); add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2728\"]]"); + "Y\",EAST],AUTHORITY[\"EPSG\",\"2728\"]]"); } #endif /* full EPSG initialization enabled/disabled */ Index: src/srsinit/epsg_inlined_07.c ================================================================== --- src/srsinit/epsg_inlined_07.c +++ src/srsinit/epsg_inlined_07.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -64,275 +60,275 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 111E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2729\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2729\"]]"); p = add_epsg_def_ex (filter, first, last, 2730, "epsg", 2730, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 114E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 114E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",114],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2730\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",114],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2730\"]]"); p = add_epsg_def_ex (filter, first, last, 2731, "epsg", 2731, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 117E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 117E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",117],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2731\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2731\"]]"); p = add_epsg_def_ex (filter, first, last, 2732, "epsg", 2732, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 120E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 120E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",120],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2732\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",120],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2732\"]]"); p = add_epsg_def_ex (filter, first, last, 2733, "epsg", 2733, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 123E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 123E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2733\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2733\"]]"); p = add_epsg_def_ex (filter, first, last, 2734, "epsg", 2734, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 126E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 126E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",126],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2734\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",126],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2734\"]]"); p = add_epsg_def_ex (filter, first, last, 2735, "epsg", 2735, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 129E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 129E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2735\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2735\"]]"); p = add_epsg_def_ex (filter, first, last, 2736, "epsg", 2736, "Tete / UTM zone 36S", 0, 0, "Clarke 1866", "Greenwich", "Tete", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -343,13 +339,13 @@ add_proj4text (p, 2, "s"); add_srs_wkt (p, 0, "PROJCS[\"Tete / UTM zone 36S\",GEOGCS[\"Tete\",DATUM[\"T"); add_srs_wkt (p, 1, - "ete\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389"); + "ete\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390"); add_srs_wkt (p, 2, - "82,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-73.472,-51.66,"); + "06,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-73.472,-51.66,"); add_srs_wkt (p, 3, "-112.482,0.953,4.6,-2.368,0.586],AUTHORITY[\"EPSG\",\"61"); add_srs_wkt (p, 4, "27\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -382,13 +378,13 @@ add_proj4text (p, 2, "s"); add_srs_wkt (p, 0, "PROJCS[\"Tete / UTM zone 37S\",GEOGCS[\"Tete\",DATUM[\"T"); add_srs_wkt (p, 1, - "ete\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389"); + "ete\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390"); add_srs_wkt (p, 2, - "82,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-73.472,-51.66,"); + "06,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-73.472,-51.66,"); add_srs_wkt (p, 3, "-112.482,0.953,4.6,-2.368,0.586],AUTHORITY[\"EPSG\",\"61"); add_srs_wkt (p, 4, "27\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -415,702 +411,702 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 132E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",132],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2738\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",132],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2738\"]]"); p = add_epsg_def_ex (filter, first, last, 2739, "epsg", 2739, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 135E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 135E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2739\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2739\"]]"); p = add_epsg_def_ex (filter, first, last, 2740, "epsg", 2740, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 138E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 138E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",138],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2740\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",138],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2740\"]]"); p = add_epsg_def_ex (filter, first, last, 2741, "epsg", 2741, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 141E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 141E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2741\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2741\"]]"); p = add_epsg_def_ex (filter, first, last, 2742, "epsg", 2742, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 144E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 144E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",144],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2742\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",144],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2742\"]]"); p = add_epsg_def_ex (filter, first, last, 2743, "epsg", 2743, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 147E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 147E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2743\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2743\"]]"); p = add_epsg_def_ex (filter, first, last, 2744, "epsg", 2744, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 150E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 150E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",150],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2744\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",150],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2744\"]]"); p = add_epsg_def_ex (filter, first, last, 2745, "epsg", 2745, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 153E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 153E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",153],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2745\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2745\"]]"); p = add_epsg_def_ex (filter, first, last, 2746, "epsg", 2746, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 156E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 156E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",156],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2746\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",156],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2746\"]]"); p = add_epsg_def_ex (filter, first, last, 2747, "epsg", 2747, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 159E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 159E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",159],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2747\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2747\"]]"); p = add_epsg_def_ex (filter, first, last, 2748, "epsg", 2748, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 162E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 162E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",162],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2748\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",162],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2748\"]]"); p = add_epsg_def_ex (filter, first, last, 2749, "epsg", 2749, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 165E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 165E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2749\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2749\"]]"); p = add_epsg_def_ex (filter, first, last, 2750, "epsg", 2750, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 168E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 168E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",168],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2750\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",168],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2750\"]]"); p = add_epsg_def_ex (filter, first, last, 2751, "epsg", 2751, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 171E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 171E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2751\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2751\"]]"); p = add_epsg_def_ex (filter, first, last, 2752, "epsg", 2752, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 174E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 174E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",174],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2752\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",174],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2752\"]]"); p = add_epsg_def_ex (filter, first, last, 2753, "epsg", 2753, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 177E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 177E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2753\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2753\"]]"); p = add_epsg_def_ex (filter, first, last, 2754, "epsg", 2754, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 180E", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 180E\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",180],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"2754\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",180],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"2754\"]]"); p = add_epsg_def_ex (filter, first, last, 2755, "epsg", 2755, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 177W", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 177W\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],"); add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, "Y\",EAST],AUTHORITY[\"EPSG\",\"2755\"]]"); p = add_epsg_def_ex (filter, first, last, 2756, "epsg", 2756, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 174W", 0, 1, "Krassowsky 1940", "Greenwich", @@ -1117,39 +1113,39 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 174W\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-174],PA"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-174],"); add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, "Y\",EAST],AUTHORITY[\"EPSG\",\"2756\"]]"); p = add_epsg_def_ex (filter, first, last, 2757, "epsg", 2757, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 171W", 0, 1, "Krassowsky 1940", "Greenwich", @@ -1156,39 +1152,39 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 171W\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-171],PA"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],"); add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, "Y\",EAST],AUTHORITY[\"EPSG\",\"2757\"]]"); p = add_epsg_def_ex (filter, first, last, 2758, "epsg", 2758, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 168W", 0, 1, "Krassowsky 1940", "Greenwich", @@ -1195,39 +1191,39 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 168W\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-168],PA"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-168],"); add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, "Y\",EAST],AUTHORITY[\"EPSG\",\"2758\"]]"); p = add_epsg_def_ex (filter, first, last, 2759, "epsg", 2759, "NAD83(HARN) / Alabama East", 0, 0, "GRS 1980", "Greenwich", Index: src/srsinit/epsg_inlined_08.c ================================================================== --- src/srsinit/epsg_inlined_08.c +++ src/srsinit/epsg_inlined_08.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ Index: src/srsinit/epsg_inlined_09.c ================================================================== --- src/srsinit/epsg_inlined_09.c +++ src/srsinit/epsg_inlined_09.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -72,11 +68,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Beduaram / TM 13 NE\",GEOGCS[\"Beduaram\",DATUM"); add_srs_wkt (p, 1, "[\"Beduaram\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,2"); add_srs_wkt (p, 2, - "93.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-"); + "93.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-"); add_srs_wkt (p, 3, "106,-87,188,0,0,0,0],AUTHORITY[\"EPSG\",\"6213\"]],PRIME"); add_srs_wkt (p, 4, "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); add_srs_wkt (p, 5, @@ -105,43 +101,43 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.9"); add_proj4text (p, 1, "9999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-119.4"); add_proj4text (p, 2, - "248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.65"); + "25,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +un"); add_proj4text (p, 3, - "7065 +units=m +no_defs"); + "its=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"QND95 / Qatar National Grid\",GEOGCS[\"QND95\","); add_srs_wkt (p, 1, "DATUM[\"Qatar_National_Datum_1995\",SPHEROID[\"Internati"); add_srs_wkt (p, 2, "onal 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TO"); add_srs_wkt (p, 3, - "WGS84[-119.4248,-303.65872,-11.00061,1.164298,0.174458,1"); - add_srs_wkt (p, 4, - ".096259,3.657065],AUTHORITY[\"EPSG\",\"6614\"]],PRIMEM[\""); - add_srs_wkt (p, 5, - "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); - add_srs_wkt (p, 6, - "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); - add_srs_wkt (p, 7, - "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); - add_srs_wkt (p, 8, - "[\"EPSG\",\"4614\"]],PROJECTION[\"Transverse_Mercator\"]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"latitude_of_origin\",24.45],PARAMETER[\"cen"); - add_srs_wkt (p, 10, - "tral_meridian\",51.21666666666667],PARAMETER[\"scale_fac"); - add_srs_wkt (p, 11, - "tor\",0.99999],PARAMETER[\"false_easting\",200000],PARAM"); - add_srs_wkt (p, 12, - "ETER[\"false_northing\",300000],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 13, - "TY[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Nor"); - add_srs_wkt (p, 14, - "thing\",NORTH],AUTHORITY[\"EPSG\",\"2932\"]]"); + "WGS84[-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626"); + add_srs_wkt (p, 4, + ",3.65706],AUTHORITY[\"EPSG\",\"6614\"]],PRIMEM[\"Greenwi"); + add_srs_wkt (p, 5, + "ch\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0"); + add_srs_wkt (p, 6, + "174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lat"); + add_srs_wkt (p, 7, + "itude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG"); + add_srs_wkt (p, 8, + "\",\"4614\"]],PROJECTION[\"Transverse_Mercator\"],PARAME"); + add_srs_wkt (p, 9, + "TER[\"latitude_of_origin\",24.45],PARAMETER[\"central_me"); + add_srs_wkt (p, 10, + "ridian\",51.21666666666667],PARAMETER[\"scale_factor\",0"); + add_srs_wkt (p, 11, + ".99999],PARAMETER[\"false_easting\",200000],PARAMETER[\""); + add_srs_wkt (p, 12, + "false_northing\",300000],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 13, + "SG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\""); + add_srs_wkt (p, 14, + ",NORTH],AUTHORITY[\"EPSG\",\"2932\"]]"); p = add_epsg_def_ex (filter, first, last, 2933, "epsg", 2933, "Segara / UTM zone 50S", 0, 0, "Bessel 1841", "Greenwich", "Gunung_Segara", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -224,19 +220,19 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333"); add_proj4text (p, 1, "333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +towgs84=23"); add_proj4text (p, 2, - ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs"); + ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone A1\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -263,19 +259,19 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333"); add_proj4text (p, 1, "333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +towgs84=23"); add_proj4text (p, 2, - ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs"); + ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone A2\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -302,19 +298,19 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333"); add_proj4text (p, 1, "333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +towgs84=23"); add_proj4text (p, 2, - ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs"); + ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone A3\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -341,19 +337,19 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333"); add_proj4text (p, 1, "333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +towgs84=23"); add_proj4text (p, 2, - ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs"); + ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone A4\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -380,19 +376,19 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666"); add_proj4text (p, 1, "666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +towgs84=23"); add_proj4text (p, 2, - ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs"); + ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone K2\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -419,19 +415,19 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666"); add_proj4text (p, 1, "666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +towgs84=23"); add_proj4text (p, 2, - ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs"); + ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone K3\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -458,19 +454,19 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666"); add_proj4text (p, 1, "666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +towgs84=23"); add_proj4text (p, 2, - ".92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs"); + ".92,-141.27,-80.9,-0,0.35,0.82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone K4\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -1304,11 +1300,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska Albers\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2078,11 +2074,11 @@ add_srs_wkt (p, 1, "GEOGCS[\"Saint Pierre et Miquelon 1950\",DATUM[\"Saint_P"); add_srs_wkt (p, 2, "ierre_et_Miquelon_1950\",SPHEROID[\"Clarke 1866\",637820"); add_srs_wkt (p, 3, - "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWG"); + "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWG"); add_srs_wkt (p, 4, "S84[30,430,368,0,0,0,0],AUTHORITY[\"EPSG\",\"6638\"]],PR"); add_srs_wkt (p, 5, "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT["); add_srs_wkt (p, 6, @@ -2462,43 +2458,43 @@ "ST71_Belep", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=utm +zone=58 +south +ellps=intl +towgs84=-480.26,-"); add_proj4text (p, 1, - "438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002 +units"); + "438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +units=m "); add_proj4text (p, 2, - "=m +no_defs"); + "+no_defs"); add_srs_wkt (p, 0, "PROJCS[\"ST71 Belep / UTM zone 58S\",GEOGCS[\"ST71 Belep"); add_srs_wkt (p, 1, "\",DATUM[\"ST71_Belep\",SPHEROID[\"International 1924\","); add_srs_wkt (p, 2, "6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-480.2"); add_srs_wkt (p, 3, - "6,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002],AU"); - add_srs_wkt (p, 4, - "THORITY[\"EPSG\",\"6643\"]],PRIMEM[\"Greenwich\",0,AUTHO"); - add_srs_wkt (p, 5, - "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); - add_srs_wkt (p, 6, - "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); - add_srs_wkt (p, 7, - "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4643\"]"); - add_srs_wkt (p, 8, - "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); - add_srs_wkt (p, 9, - "de_of_origin\",0],PARAMETER[\"central_meridian\",165],PA"); - add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti"); - add_srs_wkt (p, 11, - "ng\",500000],PARAMETER[\"false_northing\",10000000],UNIT"); - add_srs_wkt (p, 12, - "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin"); - add_srs_wkt (p, 13, - "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\""); + "6,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"6643\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4643\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",165],PARAM"); + add_srs_wkt (p, 10, + "ETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",10000000],UNIT[\"m"); + add_srs_wkt (p, 12, + "etre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting\","); + add_srs_wkt (p, 13, + "EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2997"); add_srs_wkt (p, 14, - "2997\"]]"); + "\"]]"); p = add_epsg_def_ex (filter, first, last, 2998, "epsg", 2998, "NEA74 Noumea / UTM zone 58S", 0, 0, "International 1924", "Greenwich", "NEA74_Noumea", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); Index: src/srsinit/epsg_inlined_10.c ================================================================== --- src/srsinit/epsg_inlined_10.c +++ src/srsinit/epsg_inlined_10.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -62,78 +58,78 @@ "Moznet / UTM zone 36S", 0, 0, "WGS 84", "Greenwich", "Moznet_ITRF94", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,0,"); + "+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0"); add_proj4text (p, 1, - "0,0,0 +units=m +no_defs"); + ",-0,-0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Moznet / UTM zone 36S\",GEOGCS[\"Moznet\",DATUM"); add_srs_wkt (p, 1, "[\"Moznet_ITRF94\",SPHEROID[\"WGS 84\",6378137,298.25722"); add_srs_wkt (p, 2, - "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0"); - add_srs_wkt (p, 3, - "],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",0,A"); - add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); - add_srs_wkt (p, 5, - "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\","); - add_srs_wkt (p, 6, - "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"413"); - add_srs_wkt (p, 7, - "0\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la"); - add_srs_wkt (p, 8, - "titude_of_origin\",0],PARAMETER[\"central_meridian\",33]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea"); - add_srs_wkt (p, 10, - "sting\",500000],PARAMETER[\"false_northing\",10000000],U"); - add_srs_wkt (p, 11, - "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas"); - add_srs_wkt (p, 12, - "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 13, - ",\"3036\"]]"); + "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,-0,-0,-"); + add_srs_wkt (p, 3, + "0,0],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\","); + add_srs_wkt (p, 4, + "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); + add_srs_wkt (p, 5, + "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude"); + add_srs_wkt (p, 6, + "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 7, + "4130\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\""); + add_srs_wkt (p, 8, + "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3"); + add_srs_wkt (p, 9, + "3],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_"); + add_srs_wkt (p, 10, + "easting\",500000],PARAMETER[\"false_northing\",10000000]"); + add_srs_wkt (p, 11, + ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E"); + add_srs_wkt (p, 12, + "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG"); + add_srs_wkt (p, 13, + "\",\"3036\"]]"); p = add_epsg_def_ex (filter, first, last, 3037, "epsg", 3037, "Moznet / UTM zone 37S", 0, 0, "WGS 84", "Greenwich", "Moznet_ITRF94", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,0,"); + "+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0"); add_proj4text (p, 1, - "0,0,0 +units=m +no_defs"); + ",-0,-0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Moznet / UTM zone 37S\",GEOGCS[\"Moznet\",DATUM"); add_srs_wkt (p, 1, "[\"Moznet_ITRF94\",SPHEROID[\"WGS 84\",6378137,298.25722"); add_srs_wkt (p, 2, - "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0"); - add_srs_wkt (p, 3, - "],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",0,A"); - add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); - add_srs_wkt (p, 5, - "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\","); - add_srs_wkt (p, 6, - "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"413"); - add_srs_wkt (p, 7, - "0\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la"); - add_srs_wkt (p, 8, - "titude_of_origin\",0],PARAMETER[\"central_meridian\",39]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea"); - add_srs_wkt (p, 10, - "sting\",500000],PARAMETER[\"false_northing\",10000000],U"); - add_srs_wkt (p, 11, - "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas"); - add_srs_wkt (p, 12, - "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 13, - ",\"3037\"]]"); + "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,-0,-0,-"); + add_srs_wkt (p, 3, + "0,0],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\","); + add_srs_wkt (p, 4, + "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); + add_srs_wkt (p, 5, + "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude"); + add_srs_wkt (p, 6, + "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 7, + "4130\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\""); + add_srs_wkt (p, 8, + "latitude_of_origin\",0],PARAMETER[\"central_meridian\",3"); + add_srs_wkt (p, 9, + "9],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_"); + add_srs_wkt (p, 10, + "easting\",500000],PARAMETER[\"false_northing\",10000000]"); + add_srs_wkt (p, 11, + ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E"); + add_srs_wkt (p, 12, + "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG"); + add_srs_wkt (p, 13, + "\",\"3037\"]]"); p = add_epsg_def_ex (filter, first, last, 3038, "epsg", 3038, "ETRS89 / TM26 (deprecated)", 0, 1, "GRS 1980", "Greenwich", "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre", "Northing", "North", "Easting", "East"); @@ -806,45 +802,41 @@ "Helle_1954", "Transverse_Mercator", "metre", "x", "North", "y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-8.5 +k=1 +x_0=50000 +y_0=-7"); add_proj4text (p, 1, - "800000 +ellps=intl +towgs84=982.6087,552.753,-540.873,6."); + "800000 +ellps=intl +towgs84=982.609,552.753,-540.873,6.6"); add_proj4text (p, 2, - "68162662527694,-31.6114924086422,-19.8481610048168,16.80"); - add_proj4text (p, 3, - "5 +units=m +no_defs"); + "8163,-31.6115,-19.8482,16.805 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Helle 1954 / Jan Mayen Grid\",GEOGCS[\"Helle 19"); add_srs_wkt (p, 1, "54\",DATUM[\"Helle_1954\",SPHEROID[\"International 1924\""); add_srs_wkt (p, 2, ",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[982.6"); add_srs_wkt (p, 3, - "087,552.753,-540.873,6.68162662527694,-31.6114924086422,"); - add_srs_wkt (p, 4, - "-19.8481610048168,16.805],AUTHORITY[\"EPSG\",\"6660\"]],"); - add_srs_wkt (p, 5, - "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); - add_srs_wkt (p, 6, - "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912"); - add_srs_wkt (p, 7, - "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],"); - add_srs_wkt (p, 8, - "AUTHORITY[\"EPSG\",\"4660\"]],PROJECTION[\"Transverse_Me"); - add_srs_wkt (p, 9, - "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER["); - add_srs_wkt (p, 10, - "\"central_meridian\",-8.5],PARAMETER[\"scale_factor\",1]"); - add_srs_wkt (p, 11, - ",PARAMETER[\"false_easting\",50000],PARAMETER[\"false_no"); - add_srs_wkt (p, 12, - "rthing\",-7800000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\""); - add_srs_wkt (p, 13, - "9001\"]],AXIS[\"x\",NORTH],AXIS[\"y\",EAST],AUTHORITY[\""); - add_srs_wkt (p, 14, - "EPSG\",\"3058\"]]"); + "09,552.753,-540.873,6.68163,-31.6115,-19.8482,16.805],AU"); + add_srs_wkt (p, 4, + "THORITY[\"EPSG\",\"6660\"]],PRIMEM[\"Greenwich\",0,AUTHO"); + add_srs_wkt (p, 5, + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); + add_srs_wkt (p, 6, + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); + add_srs_wkt (p, 7, + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4660\"]"); + add_srs_wkt (p, 8, + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",0],PARAMETER[\"central_meridian\",-8.5],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",50000],PARAMETER[\"false_northing\",-7800000],UNIT[\"me"); + add_srs_wkt (p, 12, + "tre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"x\",NORTH],"); + add_srs_wkt (p, 13, + "AXIS[\"y\",EAST],AUTHORITY[\"EPSG\",\"3058\"]]"); p = add_epsg_def_ex (filter, first, last, 3059, "epsg", 3059, "LKS92 / Latvia TM", 0, 1, "GRS 1980", "Greenwich", "Latvia_1992", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); @@ -1235,11 +1227,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Wisconsin Transverse Mercator\",GEOGCS["); add_srs_wkt (p, 1, "\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\""); add_srs_wkt (p, 2, - "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP"); + "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP"); add_srs_wkt (p, 3, "SG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"G"); add_srs_wkt (p, 4, "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree"); add_srs_wkt (p, 5, @@ -1676,11 +1668,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Shackleford\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2562,13 +2554,13 @@ add_srs_wkt (p, 0, "PROJCS[\"American Samoa 1962 / American Samoa Lambert\","); add_srs_wkt (p, 1, "GEOGCS[\"American Samoa 1962\",DATUM[\"American_Samoa_19"); add_srs_wkt (p, 2, - "62\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898"); + "62\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213900"); add_srs_wkt (p, 3, - "2,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-115,118,426,0,0"); + "6,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-115,118,426,0,0"); add_srs_wkt (p, 4, ",0,0],AUTHORITY[\"EPSG\",\"6169\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 5, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 6, @@ -2700,13 +2692,13 @@ "Gulshan_303", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=90 +k=0.9996 +x_0=500000 +y_"); add_proj4text (p, 1, - "0=0 +a=6377276.345 +b=6356075.413140239 +towgs84=283.7,7"); + "0=0 +a=6377276.345 +b=6356075.41314024 +towgs84=283.7,73"); add_proj4text (p, 2, - "35.9,261.1,0,0,0,0 +units=m +no_defs"); + "5.9,261.1,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Gulshan 303 / Bangladesh Transverse Mercator\","); add_srs_wkt (p, 1, "GEOGCS[\"Gulshan 303\",DATUM[\"Gulshan_303\",SPHEROID[\""); add_srs_wkt (p, 2, @@ -3325,11 +3317,11 @@ add_srs_wkt (p, 0, "PROJCS[\"PRS92 / Philippines zone 1\",GEOGCS[\"PRS92\",D"); add_srs_wkt (p, 1, "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1"); add_srs_wkt (p, 4, ".578,-1.06],AUTHORITY[\"EPSG\",\"6683\"]],PRIMEM[\"Green"); add_srs_wkt (p, 5, @@ -3366,11 +3358,11 @@ add_srs_wkt (p, 0, "PROJCS[\"PRS92 / Philippines zone 2\",GEOGCS[\"PRS92\",D"); add_srs_wkt (p, 1, "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1"); add_srs_wkt (p, 4, ".578,-1.06],AUTHORITY[\"EPSG\",\"6683\"]],PRIMEM[\"Green"); add_srs_wkt (p, 5, @@ -3407,11 +3399,11 @@ add_srs_wkt (p, 0, "PROJCS[\"PRS92 / Philippines zone 3\",GEOGCS[\"PRS92\",D"); add_srs_wkt (p, 1, "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1"); add_srs_wkt (p, 4, ".578,-1.06],AUTHORITY[\"EPSG\",\"6683\"]],PRIMEM[\"Green"); add_srs_wkt (p, 5, @@ -3448,11 +3440,11 @@ add_srs_wkt (p, 0, "PROJCS[\"PRS92 / Philippines zone 4\",GEOGCS[\"PRS92\",D"); add_srs_wkt (p, 1, "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1"); add_srs_wkt (p, 4, ".578,-1.06],AUTHORITY[\"EPSG\",\"6683\"]],PRIMEM[\"Green"); add_srs_wkt (p, 5, @@ -3489,11 +3481,11 @@ add_srs_wkt (p, 0, "PROJCS[\"PRS92 / Philippines zone 5\",GEOGCS[\"PRS92\",D"); add_srs_wkt (p, 1, "ATUM[\"Philippine_Reference_System_1992\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[-127.62,-67.24,-47.04,-3.068,4.903,1"); add_srs_wkt (p, 4, ".578,-1.06],AUTHORITY[\"EPSG\",\"6683\"]],PRIMEM[\"Green"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_11.c ================================================================== --- src/srsinit/epsg_inlined_11.c +++ src/srsinit/epsg_inlined_11.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -74,11 +70,11 @@ add_srs_wkt (p, 1, " Levu 1912\",DATUM[\"Viti_Levu_1912\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, "1880 (international foot)\",6378306.3696,293.46630765563"); add_srs_wkt (p, 3, - "55,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[51,391,-36,0,0,"); + "49,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[51,391,-36,0,0,"); add_srs_wkt (p, 4, "0,0],AUTHORITY[\"EPSG\",\"6752\"]],PRIMEM[\"Greenwich\","); add_srs_wkt (p, 5, "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); add_srs_wkt (p, 6, @@ -216,89 +212,89 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 6 (de"); add_srs_wkt (p, 1, "precated)\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942"); add_srs_wkt (p, 2, "\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY["); add_srs_wkt (p, 3, - "\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0"); - add_srs_wkt (p, 4, - ".82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenw"); - add_srs_wkt (p, 5, - "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); - add_srs_wkt (p, 6, - "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La"); - add_srs_wkt (p, 7, - "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS"); - add_srs_wkt (p, 8, - "G\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAM"); - add_srs_wkt (p, 9, - "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid"); - add_srs_wkt (p, 10, - "ian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals"); - add_srs_wkt (p, 11, - "e_easting\",6500000],PARAMETER[\"false_northing\",0],UNI"); - add_srs_wkt (p, 12, - "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",N"); - add_srs_wkt (p, 13, - "ORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3146\"]]"); + "\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,"); + add_srs_wkt (p, 4, + "0.82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Green"); + add_srs_wkt (p, 5, + "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); + add_srs_wkt (p, 6, + ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L"); + add_srs_wkt (p, 7, + "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP"); + add_srs_wkt (p, 8, + "SG\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARA"); + add_srs_wkt (p, 9, + "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri"); + add_srs_wkt (p, 10, + "dian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal"); + add_srs_wkt (p, 11, + "se_easting\",6500000],PARAMETER[\"false_northing\",0],UN"); + add_srs_wkt (p, 12, + "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\","); + add_srs_wkt (p, 13, + "NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3146\"]]"); p = add_epsg_def_ex (filter, first, last, 3147, "epsg", 3147, "Pulkovo 1942 / 3-degree Gauss-Kruger CM 18E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger CM 18E (de"); add_srs_wkt (p, 1, "precated)\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942"); add_srs_wkt (p, 2, "\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY["); add_srs_wkt (p, 3, - "\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0"); - add_srs_wkt (p, 4, - ".82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenw"); - add_srs_wkt (p, 5, - "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); - add_srs_wkt (p, 6, - "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La"); - add_srs_wkt (p, 7, - "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS"); - add_srs_wkt (p, 8, - "G\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARAM"); - add_srs_wkt (p, 9, - "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid"); - add_srs_wkt (p, 10, - "ian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals"); - add_srs_wkt (p, 11, - "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT"); - add_srs_wkt (p, 12, - "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NO"); - add_srs_wkt (p, 13, - "RTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3147\"]]"); + "\"EPSG\",\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,"); + add_srs_wkt (p, 4, + "0.82,-0.12],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Green"); + add_srs_wkt (p, 5, + "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); + add_srs_wkt (p, 6, + ".0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"L"); + add_srs_wkt (p, 7, + "atitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EP"); + add_srs_wkt (p, 8, + "SG\",\"4284\"]],PROJECTION[\"Transverse_Mercator\"],PARA"); + add_srs_wkt (p, 9, + "METER[\"latitude_of_origin\",0],PARAMETER[\"central_meri"); + add_srs_wkt (p, 10, + "dian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fal"); + add_srs_wkt (p, 11, + "se_easting\",500000],PARAMETER[\"false_northing\",0],UNI"); + add_srs_wkt (p, 12, + "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",N"); + add_srs_wkt (p, 13, + "ORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3147\"]]"); p = add_epsg_def_ex (filter, first, last, 3148, "epsg", 3148, "Indian 1960 / UTM zone 48N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1960", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=198,881,317,0,0,0,0 +units=m +no_defs"); + "owgs84=198,881,317,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Indian 1960 / UTM zone 48N\",GEOGCS[\"Indian 19"); add_srs_wkt (p, 1, "60\",DATUM[\"Indian_1960\",SPHEROID[\"Everest 1830 (1937"); add_srs_wkt (p, 2, @@ -329,13 +325,13 @@ "Indian 1960 / UTM zone 49N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1960", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=49 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=49 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=198,881,317,0,0,0,0 +units=m +no_defs"); + "owgs84=198,881,317,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Indian 1960 / UTM zone 49N\",GEOGCS[\"Indian 19"); add_srs_wkt (p, 1, "60\",DATUM[\"Indian_1960\",SPHEROID[\"Everest 1830 (1937"); add_srs_wkt (p, 2, @@ -368,80 +364,80 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 6 (de"); add_srs_wkt (p, 1, "precated)\",GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995"); add_srs_wkt (p, 2, "\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY["); add_srs_wkt (p, 3, - "\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.1"); - add_srs_wkt (p, 4, - "3,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwic"); - add_srs_wkt (p, 5, - "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01"); - add_srs_wkt (p, 6, - "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati"); - add_srs_wkt (p, 7, - "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 8, - ",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE"); - add_srs_wkt (p, 9, - "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian"); - add_srs_wkt (p, 10, - "\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e"); - add_srs_wkt (p, 11, - "asting\",6500000],PARAMETER[\"false_northing\",0],UNIT[\""); - add_srs_wkt (p, 12, - "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH"); - add_srs_wkt (p, 13, - "],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3150\"]]"); + "\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0"); + add_srs_wkt (p, 4, + ".13,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenw"); + add_srs_wkt (p, 5, + "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); + add_srs_wkt (p, 6, + "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La"); + add_srs_wkt (p, 7, + "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS"); + add_srs_wkt (p, 8, + "G\",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAM"); + add_srs_wkt (p, 9, + "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid"); + add_srs_wkt (p, 10, + "ian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals"); + add_srs_wkt (p, 11, + "e_easting\",6500000],PARAMETER[\"false_northing\",0],UNI"); + add_srs_wkt (p, 12, + "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",N"); + add_srs_wkt (p, 13, + "ORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3150\"]]"); p = add_epsg_def_ex (filter, first, last, 3151, "epsg", 3151, "Pulkovo 1995 / 3-degree Gauss-Kruger CM 18E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger CM 18E (de"); add_srs_wkt (p, 1, "precated)\",GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995"); add_srs_wkt (p, 2, "\",SPHEROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY["); add_srs_wkt (p, 3, - "\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.1"); - add_srs_wkt (p, 4, - "3,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwic"); - add_srs_wkt (p, 5, - "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01"); - add_srs_wkt (p, 6, - "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati"); - add_srs_wkt (p, 7, - "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 8, - ",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE"); - add_srs_wkt (p, 9, - "R[\"latitude_of_origin\",0],PARAMETER[\"central_meridian"); - add_srs_wkt (p, 10, - "\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_e"); - add_srs_wkt (p, 11, - "asting\",500000],PARAMETER[\"false_northing\",0],UNIT[\""); - add_srs_wkt (p, 12, - "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH"); - add_srs_wkt (p, 13, - "],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3151\"]]"); + "\"EPSG\",\"7024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0"); + add_srs_wkt (p, 4, + ".13,-0.22],AUTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenw"); + add_srs_wkt (p, 5, + "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); + add_srs_wkt (p, 6, + "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La"); + add_srs_wkt (p, 7, + "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS"); + add_srs_wkt (p, 8, + "G\",\"4200\"]],PROJECTION[\"Transverse_Mercator\"],PARAM"); + add_srs_wkt (p, 9, + "ETER[\"latitude_of_origin\",0],PARAMETER[\"central_merid"); + add_srs_wkt (p, 10, + "ian\",18],PARAMETER[\"scale_factor\",1],PARAMETER[\"fals"); + add_srs_wkt (p, 11, + "e_easting\",500000],PARAMETER[\"false_northing\",0],UNIT"); + add_srs_wkt (p, 12, + "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NO"); + add_srs_wkt (p, 13, + "RTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"3151\"]]"); p = add_epsg_def_ex (filter, first, last, 3152, "epsg", 3152, "ST74", 0, 1, "GRS 1980", "Greenwich", "SWEREF99", "Transverse_Mercator", "metre", "x", "North", "y", "East"); @@ -1351,13 +1347,13 @@ "Indian_1960", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y"); add_proj4text (p, 1, - "_0=0 +a=6377276.345 +b=6356075.413140239 +towgs84=198,88"); + "_0=0 +a=6377276.345 +b=6356075.41314024 +towgs84=198,881"); add_proj4text (p, 2, - "1,317,0,0,0,0 +units=m +no_defs"); + ",317,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Indian 1960 / TM 106 NE\",GEOGCS[\"Indian 1960\""); add_srs_wkt (p, 1, ",DATUM[\"Indian_1960\",SPHEROID[\"Everest 1830 (1937 Adj"); add_srs_wkt (p, 2, @@ -1390,41 +1386,41 @@ "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", "X", "East", "Y", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9965000000000001 +x_"); add_proj4text (p, 1, - "0=1000000 +y_0=0 +ellps=intl +towgs84=-208.4058,-109.877"); + "0=1000000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,"); add_proj4text (p, 2, - "7,-2.5764,0,0,0,0 +units=m +no_defs"); + "-2.5764,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"LGD2006 / Libya TM\",GEOGCS[\"LGD2006\",DATUM[\""); add_srs_wkt (p, 1, "Libyan_Geodetic_Datum_2006\",SPHEROID[\"International 19"); add_srs_wkt (p, 2, "24\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[-"); add_srs_wkt (p, 3, - "208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\",\""); - add_srs_wkt (p, 4, - "6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); - add_srs_wkt (p, 5, - "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); - add_srs_wkt (p, 6, - "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); - add_srs_wkt (p, 7, - "\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[\"Tran"); - add_srs_wkt (p, 8, - "sverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],P"); - add_srs_wkt (p, 9, - "ARAMETER[\"central_meridian\",17],PARAMETER[\"scale_fact"); - add_srs_wkt (p, 10, - "or\",0.9965],PARAMETER[\"false_easting\",1000000],PARAME"); - add_srs_wkt (p, 11, - "TER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"E"); - add_srs_wkt (p, 12, - "PSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTH"); - add_srs_wkt (p, 13, - "ORITY[\"EPSG\",\"3177\"]]"); + "208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\",\"6"); + add_srs_wkt (p, 4, + "754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901"); + add_srs_wkt (p, 5, + "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG"); + add_srs_wkt (p, 6, + "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\""); + add_srs_wkt (p, 7, + ",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[\"Transv"); + add_srs_wkt (p, 8, + "erse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PAR"); + add_srs_wkt (p, 9, + "AMETER[\"central_meridian\",17],PARAMETER[\"scale_factor"); + add_srs_wkt (p, 10, + "\",0.9965],PARAMETER[\"false_easting\",1000000],PARAMETE"); + add_srs_wkt (p, 11, + "R[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPS"); + add_srs_wkt (p, 12, + "G\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHOR"); + add_srs_wkt (p, 13, + "ITY[\"EPSG\",\"3177\"]]"); p = add_epsg_def_ex (filter, first, last, 3178, "epsg", 3178, "GR96 / UTM zone 18N", 0, 0, "GRS 1980", "Greenwich", "Greenland_1996", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -1873,372 +1869,23 @@ "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", "X", "East", "Y", "North"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.99995 +x_0=200000 +y_"); add_proj4text (p, 1, - "0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,0"); + "0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0"); add_proj4text (p, 2, - ",0,0 +units=m +no_defs"); + ",0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"LGD2006 / Libya TM zone 5\",GEOGCS[\"LGD2006\","); add_srs_wkt (p, 1, "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); add_srs_wkt (p, 2, "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); add_srs_wkt (p, 3, - "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",0.99995],PARAMETER[\"false_easting\",200000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR"); - add_srs_wkt (p, 13, - "TH],AUTHORITY[\"EPSG\",\"3190\"]]"); - p = add_epsg_def_ex (filter, first, last, 3191, "epsg", 3191, - "LGD2006 / Libya TM zone 6", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.99995 +x_0=200000 +y"); - add_proj4text (p, 1, - "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / Libya TM zone 6\",GEOGCS[\"LGD2006\","); - add_srs_wkt (p, 1, - "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); - add_srs_wkt (p, 2, - "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); - add_srs_wkt (p, 3, - "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",11],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO"); - add_srs_wkt (p, 13, - "RTH],AUTHORITY[\"EPSG\",\"3191\"]]"); - p = add_epsg_def_ex (filter, first, last, 3192, "epsg", 3192, - "LGD2006 / Libya TM zone 7", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.99995 +x_0=200000 +y"); - add_proj4text (p, 1, - "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / Libya TM zone 7\",GEOGCS[\"LGD2006\","); - add_srs_wkt (p, 1, - "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); - add_srs_wkt (p, 2, - "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); - add_srs_wkt (p, 3, - "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",13],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO"); - add_srs_wkt (p, 13, - "RTH],AUTHORITY[\"EPSG\",\"3192\"]]"); - p = add_epsg_def_ex (filter, first, last, 3193, "epsg", 3193, - "LGD2006 / Libya TM zone 8", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.99995 +x_0=200000 +y"); - add_proj4text (p, 1, - "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / Libya TM zone 8\",GEOGCS[\"LGD2006\","); - add_srs_wkt (p, 1, - "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); - add_srs_wkt (p, 2, - "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); - add_srs_wkt (p, 3, - "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO"); - add_srs_wkt (p, 13, - "RTH],AUTHORITY[\"EPSG\",\"3193\"]]"); - p = add_epsg_def_ex (filter, first, last, 3194, "epsg", 3194, - "LGD2006 / Libya TM zone 9", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.99995 +x_0=200000 +y"); - add_proj4text (p, 1, - "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / Libya TM zone 9\",GEOGCS[\"LGD2006\","); - add_srs_wkt (p, 1, - "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); - add_srs_wkt (p, 2, - "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); - add_srs_wkt (p, 3, - "OWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",17],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO"); - add_srs_wkt (p, 13, - "RTH],AUTHORITY[\"EPSG\",\"3194\"]]"); - p = add_epsg_def_ex (filter, first, last, 3195, "epsg", 3195, - "LGD2006 / Libya TM zone 10", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.99995 +x_0=200000 +y"); - add_proj4text (p, 1, - "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / Libya TM zone 10\",GEOGCS[\"LGD2006\""); - add_srs_wkt (p, 1, - ",DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Interna"); - add_srs_wkt (p, 2, - "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],"); - add_srs_wkt (p, 3, - "TOWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",19],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO"); - add_srs_wkt (p, 13, - "RTH],AUTHORITY[\"EPSG\",\"3195\"]]"); - p = add_epsg_def_ex (filter, first, last, 3196, "epsg", 3196, - "LGD2006 / Libya TM zone 11", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.99995 +x_0=200000 +y"); - add_proj4text (p, 1, - "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / Libya TM zone 11\",GEOGCS[\"LGD2006\""); - add_srs_wkt (p, 1, - ",DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Interna"); - add_srs_wkt (p, 2, - "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],"); - add_srs_wkt (p, 3, - "TOWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO"); - add_srs_wkt (p, 13, - "RTH],AUTHORITY[\"EPSG\",\"3196\"]]"); - p = add_epsg_def_ex (filter, first, last, 3197, "epsg", 3197, - "LGD2006 / Libya TM zone 12", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.99995 +x_0=200000 +y"); - add_proj4text (p, 1, - "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / Libya TM zone 12\",GEOGCS[\"LGD2006\""); - add_srs_wkt (p, 1, - ",DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Interna"); - add_srs_wkt (p, 2, - "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],"); - add_srs_wkt (p, 3, - "TOWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",23],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO"); - add_srs_wkt (p, 13, - "RTH],AUTHORITY[\"EPSG\",\"3197\"]]"); - p = add_epsg_def_ex (filter, first, last, 3198, "epsg", 3198, - "LGD2006 / Libya TM zone 13", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.99995 +x_0=200000 +y"); - add_proj4text (p, 1, - "_0=0 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,"); - add_proj4text (p, 2, - "0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / Libya TM zone 13\",GEOGCS[\"LGD2006\""); - add_srs_wkt (p, 1, - ",DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Interna"); - add_srs_wkt (p, 2, - "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],"); - add_srs_wkt (p, 3, - "TOWGS84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",25],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",0.99995],PARAMETER[\"false_easting\",20000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NO"); - add_srs_wkt (p, 13, - "RTH],AUTHORITY[\"EPSG\",\"3198\"]]"); - p = add_epsg_def_ex (filter, first, last, 3199, "epsg", 3199, - "LGD2006 / UTM zone 32N", 0, 0, - "International 1924", "Greenwich", - "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", - "Easting", "East", "Northing", "North"); - add_proj4text (p, 0, - "+proj=utm +zone=32 +ellps=intl +towgs84=-208.4058,-109.8"); - add_proj4text (p, 1, - "777,-2.5764,0,0,0,0 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"LGD2006 / UTM zone 32N\",GEOGCS[\"LGD2006\",DAT"); - add_srs_wkt (p, 1, - "UM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internation"); - add_srs_wkt (p, 2, - "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG"); - add_srs_wkt (p, 3, - "S84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPS"); - add_srs_wkt (p, 4, - "G\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); + "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP"); + add_srs_wkt (p, 4, + "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 5, ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); add_srs_wkt (p, 6, "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); add_srs_wkt (p, 7, @@ -2246,17 +1893,366 @@ add_srs_wkt (p, 8, "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\""); add_srs_wkt (p, 9, ",0],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_"); add_srs_wkt (p, 10, - "factor\",0.9996],PARAMETER[\"false_easting\",500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northi"); - add_srs_wkt (p, 13, - "ng\",NORTH],AUTHORITY[\"EPSG\",\"3199\"]]"); + "factor\",0.99995],PARAMETER[\"false_easting\",200000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"3190\"]]"); + p = add_epsg_def_ex (filter, first, last, 3191, "epsg", 3191, + "LGD2006 / Libya TM zone 6", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.99995 +x_0=200000 +y"); + add_proj4text (p, 1, + "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / Libya TM zone 6\",GEOGCS[\"LGD2006\","); + add_srs_wkt (p, 1, + "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); + add_srs_wkt (p, 2, + "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); + add_srs_wkt (p, 3, + "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP"); + add_srs_wkt (p, 4, + "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 5, + ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); + add_srs_wkt (p, 6, + "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); + add_srs_wkt (p, 7, + "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION["); + add_srs_wkt (p, 8, + "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\""); + add_srs_wkt (p, 9, + ",0],PARAMETER[\"central_meridian\",11],PARAMETER[\"scale"); + add_srs_wkt (p, 10, + "_factor\",0.99995],PARAMETER[\"false_easting\",200000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"3191\"]]"); + p = add_epsg_def_ex (filter, first, last, 3192, "epsg", 3192, + "LGD2006 / Libya TM zone 7", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.99995 +x_0=200000 +y"); + add_proj4text (p, 1, + "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / Libya TM zone 7\",GEOGCS[\"LGD2006\","); + add_srs_wkt (p, 1, + "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); + add_srs_wkt (p, 2, + "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); + add_srs_wkt (p, 3, + "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP"); + add_srs_wkt (p, 4, + "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 5, + ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); + add_srs_wkt (p, 6, + "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); + add_srs_wkt (p, 7, + "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION["); + add_srs_wkt (p, 8, + "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\""); + add_srs_wkt (p, 9, + ",0],PARAMETER[\"central_meridian\",13],PARAMETER[\"scale"); + add_srs_wkt (p, 10, + "_factor\",0.99995],PARAMETER[\"false_easting\",200000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"3192\"]]"); + p = add_epsg_def_ex (filter, first, last, 3193, "epsg", 3193, + "LGD2006 / Libya TM zone 8", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.99995 +x_0=200000 +y"); + add_proj4text (p, 1, + "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / Libya TM zone 8\",GEOGCS[\"LGD2006\","); + add_srs_wkt (p, 1, + "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); + add_srs_wkt (p, 2, + "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); + add_srs_wkt (p, 3, + "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP"); + add_srs_wkt (p, 4, + "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 5, + ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); + add_srs_wkt (p, 6, + "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); + add_srs_wkt (p, 7, + "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION["); + add_srs_wkt (p, 8, + "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\""); + add_srs_wkt (p, 9, + ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale"); + add_srs_wkt (p, 10, + "_factor\",0.99995],PARAMETER[\"false_easting\",200000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"3193\"]]"); + p = add_epsg_def_ex (filter, first, last, 3194, "epsg", 3194, + "LGD2006 / Libya TM zone 9", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.99995 +x_0=200000 +y"); + add_proj4text (p, 1, + "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / Libya TM zone 9\",GEOGCS[\"LGD2006\","); + add_srs_wkt (p, 1, + "DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internat"); + add_srs_wkt (p, 2, + "ional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],T"); + add_srs_wkt (p, 3, + "OWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EP"); + add_srs_wkt (p, 4, + "SG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 5, + ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); + add_srs_wkt (p, 6, + "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); + add_srs_wkt (p, 7, + "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION["); + add_srs_wkt (p, 8, + "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\""); + add_srs_wkt (p, 9, + ",0],PARAMETER[\"central_meridian\",17],PARAMETER[\"scale"); + add_srs_wkt (p, 10, + "_factor\",0.99995],PARAMETER[\"false_easting\",200000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"3194\"]]"); + p = add_epsg_def_ex (filter, first, last, 3195, "epsg", 3195, + "LGD2006 / Libya TM zone 10", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.99995 +x_0=200000 +y"); + add_proj4text (p, 1, + "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / Libya TM zone 10\",GEOGCS[\"LGD2006\""); + add_srs_wkt (p, 1, + ",DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Interna"); + add_srs_wkt (p, 2, + "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],"); + add_srs_wkt (p, 3, + "TOWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"E"); + add_srs_wkt (p, 4, + "PSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); + add_srs_wkt (p, 5, + "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); + add_srs_wkt (p, 6, + "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); + add_srs_wkt (p, 7, + "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTIO"); + add_srs_wkt (p, 8, + "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); + add_srs_wkt (p, 9, + "n\",0],PARAMETER[\"central_meridian\",19],PARAMETER[\"sc"); + add_srs_wkt (p, 10, + "ale_factor\",0.99995],PARAMETER[\"false_easting\",200000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR"); + add_srs_wkt (p, 13, + "TH],AUTHORITY[\"EPSG\",\"3195\"]]"); + p = add_epsg_def_ex (filter, first, last, 3196, "epsg", 3196, + "LGD2006 / Libya TM zone 11", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.99995 +x_0=200000 +y"); + add_proj4text (p, 1, + "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / Libya TM zone 11\",GEOGCS[\"LGD2006\""); + add_srs_wkt (p, 1, + ",DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Interna"); + add_srs_wkt (p, 2, + "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],"); + add_srs_wkt (p, 3, + "TOWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"E"); + add_srs_wkt (p, 4, + "PSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); + add_srs_wkt (p, 5, + "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); + add_srs_wkt (p, 6, + "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); + add_srs_wkt (p, 7, + "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTIO"); + add_srs_wkt (p, 8, + "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); + add_srs_wkt (p, 9, + "n\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"sc"); + add_srs_wkt (p, 10, + "ale_factor\",0.99995],PARAMETER[\"false_easting\",200000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR"); + add_srs_wkt (p, 13, + "TH],AUTHORITY[\"EPSG\",\"3196\"]]"); + p = add_epsg_def_ex (filter, first, last, 3197, "epsg", 3197, + "LGD2006 / Libya TM zone 12", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.99995 +x_0=200000 +y"); + add_proj4text (p, 1, + "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / Libya TM zone 12\",GEOGCS[\"LGD2006\""); + add_srs_wkt (p, 1, + ",DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Interna"); + add_srs_wkt (p, 2, + "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],"); + add_srs_wkt (p, 3, + "TOWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"E"); + add_srs_wkt (p, 4, + "PSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); + add_srs_wkt (p, 5, + "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); + add_srs_wkt (p, 6, + "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); + add_srs_wkt (p, 7, + "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTIO"); + add_srs_wkt (p, 8, + "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); + add_srs_wkt (p, 9, + "n\",0],PARAMETER[\"central_meridian\",23],PARAMETER[\"sc"); + add_srs_wkt (p, 10, + "ale_factor\",0.99995],PARAMETER[\"false_easting\",200000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR"); + add_srs_wkt (p, 13, + "TH],AUTHORITY[\"EPSG\",\"3197\"]]"); + p = add_epsg_def_ex (filter, first, last, 3198, "epsg", 3198, + "LGD2006 / Libya TM zone 13", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "X", "East", "Y", "North"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.99995 +x_0=200000 +y"); + add_proj4text (p, 1, + "_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,"); + add_proj4text (p, 2, + "0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / Libya TM zone 13\",GEOGCS[\"LGD2006\""); + add_srs_wkt (p, 1, + ",DATUM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Interna"); + add_srs_wkt (p, 2, + "tional 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],"); + add_srs_wkt (p, 3, + "TOWGS84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"E"); + add_srs_wkt (p, 4, + "PSG\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); + add_srs_wkt (p, 5, + "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); + add_srs_wkt (p, 6, + "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); + add_srs_wkt (p, 7, + "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTIO"); + add_srs_wkt (p, 8, + "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); + add_srs_wkt (p, 9, + "n\",0],PARAMETER[\"central_meridian\",25],PARAMETER[\"sc"); + add_srs_wkt (p, 10, + "ale_factor\",0.99995],PARAMETER[\"false_easting\",200000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NOR"); + add_srs_wkt (p, 13, + "TH],AUTHORITY[\"EPSG\",\"3198\"]]"); + p = add_epsg_def_ex (filter, first, last, 3199, "epsg", 3199, + "LGD2006 / UTM zone 32N", 0, 0, + "International 1924", "Greenwich", + "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", + "Easting", "East", "Northing", "North"); + add_proj4text (p, 0, + "+proj=utm +zone=32 +ellps=intl +towgs84=-208.406,-109.87"); + add_proj4text (p, 1, + "8,-2.5764,0,0,0,0 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"LGD2006 / UTM zone 32N\",GEOGCS[\"LGD2006\",DAT"); + add_srs_wkt (p, 1, + "UM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internation"); + add_srs_wkt (p, 2, + "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG"); + add_srs_wkt (p, 3, + "S84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 4, + ",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 5, + "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); + add_srs_wkt (p, 6, + "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); + add_srs_wkt (p, 7, + "ude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[\"T"); + add_srs_wkt (p, 8, + "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0"); + add_srs_wkt (p, 9, + "],PARAMETER[\"central_meridian\",9],PARAMETER[\"scale_fa"); + add_srs_wkt (p, 10, + "ctor\",0.9996],PARAMETER[\"false_easting\",500000],PARAM"); + add_srs_wkt (p, 11, + "ETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); + add_srs_wkt (p, 12, + "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing"); + add_srs_wkt (p, 13, + "\",NORTH],AUTHORITY[\"EPSG\",\"3199\"]]"); p = add_epsg_def_ex (filter, first, last, 3200, "epsg", 3200, "FD58 / Iraq zone", 0, 0, "Clarke 1880 (RGS)", "Greenwich", "Final_Datum_1958", "Lambert_Conformal_Conic_1SP", "metre", "Easting", "East", "Northing", "North"); @@ -2298,115 +2294,115 @@ "LGD2006 / UTM zone 33N", 0, 0, "International 1924", "Greenwich", "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=33 +ellps=intl +towgs84=-208.4058,-109.8"); + "+proj=utm +zone=33 +ellps=intl +towgs84=-208.406,-109.87"); add_proj4text (p, 1, - "777,-2.5764,0,0,0,0 +units=m +no_defs"); + "8,-2.5764,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"LGD2006 / UTM zone 33N\",GEOGCS[\"LGD2006\",DAT"); add_srs_wkt (p, 1, "UM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internation"); add_srs_wkt (p, 2, "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG"); add_srs_wkt (p, 3, - "S84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPS"); - add_srs_wkt (p, 4, - "G\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 5, - ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); - add_srs_wkt (p, 6, - "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); - add_srs_wkt (p, 7, - "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION["); - add_srs_wkt (p, 8, - "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\""); - add_srs_wkt (p, 9, - ",0],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale"); - add_srs_wkt (p, 10, - "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North"); - add_srs_wkt (p, 13, - "ing\",NORTH],AUTHORITY[\"EPSG\",\"3201\"]]"); + "S84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 4, + ",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 5, + "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); + add_srs_wkt (p, 6, + "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); + add_srs_wkt (p, 7, + "ude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[\"T"); + add_srs_wkt (p, 8, + "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0"); + add_srs_wkt (p, 9, + "],PARAMETER[\"central_meridian\",15],PARAMETER[\"scale_f"); + add_srs_wkt (p, 10, + "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA"); + add_srs_wkt (p, 11, + "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); + add_srs_wkt (p, 12, + "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing"); + add_srs_wkt (p, 13, + "\",NORTH],AUTHORITY[\"EPSG\",\"3201\"]]"); p = add_epsg_def_ex (filter, first, last, 3202, "epsg", 3202, "LGD2006 / UTM zone 34N", 0, 0, "International 1924", "Greenwich", "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=34 +ellps=intl +towgs84=-208.4058,-109.8"); + "+proj=utm +zone=34 +ellps=intl +towgs84=-208.406,-109.87"); add_proj4text (p, 1, - "777,-2.5764,0,0,0,0 +units=m +no_defs"); + "8,-2.5764,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"LGD2006 / UTM zone 34N\",GEOGCS[\"LGD2006\",DAT"); add_srs_wkt (p, 1, "UM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internation"); add_srs_wkt (p, 2, "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG"); add_srs_wkt (p, 3, - "S84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPS"); - add_srs_wkt (p, 4, - "G\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 5, - ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); - add_srs_wkt (p, 6, - "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); - add_srs_wkt (p, 7, - "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION["); - add_srs_wkt (p, 8, - "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\""); - add_srs_wkt (p, 9, - ",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale"); - add_srs_wkt (p, 10, - "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North"); - add_srs_wkt (p, 13, - "ing\",NORTH],AUTHORITY[\"EPSG\",\"3202\"]]"); + "S84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 4, + ",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 5, + "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); + add_srs_wkt (p, 6, + "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); + add_srs_wkt (p, 7, + "ude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[\"T"); + add_srs_wkt (p, 8, + "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0"); + add_srs_wkt (p, 9, + "],PARAMETER[\"central_meridian\",21],PARAMETER[\"scale_f"); + add_srs_wkt (p, 10, + "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA"); + add_srs_wkt (p, 11, + "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); + add_srs_wkt (p, 12, + "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing"); + add_srs_wkt (p, 13, + "\",NORTH],AUTHORITY[\"EPSG\",\"3202\"]]"); p = add_epsg_def_ex (filter, first, last, 3203, "epsg", 3203, "LGD2006 / UTM zone 35N", 0, 0, "International 1924", "Greenwich", "Libyan_Geodetic_Datum_2006", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=35 +ellps=intl +towgs84=-208.4058,-109.8"); + "+proj=utm +zone=35 +ellps=intl +towgs84=-208.406,-109.87"); add_proj4text (p, 1, - "777,-2.5764,0,0,0,0 +units=m +no_defs"); + "8,-2.5764,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"LGD2006 / UTM zone 35N\",GEOGCS[\"LGD2006\",DAT"); add_srs_wkt (p, 1, "UM[\"Libyan_Geodetic_Datum_2006\",SPHEROID[\"Internation"); add_srs_wkt (p, 2, "al 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWG"); add_srs_wkt (p, 3, - "S84[-208.4058,-109.8777,-2.5764,0,0,0,0],AUTHORITY[\"EPS"); - add_srs_wkt (p, 4, - "G\",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 5, - ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); - add_srs_wkt (p, 6, - "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); - add_srs_wkt (p, 7, - "gitude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION["); - add_srs_wkt (p, 8, - "\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\""); - add_srs_wkt (p, 9, - ",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale"); - add_srs_wkt (p, 10, - "_factor\",0.9996],PARAMETER[\"false_easting\",500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"North"); - add_srs_wkt (p, 13, - "ing\",NORTH],AUTHORITY[\"EPSG\",\"3203\"]]"); + "S84[-208.406,-109.878,-2.5764,0,0,0,0],AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 4, + ",\"6754\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 5, + "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); + add_srs_wkt (p, 6, + "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); + add_srs_wkt (p, 7, + "ude\",EAST],AUTHORITY[\"EPSG\",\"4754\"]],PROJECTION[\"T"); + add_srs_wkt (p, 8, + "ransverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0"); + add_srs_wkt (p, 9, + "],PARAMETER[\"central_meridian\",27],PARAMETER[\"scale_f"); + add_srs_wkt (p, 10, + "actor\",0.9996],PARAMETER[\"false_easting\",500000],PARA"); + add_srs_wkt (p, 11, + "METER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY[\""); + add_srs_wkt (p, 12, + "EPSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing"); + add_srs_wkt (p, 13, + "\",NORTH],AUTHORITY[\"EPSG\",\"3203\"]]"); p = add_epsg_def_ex (filter, first, last, 3204, "epsg", 3204, "WGS 84 / SCAR IMW SP19-20", 0, 0, "WGS 84", "Greenwich", "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); Index: src/srsinit/epsg_inlined_12.c ================================================================== --- src/srsinit/epsg_inlined_12.c +++ src/srsinit/epsg_inlined_12.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -2328,43 +2324,43 @@ "Fatu_Iva_72", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=utm +zone=7 +south +ellps=intl +towgs84=347.103,10"); add_proj4text (p, 1, - "78.125,2623.922,-33.8875,70.6773,-9.3943,186.074 +units="); + "78.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +units=m "); add_proj4text (p, 2, - "m +no_defs"); + "+no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Fatu Iva 72 / UTM zone 7S\",GEOGCS[\"Fatu Iva 7"); add_srs_wkt (p, 1, "2\",DATUM[\"Fatu_Iva_72\",SPHEROID[\"International 1924\""); add_srs_wkt (p, 2, ",6378388,297,AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[347.1"); add_srs_wkt (p, 3, - "03,1078.125,2623.922,-33.8875,70.6773,-9.3943,186.074],A"); - add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6688\"]],PRIMEM[\"Greenwich\",0,AUTH"); - add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); - add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); - add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4688\""); - add_srs_wkt (p, 8, - "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); - add_srs_wkt (p, 9, - "ude_of_origin\",0],PARAMETER[\"central_meridian\",-141],"); - add_srs_wkt (p, 10, - "PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_eas"); - add_srs_wkt (p, 11, - "ting\",500000],PARAMETER[\"false_northing\",10000000],UN"); - add_srs_wkt (p, 12, - "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East"); - add_srs_wkt (p, 13, - "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 14, - "\"3303\"]]"); + "03,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6688\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4688\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",-141],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easti"); + add_srs_wkt (p, 11, + "ng\",500000],PARAMETER[\"false_northing\",10000000],UNIT"); + add_srs_wkt (p, 12, + "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin"); + add_srs_wkt (p, 13, + "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 14, + "3303\"]]"); p = add_epsg_def_ex (filter, first, last, 3304, "epsg", 3304, "Tahiti 79 / UTM zone 6S", 0, 0, "International 1924", "Greenwich", "Tahiti_79", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -2572,11 +2568,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California Albers\",GEOGCS[\"NAD27\",DA"); add_srs_wkt (p, 1, "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866"); add_srs_wkt (p, 2, - "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008"); + "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008"); add_srs_wkt (p, 3, "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\","); add_srs_wkt (p, 4, "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); add_srs_wkt (p, 5, @@ -2767,11 +2763,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Katanga 1955 / Katanga Lambert (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\""); add_srs_wkt (p, 2, - "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP"); + "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP"); add_srs_wkt (p, 3, "SG\",\"7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0]"); add_srs_wkt (p, 4, ",AUTHORITY[\"EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 5, @@ -2808,11 +2804,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Katanga 1955 / Katanga TM (deprecated)\",GEOGCS"); add_srs_wkt (p, 1, "[\"Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_13.c ================================================================== --- src/srsinit/epsg_inlined_13.c +++ src/srsinit/epsg_inlined_13.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -218,21 +214,21 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1 +lon_0=21.95 +k=1 +x_0=250000 +y_"); add_proj4text (p, 1, - "0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.8"); + "0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0."); add_proj4text (p, 2, - "2,-0.12 +units=m +no_defs"); + "82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone C0\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -257,21 +253,21 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1 +lon_0=24.95 +k=1 +x_0=1250000 +y"); add_proj4text (p, 1, - "_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0."); + "_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0"); add_proj4text (p, 2, - "82,-0.12 +units=m +no_defs"); + ".82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone C1\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -296,21 +292,21 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0.1 +lon_0=27.95 +k=1 +x_0=2250000 +y"); add_proj4text (p, 1, - "_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0."); + "_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0"); add_proj4text (p, 2, - "82,-0.12 +units=m +no_defs"); + ".82,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / CS63 zone C2\",GEOGCS[\"Pulkovo "); add_srs_wkt (p, 1, "1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassowsky 1940"); add_srs_wkt (p, 2, "\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[2"); add_srs_wkt (p, 3, - "3.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); + "3.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -452,13 +448,13 @@ add_srs_wkt (p, 0, "PROJCS[\"Grand Cayman 1959 / UTM zone 17N (deprecated)\""); add_srs_wkt (p, 1, ",GEOGCS[\"GCGD59\",DATUM[\"Grand_Cayman_Geodetic_Datum_1"); add_srs_wkt (p, 2, - "959\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389"); + "959\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390"); add_srs_wkt (p, 3, - "82,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-179.483,-69.37"); + "06,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-179.483,-69.37"); add_srs_wkt (p, 4, "9,-27.584,-7.862,8.163,6.042,-13.925],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 5, ",\"6723\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 6, @@ -493,11 +489,11 @@ add_srs_wkt (p, 1, ",GEOGCS[\"SIGD61\",DATUM[\"Sister_Islands_Geodetic_Datum"); add_srs_wkt (p, 2, "_1961\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213"); add_srs_wkt (p, 3, - "8982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644"); + "9006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644"); add_srs_wkt (p, 4, ",180.304,-0.393,-2.323,2.96,-24.081],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 5, "\"6726\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); add_srs_wkt (p, 6, @@ -878,11 +874,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Hong Kong 1963 Grid System (deprecated)\",GEOGC"); add_srs_wkt (p, 1, "S[\"Hong Kong 1963\",DATUM[\"Hong_Kong_1963\",SPHEROID[\""); add_srs_wkt (p, 2, - "Clarke 1858\",6378293.645208759,294.2606763692606,AUTHOR"); + "Clarke 1858\",6378293.645208759,294.2606763692569,AUTHOR"); add_srs_wkt (p, 3, "ITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"6738\"]],PR"); add_srs_wkt (p, 4, "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT["); add_srs_wkt (p, 5, @@ -1018,11 +1014,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 59N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1053,11 +1049,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 60N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1690,31 +1686,31 @@ "Pulkovo_1942", "Mercator_2SP", "metre", "none", "North", "none", "East"); add_proj4text (p, 0, "+proj=merc +lon_0=51 +lat_ts=42 +x_0=0 +y_0=0 +ellps=kra"); add_proj4text (p, 1, - "ss +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units"); + "ss +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0.12 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Caspian Sea Mercator\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); add_srs_wkt (p, 8, - "TION[\"Mercator_2SP\"],PARAMETER[\"standard_parallel_1\""); + "CTION[\"Mercator_2SP\"],PARAMETER[\"standard_parallel_1\""); add_srs_wkt (p, 9, ",42],PARAMETER[\"central_meridian\",51],PARAMETER[\"fals"); add_srs_wkt (p, 10, "e_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"me"); add_srs_wkt (p, 11, @@ -1727,29 +1723,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / 3-degree Gauss-Kruger zone 60\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",180],P"); add_srs_wkt (p, 10, @@ -1766,41 +1762,41 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / 3-degree Gauss-Kruger zone 60\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",180],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",6"); - add_srs_wkt (p, 11, - "0500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); - add_srs_wkt (p, 12, - "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); - add_srs_wkt (p, 13, - "Y\",EAST],AUTHORITY[\"EPSG\",\"3390\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",180],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",60500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); + add_srs_wkt (p, 12, + ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); + add_srs_wkt (p, 13, + "\"Y\",EAST],AUTHORITY[\"EPSG\",\"3390\"]]"); p = add_epsg_def_ex (filter, first, last, 3391, "epsg", 3391, "Karbala 1979 / UTM zone 37N", 0, 0, "Clarke 1880 (RGS)", "Greenwich", "Karbala_1979", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -2413,11 +2409,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Hong Kong 1963 Grid System\",GEOGCS[\"Hong Kong"); add_srs_wkt (p, 1, " 1963\",DATUM[\"Hong_Kong_1963\",SPHEROID[\"Clarke 1858\""); add_srs_wkt (p, 2, - ",6378293.645208759,294.2606763692606,AUTHORITY[\"EPSG\","); + ",6378293.645208759,294.2606763692569,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, "\"7007\"]],AUTHORITY[\"EPSG\",\"6738\"]],PRIMEM[\"Greenw"); add_srs_wkt (p, 4, "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); add_srs_wkt (p, 5, @@ -2567,11 +2563,11 @@ add_srs_wkt (p, 1, "S[\"Unspecified datum based upon the Hughes 1980 ellipso"); add_srs_wkt (p, 2, "id\",DATUM[\"Not_specified_based_on_Hughes_1980_ellipsoi"); add_srs_wkt (p, 3, - "d\",SPHEROID[\"Hughes 1980\",6378273,298.279411123064,AU"); + "d\",SPHEROID[\"Hughes 1980\",6378273,298.279411123061,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"6054\"]"); add_srs_wkt (p, 5, "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 6, @@ -2606,11 +2602,11 @@ add_srs_wkt (p, 1, "S[\"Unspecified datum based upon the Hughes 1980 ellipso"); add_srs_wkt (p, 2, "id\",DATUM[\"Not_specified_based_on_Hughes_1980_ellipsoi"); add_srs_wkt (p, 3, - "d\",SPHEROID[\"Hughes 1980\",6378273,298.279411123064,AU"); + "d\",SPHEROID[\"Hughes 1980\",6378273,298.279411123061,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"6054\"]"); add_srs_wkt (p, 5, "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 6, @@ -3733,29 +3729,27 @@ "PDO_Survey_Datum_1993", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=utm +zone=39 +ellps=clrk80 +towgs84=-180.624,-225."); add_proj4text (p, 1, - "516,173.919,-0.81,-1.898,8.336,16.71006 +units=m +no_def"); - add_proj4text (p, 2, - "s"); + "516,173.919,-0.81,-1.898,8.336,16.7101 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"PSD93 / UTM zone 39N\",GEOGCS[\"PSD93\",DATUM[\""); add_srs_wkt (p, 1, "PDO_Survey_Datum_1993\",SPHEROID[\"Clarke 1880 (RGS)\",6"); add_srs_wkt (p, 2, "378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84"); add_srs_wkt (p, 3, - "[-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006],"); + "[-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.7101],A"); add_srs_wkt (p, 4, - "AUTHORITY[\"EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUT"); + "UTHORITY[\"EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4134\""); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4134\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",51],PA"); add_srs_wkt (p, 10, @@ -3774,29 +3768,27 @@ "PDO_Survey_Datum_1993", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=utm +zone=40 +ellps=clrk80 +towgs84=-180.624,-225."); add_proj4text (p, 1, - "516,173.919,-0.81,-1.898,8.336,16.71006 +units=m +no_def"); - add_proj4text (p, 2, - "s"); + "516,173.919,-0.81,-1.898,8.336,16.7101 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"PSD93 / UTM zone 40N\",GEOGCS[\"PSD93\",DATUM[\""); add_srs_wkt (p, 1, "PDO_Survey_Datum_1993\",SPHEROID[\"Clarke 1880 (RGS)\",6"); add_srs_wkt (p, 2, "378249.145,293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84"); add_srs_wkt (p, 3, - "[-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006],"); + "[-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.7101],A"); add_srs_wkt (p, 4, - "AUTHORITY[\"EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUT"); + "UTHORITY[\"EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4134\""); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4134\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",57],PA"); add_srs_wkt (p, 10, Index: src/srsinit/epsg_inlined_14.c ================================================================== --- src/srsinit/epsg_inlined_14.c +++ src/srsinit/epsg_inlined_14.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -668,11 +664,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Dabola 1981 / UTM zone 28N\",GEOGCS[\"Dabola 19"); add_srs_wkt (p, 1, "81\",DATUM[\"Dabola_1981\",SPHEROID[\"Clarke 1880 (IGN)\""); add_srs_wkt (p, 2, - ",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\""); + ",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\""); add_srs_wkt (p, 3, "]],TOWGS84[-83,37,124,0,0,0,0],AUTHORITY[\"EPSG\",\"6155"); add_srs_wkt (p, 4, "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); add_srs_wkt (p, 5, @@ -705,11 +701,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Dabola 1981 / UTM zone 29N\",GEOGCS[\"Dabola 19"); add_srs_wkt (p, 1, "81\",DATUM[\"Dabola_1981\",SPHEROID[\"Clarke 1880 (IGN)\""); add_srs_wkt (p, 2, - ",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\""); + ",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\""); add_srs_wkt (p, 3, "]],TOWGS84[-83,37,124,0,0,0,0],AUTHORITY[\"EPSG\",\"6155"); add_srs_wkt (p, 4, "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_15.c ================================================================== --- src/srsinit/epsg_inlined_15.c +++ src/srsinit/epsg_inlined_15.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -631,11 +627,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Old Hawaiian / Hawaii zone 1\",GEOGCS[\"Old Haw"); add_srs_wkt (p, 1, "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613"); add_srs_wkt (p, 4, "5\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -674,11 +670,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Old Hawaiian / Hawaii zone 2\",GEOGCS[\"Old Haw"); add_srs_wkt (p, 1, "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613"); add_srs_wkt (p, 4, "5\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -715,11 +711,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Old Hawaiian / Hawaii zone 3\",GEOGCS[\"Old Haw"); add_srs_wkt (p, 1, "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613"); add_srs_wkt (p, 4, "5\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -756,11 +752,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Old Hawaiian / Hawaii zone 4\",GEOGCS[\"Old Haw"); add_srs_wkt (p, 1, "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613"); add_srs_wkt (p, 4, "5\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -797,11 +793,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Old Hawaiian / Hawaii zone 5\",GEOGCS[\"Old Haw"); add_srs_wkt (p, 1, "aiian\",DATUM[\"Old_Hawaiian\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],TOWGS84[61,-285,-181,0,0,0,0],AUTHORITY[\"EPSG\",\"613"); add_srs_wkt (p, 4, "5\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_16.c ================================================================== --- src/srsinit/epsg_inlined_16.c +++ src/srsinit/epsg_inlined_16.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ Index: src/srsinit/epsg_inlined_17.c ================================================================== --- src/srsinit/epsg_inlined_17.c +++ src/srsinit/epsg_inlined_17.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -817,11 +813,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Bermuda 1957 / UTM zone 20N\",GEOGCS[\"Bermuda "); add_srs_wkt (p, 1, "1957\",DATUM[\"Bermuda_1957\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",TOWGS84[-73,213,296,0,0,0,0],AUTHORITY[\"EPSG\",\"6216\""); add_srs_wkt (p, 4, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 5, @@ -893,11 +889,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alberta 3TM ref merid 111 W\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -930,11 +926,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alberta 3TM ref merid 114 W\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -967,11 +963,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alberta 3TM ref merid 117 W\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -1004,11 +1000,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alberta 3TM ref merid 120 W (deprecated"); add_srs_wkt (p, 1, ")\",GEOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\""); add_srs_wkt (p, 2, - ",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982,AU"); + ",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]"); add_srs_wkt (p, 4, "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, @@ -1772,11 +1768,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Cuba Norte\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -1811,11 +1807,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Cuba Sur\",GEOGCS[\"NAD27\",DATUM[\"Nor"); add_srs_wkt (p, 1, "th_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637820"); add_srs_wkt (p, 2, - "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTH"); + "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTH"); add_srs_wkt (p, 3, "ORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORI"); add_srs_wkt (p, 4, "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943"); add_srs_wkt (p, 5, @@ -1850,11 +1846,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / MTQ Lambert\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1967,11 +1963,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alberta 3TM ref merid 120 W\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_18.c ================================================================== --- src/srsinit/epsg_inlined_18.c +++ src/srsinit/epsg_inlined_18.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -622,11 +618,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Puerto Rico / UTM zone 20N\",GEOGCS[\"Puerto Ri"); add_srs_wkt (p, 1, "co\",DATUM[\"Puerto_Rico\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TO"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TO"); add_srs_wkt (p, 3, "WGS84[11,72,-101,0,0,0,0],AUTHORITY[\"EPSG\",\"6139\"]],"); add_srs_wkt (p, 4, "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); add_srs_wkt (p, 5, @@ -1367,11 +1363,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Katanga 1955 / Katanga Lambert (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\""); add_srs_wkt (p, 2, - "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP"); + "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP"); add_srs_wkt (p, 3, "SG\",\"7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0]"); add_srs_wkt (p, 4, ",AUTHORITY[\"EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 5, @@ -1408,11 +1404,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Katanga 1955 / Katanga Gauss zone A\",GEOGCS[\""); add_srs_wkt (p, 1, "Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, - "1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\""); + "1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, "7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHOR"); add_srs_wkt (p, 4, "ITY[\"EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); add_srs_wkt (p, 5, @@ -1447,11 +1443,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Katanga 1955 / Katanga Gauss zone B\",GEOGCS[\""); add_srs_wkt (p, 1, "Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, - "1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\""); + "1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, "7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHOR"); add_srs_wkt (p, 4, "ITY[\"EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); add_srs_wkt (p, 5, @@ -1486,11 +1482,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Katanga 1955 / Katanga Gauss zone C\",GEOGCS[\""); add_srs_wkt (p, 1, "Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, - "1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\""); + "1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, "7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHOR"); add_srs_wkt (p, 4, "ITY[\"EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); add_srs_wkt (p, 5, @@ -1525,11 +1521,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Katanga 1955 / Katanga Gauss zone D\",GEOGCS[\""); add_srs_wkt (p, 1, "Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, - "1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\""); + "1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, "7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHOR"); add_srs_wkt (p, 4, "ITY[\"EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); add_srs_wkt (p, 5, @@ -1566,11 +1562,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Puerto Rico State Plane CS of 1927\",GEOGCS[\"P"); add_srs_wkt (p, 1, "uerto Rico\",DATUM[\"Puerto_Rico\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],TOWGS84[11,72,-101,0,0,0,0],AUTHORITY[\"EPSG\",\"6"); add_srs_wkt (p, 4, "139\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901"); add_srs_wkt (p, 5, @@ -1611,11 +1607,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Puerto Rico / St. Croix\",GEOGCS[\"Puerto Rico\""); add_srs_wkt (p, 1, ",DATUM[\"Puerto_Rico\",SPHEROID[\"Clarke 1866\",6378206."); add_srs_wkt (p, 2, - "4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS8"); + "4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS8"); add_srs_wkt (p, 3, "4[11,72,-101,0,0,0,0],AUTHORITY[\"EPSG\",\"6139\"]],PRIM"); add_srs_wkt (p, 4, "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 5, @@ -1932,11 +1928,11 @@ add_srs_wkt (p, 1, "oid\",DATUM[\"Not_specified_based_on_Clarke_1858_ellipso"); add_srs_wkt (p, 2, "id\",SPHEROID[\"Clarke 1858\",6378293.645208759,294.2606"); add_srs_wkt (p, 3, - "763692606,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG"); + "763692569,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, "\",\"6007\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 5, "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY["); add_srs_wkt (p, 6, @@ -1953,13 +1949,13 @@ add_srs_wkt (p, 0, "GEOGCS[\"Unknown datum based upon the Clarke 1866 ellips"); add_srs_wkt (p, 1, "oid\",DATUM[\"Not_specified_based_on_Clarke_1866_ellipso"); add_srs_wkt (p, 2, - "id\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898"); + "id\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213900"); add_srs_wkt (p, 3, - "2,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"600"); + "6,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"600"); add_srs_wkt (p, 4, "8\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 6, @@ -1980,11 +1976,11 @@ add_srs_wkt (p, 1, "an ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_186"); add_srs_wkt (p, 2, "6_Michigan_ellipsoid\",SPHEROID[\"Clarke 1866 Michigan\""); add_srs_wkt (p, 3, - ",6378450.047548896,294.9786971646772,AUTHORITY[\"EPSG\","); + ",6378450.047548896,294.9786971646739,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 4, "\"7009\"]],AUTHORITY[\"EPSG\",\"6009\"]],PRIMEM[\"Greenw"); add_srs_wkt (p, 5, "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); add_srs_wkt (p, 6, @@ -2005,11 +2001,11 @@ add_srs_wkt (p, 1, "t) ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_188"); add_srs_wkt (p, 2, "0_Benoit_ellipsoid\",SPHEROID[\"Clarke 1880 (Benoit)\",6"); add_srs_wkt (p, 3, - "378300.789,293.4663155389811,AUTHORITY[\"EPSG\",\"7010\""); + "378300.789,293.4663155389802,AUTHORITY[\"EPSG\",\"7010\""); add_srs_wkt (p, 4, "]],AUTHORITY[\"EPSG\",\"6010\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 5, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 6, @@ -2030,11 +2026,11 @@ add_srs_wkt (p, 1, "ellipsoid\",DATUM[\"Not_specified_based_on_Clarke_1880_I"); add_srs_wkt (p, 2, "GN_ellipsoid\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,"); add_srs_wkt (p, 3, - "293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORIT"); + "293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORIT"); add_srs_wkt (p, 4, "Y[\"EPSG\",\"6011\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, @@ -2118,13 +2114,13 @@ "Unknown datum based upon the Everest 1830 (1937 Adjustment) ellipsoid", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Not_specified_based_on_Everest_1830_1937_Adjustment_ellipsoid", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +no_de"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +no_def"); add_proj4text (p, 1, - "fs"); + "s"); add_srs_wkt (p, 0, "GEOGCS[\"Unknown datum based upon the Everest 1830 (1937"); add_srs_wkt (p, 1, " Adjustment) ellipsoid\",DATUM[\"Not_specified_based_on_"); add_srs_wkt (p, 2, @@ -2420,11 +2416,11 @@ "Unknown datum based upon the Struve 1860 ellipsoid", 1, 1, "Struve 1860", "Greenwich", "Not_specified_based_on_Struve_1860_ellipsoid", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6378298.3 +b=6356657.142669562 +no_defs"); + "+proj=longlat +a=6378298.3 +b=6356657.142669561 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Unknown datum based upon the Struve 1860 ellips"); add_srs_wkt (p, 1, "oid\",DATUM[\"Not_specified_based_on_Struve_1860_ellipso"); add_srs_wkt (p, 2, @@ -2568,11 +2564,11 @@ add_srs_wkt (p, 1, "oid\",DATUM[\"Not_specified_based_on_Clarke_1880_ellipso"); add_srs_wkt (p, 2, "id\",SPHEROID[\"Clarke 1880\",6378249.144808011,293.4663"); add_srs_wkt (p, 3, - "076556365,AUTHORITY[\"EPSG\",\"7034\"]],AUTHORITY[\"EPSG"); + "076556349,AUTHORITY[\"EPSG\",\"7034\"]],AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, "\",\"6034\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 5, "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY["); add_srs_wkt (p, 6, @@ -2728,11 +2724,11 @@ add_srs_wkt (p, 1, "nition) ellipsoid\",DATUM[\"Not_specified_based_on_Evere"); add_srs_wkt (p, 2, "st_1830_Definition_ellipsoid\",SPHEROID[\"Everest (1830 "); add_srs_wkt (p, 3, - "Definition)\",6377299.36559538,300.8017255433549,AUTHORI"); + "Definition)\",6377299.36559538,300.8017255433552,AUTHORI"); add_srs_wkt (p, 4, "TY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6042\"]],PRI"); add_srs_wkt (p, 5, "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 6, @@ -2768,11 +2764,11 @@ "Unknown datum based upon the Everest 1830 (1962 Definition) ellipsoid", 1, 1, "Everest 1830 (1962 Definition)", "Greenwich", "Not_specified_based_on_Everest_1830_1962_Definition_ellipsoid", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377301.243 +b=6356100.230165385 +no_de"); + "+proj=longlat +a=6377301.243 +b=6356100.230165384 +no_de"); add_proj4text (p, 1, "fs"); add_srs_wkt (p, 0, "GEOGCS[\"Unknown datum based upon the Everest 1830 (1962"); add_srs_wkt (p, 1, @@ -3080,11 +3076,11 @@ add_srs_wkt (p, 1, "lipsoid\",DATUM[\"Not_specified_based_on_Hughes_1980_ell"); add_srs_wkt (p, 2, "ipsoid\",SPHEROID[\"Hughes 1980\",6378273,298.2794111230"); add_srs_wkt (p, 3, - "64,AUTHORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"60"); + "61,AUTHORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"60"); add_srs_wkt (p, 4, "54\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 6, Index: src/srsinit/epsg_inlined_19.c ================================================================== --- src/srsinit/epsg_inlined_19.c +++ src/srsinit/epsg_inlined_19.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -919,11 +915,11 @@ add_proj4text (p, 1, ".482,0.953,4.6,-2.368,0.586 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Tete\",DATUM[\"Tete\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 1, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 2, "],TOWGS84[-73.472,-51.66,-112.482,0.953,4.6,-2.368,0.586"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6127\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, @@ -942,11 +938,11 @@ add_proj4text (p, 0, "+proj=longlat +ellps=clrk66 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Madzansua\",DATUM[\"Madzansua\",SPHEROID[\"Clar"); add_srs_wkt (p, 1, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 2, ",\"7008\"]],AUTHORITY[\"EPSG\",\"6128\"]],PRIMEM[\"Green"); add_srs_wkt (p, 3, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 4, @@ -963,11 +959,11 @@ add_proj4text (p, 0, "+proj=longlat +ellps=clrk66 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Observatario\",DATUM[\"Observatario\",SPHEROID["); add_srs_wkt (p, 1, - "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\""); + "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\""); add_srs_wkt (p, 2, "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6129\"]],PRIMEM[\""); add_srs_wkt (p, 3, "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); add_srs_wkt (p, 4, @@ -980,36 +976,36 @@ "Moznet", 1, 1, "WGS 84", "Greenwich", "Moznet_ITRF94", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_de"); + "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no"); add_proj4text (p, 1, - "fs"); + "_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Moznet\",DATUM[\"Moznet_ITRF94\",SPHEROID[\"WGS"); add_srs_wkt (p, 1, " 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]"); add_srs_wkt (p, 2, - "],TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6130\"]],P"); + "],TOWGS84[0,0,0,-0,-0,-0,0],AUTHORITY[\"EPSG\",\"6130\"]"); add_srs_wkt (p, 3, - "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 4, - "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122"); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 5, - "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 6, - "UTHORITY[\"EPSG\",\"4130\"]]"); + "],AUTHORITY[\"EPSG\",\"4130\"]]"); p = add_epsg_def_ex (filter, first, last, 4131, "epsg", 4131, "Indian 1960", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1960", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8"); add_proj4text (p, 1, - "84=198,881,317,0,0,0,0 +no_defs"); + "4=198,881,317,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Indian 1960\",DATUM[\"Indian_1960\",SPHEROID[\""); add_srs_wkt (p, 1, "Everest 1830 (1937 Adjustment)\",6377276.345,300.8017,AU"); add_srs_wkt (p, 2, @@ -1078,27 +1074,27 @@ "PDO_Survey_Datum_1993", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +ellps=clrk80 +towgs84=-180.624,-225.516,1"); add_proj4text (p, 1, - "73.919,-0.81,-1.898,8.336,16.71006 +no_defs"); + "73.919,-0.81,-1.898,8.336,16.7101 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"PSD93\",DATUM[\"PDO_Survey_Datum_1993\",SPHEROI"); add_srs_wkt (p, 1, "D[\"Clarke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\""); add_srs_wkt (p, 2, "EPSG\",\"7012\"]],TOWGS84[-180.624,-225.516,173.919,-0.8"); add_srs_wkt (p, 3, - "1,-1.898,8.336,16.71006],AUTHORITY[\"EPSG\",\"6134\"]],P"); + "1,-1.898,8.336,16.7101],AUTHORITY[\"EPSG\",\"6134\"]],PR"); add_srs_wkt (p, 4, - "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT"); + "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT["); add_srs_wkt (p, 5, - "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122"); + "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\""); add_srs_wkt (p, 6, - "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A"); + "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT"); add_srs_wkt (p, 7, - "UTHORITY[\"EPSG\",\"4134\"]]"); + "HORITY[\"EPSG\",\"4134\"]]"); p = add_epsg_def_ex (filter, first, last, 4135, "epsg", 4135, "Old Hawaiian", 1, 1, "Clarke 1866", "Greenwich", "Old_Hawaiian", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -1107,11 +1103,11 @@ add_proj4text (p, 1, "0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Old Hawaiian\",DATUM[\"Old_Hawaiian\",SPHEROID["); add_srs_wkt (p, 1, - "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\""); + "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\""); add_srs_wkt (p, 2, "EPSG\",\"7008\"]],TOWGS84[61,-285,-181,0,0,0,0],AUTHORIT"); add_srs_wkt (p, 3, "Y[\"EPSG\",\"6135\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 4, @@ -1128,11 +1124,11 @@ add_proj4text (p, 0, "+proj=longlat +ellps=clrk66 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"St. Lawrence Island\",DATUM[\"St_Lawrence_Islan"); add_srs_wkt (p, 1, - "d\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982"); + "d\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006"); add_srs_wkt (p, 2, ",AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6136"); add_srs_wkt (p, 3, "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); add_srs_wkt (p, 4, @@ -1149,11 +1145,11 @@ add_proj4text (p, 0, "+proj=longlat +ellps=clrk66 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"St. Paul Island\",DATUM[\"St_Paul_Island\",SPHE"); add_srs_wkt (p, 1, - "ROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORI"); + "ROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORI"); add_srs_wkt (p, 2, "TY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6137\"]],PRI"); add_srs_wkt (p, 3, "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 4, @@ -1170,11 +1166,11 @@ add_proj4text (p, 0, "+proj=longlat +ellps=clrk66 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"St. George Island\",DATUM[\"St_George_Island\","); add_srs_wkt (p, 1, - "SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUT"); + "SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUT"); add_srs_wkt (p, 2, "HORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6138\"]]"); add_srs_wkt (p, 3, ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); add_srs_wkt (p, 4, @@ -1193,11 +1189,11 @@ add_proj4text (p, 1, "+no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Puerto Rico\",DATUM[\"Puerto_Rico\",SPHEROID[\""); add_srs_wkt (p, 1, - "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP"); + "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP"); add_srs_wkt (p, 2, "SG\",\"7008\"]],TOWGS84[11,72,-101,0,0,0,0],AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"6139\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 4, @@ -1304,13 +1300,13 @@ "Kalianpur 1937", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Kalianpur_1937", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8"); add_proj4text (p, 1, - "84=214,804,268,0,0,0,0 +no_defs"); + "4=214,804,268,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Kalianpur 1937\",DATUM[\"Kalianpur_1937\",SPHER"); add_srs_wkt (p, 1, "OID[\"Everest 1830 (1937 Adjustment)\",6377276.345,300.8"); add_srs_wkt (p, 2, @@ -1329,11 +1325,11 @@ "Kalianpur 1962", 1, 1, "Everest 1830 (1962 Definition)", "Greenwich", "Kalianpur_1962", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377301.243 +b=6356100.230165385 +towgs"); + "+proj=longlat +a=6377301.243 +b=6356100.230165384 +towgs"); add_proj4text (p, 1, "84=283,682,231,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Kalianpur 1962\",DATUM[\"Kalianpur_1962\",SPHER"); add_srs_wkt (p, 1, @@ -1571,11 +1567,11 @@ add_proj4text (p, 1, "4,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Dabola 1981\",DATUM[\"Dabola_1981\",SPHEROID[\""); add_srs_wkt (p, 1, - "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT"); + "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT"); add_srs_wkt (p, 2, "Y[\"EPSG\",\"7011\"]],TOWGS84[-83,37,124,0,0,0,0],AUTHOR"); add_srs_wkt (p, 3, "ITY[\"EPSG\",\"6155\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); add_srs_wkt (p, 4, @@ -1619,11 +1615,11 @@ add_proj4text (p, 1, "+no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Mount Dillon\",DATUM[\"Mount_Dillon\",SPHEROID["); add_srs_wkt (p, 1, - "\"Clarke 1858\",6378293.645208759,294.2606763692606,AUTH"); + "\"Clarke 1858\",6378293.645208759,294.2606763692569,AUTH"); add_srs_wkt (p, 2, "ORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"6157\"]],"); add_srs_wkt (p, 3, "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); add_srs_wkt (p, 4, @@ -1659,29 +1655,29 @@ "ELD79", 1, 1, "International 1924", "Greenwich", "European_Libyan_Datum_1979", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=intl +towgs84=-115.8543,-99.0583,-1"); + "+proj=longlat +ellps=intl +towgs84=-115.854,-99.0583,-15"); add_proj4text (p, 1, - "52.4616,0,0,0,0 +no_defs"); + "2.462,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"ELD79\",DATUM[\"European_Libyan_Datum_1979\",SP"); add_srs_wkt (p, 1, "HEROID[\"International 1924\",6378388,297,AUTHORITY[\"EP"); add_srs_wkt (p, 2, - "SG\",\"7022\"]],TOWGS84[-115.8543,-99.0583,-152.4616,0,0"); + "SG\",\"7022\"]],TOWGS84[-115.854,-99.0583,-152.462,0,0,0"); add_srs_wkt (p, 3, - ",0,0],AUTHORITY[\"EPSG\",\"6159\"]],PRIMEM[\"Greenwich\""); + ",0],AUTHORITY[\"EPSG\",\"6159\"]],PRIMEM[\"Greenwich\",0"); add_srs_wkt (p, 4, - ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); + ",AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532"); add_srs_wkt (p, 5, - "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud"); + "925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\""); add_srs_wkt (p, 6, - "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\""); + ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"41"); add_srs_wkt (p, 7, - "4159\"]]"); + "59\"]]"); p = add_epsg_def_ex (filter, first, last, 4160, "epsg", 4160, "Chos Malal 1914", 1, 1, "International 1924", "Greenwich", "Chos_Malal_1914", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -1893,13 +1889,13 @@ add_proj4text (p, 1, "0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"American Samoa 1962\",DATUM[\"American_Samoa_19"); add_srs_wkt (p, 1, - "62\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898"); + "62\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213900"); add_srs_wkt (p, 2, - "2,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-115,118,426,0,0"); + "6,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-115,118,426,0,0"); add_srs_wkt (p, 3, ",0,0],AUTHORITY[\"EPSG\",\"6169\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -2146,29 +2142,29 @@ "Luxembourg 1930", 1, 1, "International 1924", "Greenwich", "Luxembourg_1930", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=intl +towgs84=-189.6806,18.3463,-42"); + "+proj=longlat +ellps=intl +towgs84=-189.681,18.3463,-42."); add_proj4text (p, 1, - ".7695,-0.33746,-3.09264,2.53861,0.4598 +no_defs"); + "7695,-0.33746,-3.09264,2.53861,0.4598 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Luxembourg 1930\",DATUM[\"Luxembourg_1930\",SPH"); add_srs_wkt (p, 1, "EROID[\"International 1924\",6378388,297,AUTHORITY[\"EPS"); add_srs_wkt (p, 2, - "G\",\"7022\"]],TOWGS84[-189.6806,18.3463,-42.7695,-0.337"); + "G\",\"7022\"]],TOWGS84[-189.681,18.3463,-42.7695,-0.3374"); add_srs_wkt (p, 3, - "46,-3.09264,2.53861,0.4598],AUTHORITY[\"EPSG\",\"6181\"]"); + "6,-3.09264,2.53861,0.4598],AUTHORITY[\"EPSG\",\"6181\"]]"); add_srs_wkt (p, 4, - "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); + ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); add_srs_wkt (p, 5, - "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); + "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); add_srs_wkt (p, 6, - "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); + "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); add_srs_wkt (p, 7, - "],AUTHORITY[\"EPSG\",\"4181\"]]"); + ",AUTHORITY[\"EPSG\",\"4181\"]]"); p = add_epsg_def_ex (filter, first, last, 4182, "epsg", 4182, "Azores Occidental 1939", 1, 1, "International 1924", "Greenwich", "Azores_Occidental_Islands_1939", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -2390,11 +2386,11 @@ add_proj4text (p, 1, "1.8,-41.4,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Manoca 1962\",DATUM[\"Manoca_1962\",SPHEROID[\""); add_srs_wkt (p, 1, - "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT"); + "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT"); add_srs_wkt (p, 2, "Y[\"EPSG\",\"7011\"]],TOWGS84[-70.9,-151.8,-41.4,0,0,0,0"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6193\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, @@ -2545,25 +2541,27 @@ "Pulkovo_1995", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +ellps=krass +towgs84=24.47,-130.89,-81.56"); add_proj4text (p, 1, - ",0,0,0.13,-0.22 +no_defs"); + ",-0,-0,0.13,-0.22 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 1, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 2, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 3, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 6, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 7, + "]]"); p = add_epsg_def_ex (filter, first, last, 4201, "epsg", 4201, "Adindan", 1, 1, "Clarke 1880 (RGS)", "Greenwich", "Adindan", "none", "degree", "Latitude", "North", "Longitude", "East"); Index: src/srsinit/epsg_inlined_20.c ================================================================== --- src/srsinit/epsg_inlined_20.c +++ src/srsinit/epsg_inlined_20.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -66,11 +62,11 @@ add_proj4text (p, 0, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Agadez\",DATUM[\"Agadez\",SPHEROID[\"Clarke 188"); add_srs_wkt (p, 1, - "0 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\""); + "0 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 2, ",\"7011\"]],AUTHORITY[\"EPSG\",\"6206\"]],PRIMEM[\"Green"); add_srs_wkt (p, 3, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 4, @@ -229,11 +225,11 @@ add_proj4text (p, 1, "188,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Beduaram\",DATUM[\"Beduaram\",SPHEROID[\"Clarke"); add_srs_wkt (p, 1, - " 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EP"); + " 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EP"); add_srs_wkt (p, 2, "SG\",\"7011\"]],TOWGS84[-106,-87,188,0,0,0,0],AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"6213\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 4, @@ -296,11 +292,11 @@ add_proj4text (p, 1, " +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Bermuda 1957\",DATUM[\"Bermuda_1957\",SPHEROID["); add_srs_wkt (p, 1, - "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\""); + "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\""); add_srs_wkt (p, 2, "EPSG\",\"7008\"]],TOWGS84[-73,213,296,0,0,0,0],AUTHORITY"); add_srs_wkt (p, 3, "[\"EPSG\",\"6216\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 4, @@ -473,11 +469,11 @@ add_proj4text (p, 1, "1,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Carthage\",DATUM[\"Carthage\",SPHEROID[\"Clarke"); add_srs_wkt (p, 1, - " 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EP"); + " 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EP"); add_srs_wkt (p, 2, "SG\",\"7011\"]],TOWGS84[-263,6,431,0,0,0,0],AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"6223\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 4, @@ -542,11 +538,11 @@ add_proj4text (p, 0, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Cote d'Ivoire\",DATUM[\"Cote_d_Ivoire\",SPHEROI"); add_srs_wkt (p, 1, - "D[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTH"); + "D[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTH"); add_srs_wkt (p, 2, "ORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\"6226\"]],"); add_srs_wkt (p, 3, "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); add_srs_wkt (p, 4, @@ -565,11 +561,11 @@ add_proj4text (p, 1, "8.532,238.69,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Deir ez Zor\",DATUM[\"Deir_ez_Zor\",SPHEROID[\""); add_srs_wkt (p, 1, - "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT"); + "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT"); add_srs_wkt (p, 2, "Y[\"EPSG\",\"7011\"]],TOWGS84[-190.421,8.532,238.69,0,0,"); add_srs_wkt (p, 3, "0,0],AUTHORITY[\"EPSG\",\"6227\"]],PRIMEM[\"Greenwich\","); add_srs_wkt (p, 4, @@ -588,11 +584,11 @@ add_proj4text (p, 0, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Douala\",DATUM[\"Douala\",SPHEROID[\"Clarke 188"); add_srs_wkt (p, 1, - "0 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\""); + "0 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 2, ",\"7011\"]],AUTHORITY[\"EPSG\",\"6228\"]],PRIMEM[\"Green"); add_srs_wkt (p, 3, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 4, @@ -653,29 +649,27 @@ "European_Datum_1987", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +ellps=intl +towgs84=-83.11,-97.38,-117.22"); add_proj4text (p, 1, - ",0.00569290865241986,-0.0446975835137458,0.0442850539012"); - add_proj4text (p, 2, - "516,0.1218 +no_defs"); + ",0.00569291,-0.0446976,0.0442851,0.1218 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"ED87\",DATUM[\"European_Datum_1987\",SPHEROID[\""); add_srs_wkt (p, 1, "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 2, - "22\"]],TOWGS84[-83.11,-97.38,-117.22,0.00569290865241986"); + "22\"]],TOWGS84[-83.11,-97.38,-117.22,0.00569291,-0.04469"); add_srs_wkt (p, 3, - ",-0.0446975835137458,0.0442850539012516,0.1218],AUTHORIT"); + "76,0.0442851,0.1218],AUTHORITY[\"EPSG\",\"6231\"]],PRIME"); add_srs_wkt (p, 4, - "Y[\"EPSG\",\"6231\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); add_srs_wkt (p, 5, - "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"); add_srs_wkt (p, 6, - "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO"); add_srs_wkt (p, 7, - "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4231\"]]"); + "RITY[\"EPSG\",\"4231\"]]"); p = add_epsg_def_ex (filter, first, last, 4232, "epsg", 4232, "Fahud", 1, 1, "Clarke 1880 (RGS)", "Greenwich", "Fahud", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -728,11 +722,11 @@ add_proj4text (p, 0, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Garoua\",DATUM[\"Garoua\",SPHEROID[\"Clarke 188"); add_srs_wkt (p, 1, - "0 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\""); + "0 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 2, ",\"7011\"]],AUTHORITY[\"EPSG\",\"6234\"]],PRIMEM[\"Green"); add_srs_wkt (p, 3, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 4, @@ -835,13 +829,13 @@ "Indian 1954", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1954", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8"); add_proj4text (p, 1, - "84=217,823,299,0,0,0,0 +no_defs"); + "4=217,823,299,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Indian 1954\",DATUM[\"Indian_1954\",SPHEROID[\""); add_srs_wkt (p, 1, "Everest 1830 (1937 Adjustment)\",6377276.345,300.8017,AU"); add_srs_wkt (p, 2, @@ -860,13 +854,13 @@ "Indian 1975", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1975", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8"); add_proj4text (p, 1, - "84=210,814,289,0,0,0,0 +no_defs"); + "4=210,814,289,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Indian 1975\",DATUM[\"Indian_1975\",SPHEROID[\""); add_srs_wkt (p, 1, "Everest 1830 (1937 Adjustment)\",6377276.345,300.8017,AU"); add_srs_wkt (p, 2, @@ -891,11 +885,11 @@ add_proj4text (p, 1, "+no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Jamaica 1875\",DATUM[\"Jamaica_1875\",SPHEROID["); add_srs_wkt (p, 1, - "\"Clarke 1880\",6378249.144808011,293.4663076556365,AUTH"); + "\"Clarke 1880\",6378249.144808011,293.4663076556349,AUTH"); add_srs_wkt (p, 2, "ORITY[\"EPSG\",\"7034\"]],AUTHORITY[\"EPSG\",\"6241\"]],"); add_srs_wkt (p, 3, "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); add_srs_wkt (p, 4, @@ -914,11 +908,11 @@ add_proj4text (p, 1, "0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"JAD69\",DATUM[\"Jamaica_1969\",SPHEROID[\"Clark"); add_srs_wkt (p, 1, - "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\","); + "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 2, "\"7008\"]],TOWGS84[70,207,389.5,0,0,0,0],AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"6242\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, @@ -939,11 +933,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"Kalianpur 1880\",DATUM[\"Kalianpur_1880\",SPHER"); add_srs_wkt (p, 1, "OID[\"Everest (1830 Definition)\",6377299.36559538,300.8"); add_srs_wkt (p, 2, - "017255433549,AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"E"); + "017255433552,AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"E"); add_srs_wkt (p, 3, "PSG\",\"6243\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); add_srs_wkt (p, 5, @@ -954,13 +948,13 @@ "Kandawala", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Kandawala", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8"); add_proj4text (p, 1, - "84=-97,787,86,0,0,0,0 +no_defs"); + "4=-97,787,86,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Kandawala\",DATUM[\"Kandawala\",SPHEROID[\"Ever"); add_srs_wkt (p, 1, "est 1830 (1937 Adjustment)\",6377276.345,300.8017,AUTHOR"); add_srs_wkt (p, 2, @@ -1140,11 +1134,11 @@ add_proj4text (p, 0, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Lome\",DATUM[\"Lome\",SPHEROID[\"Clarke 1880 (I"); add_srs_wkt (p, 1, - "GN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7"); + "GN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 2, "011\"]],AUTHORITY[\"EPSG\",\"6252\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 3, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 4, @@ -1163,11 +1157,11 @@ add_proj4text (p, 1, "0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Luzon 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Cl"); add_srs_wkt (p, 1, - "arke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG"); + "arke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG"); add_srs_wkt (p, 2, "\",\"7008\"]],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"6253\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 4, @@ -1349,11 +1343,11 @@ add_proj4text (p, 1, ",0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Merchich\",DATUM[\"Merchich\",SPHEROID[\"Clarke"); add_srs_wkt (p, 1, - " 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EP"); + " 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EP"); add_srs_wkt (p, 2, "SG\",\"7011\"]],TOWGS84[31,146,47,0,0,0,0],AUTHORITY[\"E"); add_srs_wkt (p, 3, "PSG\",\"6261\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, @@ -1466,11 +1460,11 @@ add_proj4text (p, 1, "42,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"M'poraloko\",DATUM[\"M_poraloko\",SPHEROID[\"Cl"); add_srs_wkt (p, 1, - "arke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY["); + "arke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY["); add_srs_wkt (p, 2, "\"EPSG\",\"7011\"]],TOWGS84[-74,-130,42,0,0,0,0],AUTHORI"); add_srs_wkt (p, 3, "TY[\"EPSG\",\"6266\"]],PRIMEM[\"Greenwich\",0,AUTHORITY["); add_srs_wkt (p, 4, @@ -1487,11 +1481,11 @@ add_proj4text (p, 0, "+proj=longlat +datum=NAD27 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPH"); add_srs_wkt (p, 1, - "EROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHOR"); + "EROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHOR"); add_srs_wkt (p, 2, "ITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PR"); add_srs_wkt (p, 3, "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT["); add_srs_wkt (p, 4, @@ -1512,11 +1506,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHER"); add_srs_wkt (p, 1, "OID[\"Clarke 1866 Michigan\",6378450.047548896,294.97869"); add_srs_wkt (p, 2, - "71646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\""); + "71646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 5, @@ -1677,11 +1671,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"NTF\",DATUM[\"Nouvelle_Triangulation_Francaise\""); add_srs_wkt (p, 1, ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936"); add_srs_wkt (p, 2, - "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); + "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); add_srs_wkt (p, 3, ",0,0,0],AUTHORITY[\"EPSG\",\"6275\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -1803,27 +1797,27 @@ "Palestine_1923", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-27"); add_proj4text (p, 1, - "5.7224,94.7824,340.8944,-8.001,-4.42,-11.821,1 +no_defs"); + "5.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Palestine 1923\",DATUM[\"Palestine_1923\",SPHER"); add_srs_wkt (p, 1, "OID[\"Clarke 1880 (Benoit)\",6378300.789,293.46631553898"); add_srs_wkt (p, 2, - "11,AUTHORITY[\"EPSG\",\"7010\"]],TOWGS84[-275.7224,94.78"); + "02,AUTHORITY[\"EPSG\",\"7010\"]],TOWGS84[-275.722,94.782"); add_srs_wkt (p, 3, - "24,340.8944,-8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\""); + "4,340.894,-8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6"); add_srs_wkt (p, 4, - "6281\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + "281\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901"); add_srs_wkt (p, 5, - "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG"); add_srs_wkt (p, 6, - "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\""); add_srs_wkt (p, 7, - "\",EAST],AUTHORITY[\"EPSG\",\"4281\"]]"); + ",EAST],AUTHORITY[\"EPSG\",\"4281\"]]"); p = add_epsg_def_ex (filter, first, last, 4282, "epsg", 4282, "Pointe Noire", 1, 1, "Clarke 1880 (IGN)", "Greenwich", "Congo_1960_Pointe_Noire", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -1834,11 +1828,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"Pointe Noire\",DATUM[\"Congo_1960_Pointe_Noire\""); add_srs_wkt (p, 1, ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936"); add_srs_wkt (p, 2, - "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-148,51,-291,0"); + "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-148,51,-291,0"); add_srs_wkt (p, 3, ",0,0,0],AUTHORITY[\"EPSG\",\"6282\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -1876,25 +1870,25 @@ "Pulkovo_1942", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +ellps=krass +towgs84=23.92,-141.27,-80.9,"); add_proj4text (p, 1, - "0,0.35,0.82,-0.12 +no_defs"); + "-0,0.35,0.82,-0.12 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 1, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 2, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 3, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 4, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 5, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 6, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 7, "]]"); p = add_epsg_def_ex (filter, first, last, 4285, "epsg", 4285, "Qatar 1974", 1, 1, "International 1924", "Greenwich", @@ -1987,31 +1981,29 @@ "Amersfoort", 1, 1, "Bessel 1841", "Greenwich", "Amersfoort", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=bessel +towgs84=565.4171,50.3319,46"); + "+proj=longlat +ellps=bessel +towgs84=565.417,50.3319,465"); add_proj4text (p, 1, - "5.5524,-0.398957388243134,0.343987817378283,-1.877401639"); - add_proj4text (p, 2, - "98045,4.0725 +no_defs"); + ".552,-0.398957,0.343988,-1.8774,4.0725 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Amersfoort\",DATUM[\"Amersfoort\",SPHEROID[\"Be"); add_srs_wkt (p, 1, "ssel 1841\",6377397.155,299.1528128,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 2, - "7004\"]],TOWGS84[565.4171,50.3319,465.5524,-0.3989573882"); + "7004\"]],TOWGS84[565.417,50.3319,465.552,-0.398957,0.343"); add_srs_wkt (p, 3, - "43134,0.343987817378283,-1.87740163998045,4.0725],AUTHOR"); + "988,-1.8774,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],PRIMEM"); add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); + "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); + "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],"); add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); + "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR"); add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4289\"]]"); + "ITY[\"EPSG\",\"4289\"]]"); p = add_epsg_def_ex (filter, first, last, 4291, "epsg", 4291, "SAD69", 1, 1, "GRS 1967", "Greenwich", "South_American_Datum_1969", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -2133,11 +2125,11 @@ add_proj4text (p, 0, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Sudan\",DATUM[\"Sudan\",SPHEROID[\"Clarke 1880 "); add_srs_wkt (p, 1, - "(IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\""); + "(IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 2, "7011\"]],AUTHORITY[\"EPSG\",\"6296\"]],PRIMEM[\"Greenwic"); add_srs_wkt (p, 3, "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01"); add_srs_wkt (p, 4, @@ -2277,11 +2269,11 @@ add_proj4text (p, 1, "+towgs84=-61.702,284.488,472.052,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Trinidad 1903\",DATUM[\"Trinidad_1903\",SPHEROI"); add_srs_wkt (p, 1, - "D[\"Clarke 1858\",6378293.645208759,294.2606763692606,AU"); + "D[\"Clarke 1858\",6378293.645208759,294.2606763692569,AU"); add_srs_wkt (p, 2, "THORITY[\"EPSG\",\"7007\"]],TOWGS84[-61.702,284.488,472."); add_srs_wkt (p, 3, "052,0,0,0,0],AUTHORITY[\"EPSG\",\"6302\"]],PRIMEM[\"Gree"); add_srs_wkt (p, 4, @@ -2323,11 +2315,11 @@ add_proj4text (p, 1, "227,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Voirol 1875\",DATUM[\"Voirol_1875\",SPHEROID[\""); add_srs_wkt (p, 1, - "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT"); + "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT"); add_srs_wkt (p, 2, "Y[\"EPSG\",\"7011\"]],TOWGS84[-73,-247,227,0,0,0,0],AUTH"); add_srs_wkt (p, 3, "ORITY[\"EPSG\",\"6304\"]],PRIMEM[\"Greenwich\",0,AUTHORI"); add_srs_wkt (p, 4, @@ -2361,29 +2353,29 @@ "Nord Sahara 1959", 1, 1, "Clarke 1880 (RGS)", "Greenwich", "Nord_Sahara_1959", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=clrk80 +towgs84=-209.3622,-87.8162,"); + "+proj=longlat +ellps=clrk80 +towgs84=-209.362,-87.8162,4"); add_proj4text (p, 1, - "404.6198,0.0046,3.4784,0.5805,-1.4547 +no_defs"); + "04.62,0.0046,3.4784,0.5805,-1.4547 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Nord Sahara 1959\",DATUM[\"Nord_Sahara_1959\",S"); add_srs_wkt (p, 1, "PHEROID[\"Clarke 1880 (RGS)\",6378249.145,293.465,AUTHOR"); add_srs_wkt (p, 2, - "ITY[\"EPSG\",\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6"); + "ITY[\"EPSG\",\"7012\"]],TOWGS84[-209.362,-87.8162,404.62"); add_srs_wkt (p, 3, - "198,0.0046,3.4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6"); + ",0.0046,3.4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307"); add_srs_wkt (p, 4, - "307\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901"); + "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); add_srs_wkt (p, 5, - "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG"); + "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 6, - "\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\""); + "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E"); add_srs_wkt (p, 7, - ",EAST],AUTHORITY[\"EPSG\",\"4307\"]]"); + "AST],AUTHORITY[\"EPSG\",\"4307\"]]"); p = add_epsg_def_ex (filter, first, last, 4308, "epsg", 4308, "RT38", 1, 1, "Bessel 1841", "Greenwich", "Stockholm_1938", "none", "degree", "Latitude", "North", "Longitude", "East"); Index: src/srsinit/epsg_inlined_21.c ================================================================== --- src/srsinit/epsg_inlined_21.c +++ src/srsinit/epsg_inlined_21.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -89,11 +85,11 @@ add_proj4text (p, 0, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Yoff\",DATUM[\"Yoff\",SPHEROID[\"Clarke 1880 (I"); add_srs_wkt (p, 1, - "GN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7"); + "GN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 2, "011\"]],AUTHORITY[\"EPSG\",\"6310\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 3, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 4, @@ -154,29 +150,29 @@ "Belge 1972", 1, 1, "International 1924", "Greenwich", "Reseau_National_Belge_1972", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=intl +towgs84=-106.8686,52.2978,-10"); + "+proj=longlat +ellps=intl +towgs84=-106.869,52.2978,-103"); add_proj4text (p, 1, - "3.7239,0.3366,-0.457,1.8422,-1.2747 +no_defs"); + ".724,0.3366,-0.457,1.8422,-1.2747 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Belge 1972\",DATUM[\"Reseau_National_Belge_1972"); add_srs_wkt (p, 1, "\",SPHEROID[\"International 1924\",6378388,297,AUTHORITY"); add_srs_wkt (p, 2, - "[\"EPSG\",\"7022\"]],TOWGS84[-106.8686,52.2978,-103.7239"); + "[\"EPSG\",\"7022\"]],TOWGS84[-106.869,52.2978,-103.724,0"); add_srs_wkt (p, 3, - ",0.3366,-0.457,1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313"); + ".3366,-0.457,1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\""); add_srs_wkt (p, 4, - "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); + "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 5, - "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\","); + "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 6, - "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E"); + "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS"); add_srs_wkt (p, 7, - "AST],AUTHORITY[\"EPSG\",\"4313\"]]"); + "T],AUTHORITY[\"EPSG\",\"4313\"]]"); p = add_epsg_def_ex (filter, first, last, 4314, "epsg", 4314, "DHDN", 1, 1, "Bessel 1841", "Greenwich", "Deutsches_Hauptdreiecksnetz", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -210,11 +206,11 @@ add_proj4text (p, 1, "9,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Conakry 1905\",DATUM[\"Conakry_1905\",SPHEROID["); add_srs_wkt (p, 1, - "\"Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHOR"); + "\"Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHOR"); add_srs_wkt (p, 2, "ITY[\"EPSG\",\"7011\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTH"); add_srs_wkt (p, 3, "ORITY[\"EPSG\",\"6315\"]],PRIMEM[\"Greenwich\",0,AUTHORI"); add_srs_wkt (p, 4, @@ -375,11 +371,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 59N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -412,11 +408,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 60N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -449,11 +445,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 1N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -486,11 +482,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 2N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -523,11 +519,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 3N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -560,11 +556,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 4N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -597,11 +593,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 5N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -634,11 +630,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 6N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -671,11 +667,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 7N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -708,11 +704,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 8N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -745,11 +741,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 9N (ftUS)\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -782,11 +778,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 10N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -819,11 +815,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 11N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -856,11 +852,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 12N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -893,11 +889,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 13N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -971,11 +967,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Katanga 1955 / Katanga Lambert\",GEOGCS[\"Katan"); add_srs_wkt (p, 1, "ga 1955\",DATUM[\"Katanga_1955\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,0],AUTHORITY[\""); add_srs_wkt (p, 4, "EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 5, @@ -1049,11 +1045,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 18N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -1086,11 +1082,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 19N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -1835,11 +1831,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Pennsylvania South\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -1878,11 +1874,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New York Long Island\",GEOGCS[\"NAD27\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1"); add_srs_wkt (p, 2, - "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7"); + "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_22.c ================================================================== --- src/srsinit/epsg_inlined_22.c +++ src/srsinit/epsg_inlined_22.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -2287,13 +2283,13 @@ add_proj4text (p, 0, "+proj=longlat +ellps=clrk66 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"NAD27(76)\",DATUM[\"North_American_Datum_1927_1"); add_srs_wkt (p, 1, - "976\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821389"); + "976\",SPHEROID[\"Clarke 1866\",6378206.4,294.97869821390"); add_srs_wkt (p, 2, - "82,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"66"); + "06,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"66"); add_srs_wkt (p, 3, "08\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 4, "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 5, @@ -2310,11 +2306,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"NAD27(CGQ77)\",DATUM[\"North_American_Datum_192"); add_srs_wkt (p, 1, "7_CGQ77\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982"); add_srs_wkt (p, 2, - "138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\","); + "139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, "\"6609\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); add_srs_wkt (p, 4, "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); add_srs_wkt (p, 5, @@ -2346,27 +2342,27 @@ "Hong_Kong_1980", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-16"); add_proj4text (p, 1, - "1.764,0.067753,-2.243649,-1.158827,-1.094246 +no_defs"); + "1.764,0.067753,-2.24365,-1.15883,-1.09425 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Hong Kong 1980\",DATUM[\"Hong_Kong_1980\",SPHER"); add_srs_wkt (p, 1, "OID[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 2, ",\"7022\"]],TOWGS84[-162.619,-276.959,-161.764,0.067753,"); add_srs_wkt (p, 3, - "-2.243649,-1.158827,-1.094246],AUTHORITY[\"EPSG\",\"6611"); + "-2.24365,-1.15883,-1.09425],AUTHORITY[\"EPSG\",\"6611\"]"); add_srs_wkt (p, 4, - "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, - "],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\","); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 6, - "\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",E"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 7, - "AST],AUTHORITY[\"EPSG\",\"4611\"]]"); + "],AUTHORITY[\"EPSG\",\"4611\"]]"); p = add_epsg_def_ex (filter, first, last, 4612, "epsg", 4612, "JGD2000", 1, 1, "GRS 1980", "Greenwich", "Japanese_Geodetic_Datum_2000", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -2415,29 +2411,29 @@ "QND95", 1, 1, "International 1924", "Greenwich", "Qatar_National_Datum_1995", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=intl +towgs84=-119.4248,-303.65872,"); + "+proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11"); add_proj4text (p, 1, - "-11.00061,1.164298,0.174458,1.096259,3.657065 +no_defs"); + ".0006,1.1643,0.174458,1.09626,3.65706 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"QND95\",DATUM[\"Qatar_National_Datum_1995\",SPH"); add_srs_wkt (p, 1, "EROID[\"International 1924\",6378388,297,AUTHORITY[\"EPS"); add_srs_wkt (p, 2, - "G\",\"7022\"]],TOWGS84[-119.4248,-303.65872,-11.00061,1."); + "G\",\"7022\"]],TOWGS84[-119.425,-303.659,-11.0006,1.1643"); add_srs_wkt (p, 3, - "164298,0.174458,1.096259,3.657065],AUTHORITY[\"EPSG\",\""); + ",0.174458,1.09626,3.65706],AUTHORITY[\"EPSG\",\"6614\"]]"); add_srs_wkt (p, 4, - "6614\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); add_srs_wkt (p, 5, - "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); add_srs_wkt (p, 6, - "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); add_srs_wkt (p, 7, - "\",EAST],AUTHORITY[\"EPSG\",\"4614\"]]"); + ",AUTHORITY[\"EPSG\",\"4614\"]]"); p = add_epsg_def_ex (filter, first, last, 4615, "epsg", 4615, "Porto Santo", 1, 1, "International 1924", "Greenwich", "Porto_Santo_1936", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -2985,11 +2981,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"Saint Pierre et Miquelon 1950\",DATUM[\"Saint_P"); add_srs_wkt (p, 1, "ierre_et_Miquelon_1950\",SPHEROID[\"Clarke 1866\",637820"); add_srs_wkt (p, 2, - "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWG"); + "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWG"); add_srs_wkt (p, 3, "S84[30,430,368,0,0,0,0],AUTHORITY[\"EPSG\",\"6638\"]],PR"); add_srs_wkt (p, 4, "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT["); add_srs_wkt (p, 5, @@ -3098,26 +3094,26 @@ "ST71_Belep", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643."); add_proj4text (p, 1, - "429,16.3119,20.1721,-4.0349,-111.7002 +no_defs"); + "429,16.3119,20.1721,-4.0349,-111.7 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"ST71 Belep\",DATUM[\"ST71_Belep\",SPHEROID[\"In"); add_srs_wkt (p, 1, "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022"); add_srs_wkt (p, 2, "\"]],TOWGS84[-480.26,-438.32,-643.429,16.3119,20.1721,-4"); add_srs_wkt (p, 3, - ".0349,-111.7002],AUTHORITY[\"EPSG\",\"6643\"]],PRIMEM[\""); + ".0349,-111.7],AUTHORITY[\"EPSG\",\"6643\"]],PRIMEM[\"Gre"); add_srs_wkt (p, 4, - "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); + "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, - "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); + ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\""); add_srs_wkt (p, 6, - "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); + "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E"); add_srs_wkt (p, 7, - "[\"EPSG\",\"4643\"]]"); + "PSG\",\"4643\"]]"); } #endif /* full EPSG initialization enabled/disabled */ Index: src/srsinit/epsg_inlined_23.c ================================================================== --- src/srsinit/epsg_inlined_23.c +++ src/srsinit/epsg_inlined_23.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -416,31 +412,29 @@ "Helle 1954", 1, 1, "International 1924", "Greenwich", "Helle_1954", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=intl +towgs84=982.6087,552.753,-540"); + "+proj=longlat +ellps=intl +towgs84=982.609,552.753,-540."); add_proj4text (p, 1, - ".873,6.68162662527694,-31.6114924086422,-19.848161004816"); - add_proj4text (p, 2, - "8,16.805 +no_defs"); + "873,6.68163,-31.6115,-19.8482,16.805 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Helle 1954\",DATUM[\"Helle_1954\",SPHEROID[\"In"); add_srs_wkt (p, 1, "ternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"7022"); add_srs_wkt (p, 2, - "\"]],TOWGS84[982.6087,552.753,-540.873,6.68162662527694,"); + "\"]],TOWGS84[982.609,552.753,-540.873,6.68163,-31.6115,-"); add_srs_wkt (p, 3, - "-31.6114924086422,-19.8481610048168,16.805],AUTHORITY[\""); + "19.8482,16.805],AUTHORITY[\"EPSG\",\"6660\"]],PRIMEM[\"G"); add_srs_wkt (p, 4, - "EPSG\",\"6660\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4660\"]]"); + "\"EPSG\",\"4660\"]]"); p = add_epsg_def_ex (filter, first, last, 4661, "epsg", 4661, "LKS92", 1, 1, "GRS 1980", "Greenwich", "Latvia_1992", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -687,11 +681,11 @@ add_proj4text (p, 0, "+proj=longlat +a=6378249.2 +b=6356515 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Voirol 1879\",DATUM[\"Voirol_1879\",SPHEROID[\""); add_srs_wkt (p, 1, - "Clarke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORIT"); + "Clarke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORIT"); add_srs_wkt (p, 2, "Y[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\"6671\"]],PRIM"); add_srs_wkt (p, 3, "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 4, @@ -731,27 +725,27 @@ "Chatham_Islands_Datum_1979", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +ellps=intl +towgs84=174.05,-25.49,112.57,"); add_proj4text (p, 1, - "0,0,0.554,0.2263 +no_defs"); + "-0,-0,0.554,0.2263 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Chatham Islands 1979\",DATUM[\"Chatham_Islands_"); add_srs_wkt (p, 1, "Datum_1979\",SPHEROID[\"International 1924\",6378388,297"); add_srs_wkt (p, 2, ",AUTHORITY[\"EPSG\",\"7022\"]],TOWGS84[174.05,-25.49,112"); add_srs_wkt (p, 3, - ".57,0,0,0.554,0.2263],AUTHORITY[\"EPSG\",\"6673\"]],PRIM"); + ".57,-0,-0,0.554,0.2263],AUTHORITY[\"EPSG\",\"6673\"]],PR"); add_srs_wkt (p, 4, - "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); + "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT["); add_srs_wkt (p, 5, - "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]"); + "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\""); add_srs_wkt (p, 6, - "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH"); + "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT"); add_srs_wkt (p, 7, - "ORITY[\"EPSG\",\"4673\"]]"); + "HORITY[\"EPSG\",\"4673\"]]"); p = add_epsg_def_ex (filter, first, last, 4674, "epsg", 4674, "SIRGAS 2000", 1, 1, "GRS 1980", "Greenwich", "Sistema_de_Referencia_Geocentrico_para_las_AmericaS_2000", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -785,11 +779,11 @@ add_proj4text (p, 1, ",0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Guam 1963\",DATUM[\"Guam_1963\",SPHEROID[\"Clar"); add_srs_wkt (p, 1, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 2, ",\"7008\"]],TOWGS84[-100,-248,259,0,0,0,0],AUTHORITY[\"E"); add_srs_wkt (p, 3, "PSG\",\"6675\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, @@ -938,13 +932,13 @@ "Gulshan 303", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Gulshan_303", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8"); add_proj4text (p, 1, - "84=283.7,735.9,261.1,0,0,0,0 +no_defs"); + "4=283.7,735.9,261.1,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Gulshan 303\",DATUM[\"Gulshan_303\",SPHEROID[\""); add_srs_wkt (p, 1, "Everest 1830 (1937 Adjustment)\",6377276.345,300.8017,AU"); add_srs_wkt (p, 2, @@ -969,11 +963,11 @@ add_proj4text (p, 1, "04,-3.068,4.903,1.578,-1.06 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"PRS92\",DATUM[\"Philippine_Reference_System_199"); add_srs_wkt (p, 1, - "2\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982"); + "2\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006"); add_srs_wkt (p, 2, ",AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-127.62,-67.24,-4"); add_srs_wkt (p, 3, "7.04,-3.068,4.903,1.578,-1.06],AUTHORITY[\"EPSG\",\"6683"); add_srs_wkt (p, 4, @@ -1082,29 +1076,29 @@ "Fatu Iva 72", 1, 1, "International 1924", "Greenwich", "Fatu_Iva_72", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=intl +towgs84=347.103,1078.125,2623"); + "+proj=longlat +ellps=intl +towgs84=347.103,1078.12,2623."); add_proj4text (p, 1, - ".922,-33.8875,70.6773,-9.3943,186.074 +no_defs"); + "92,-33.8875,70.6773,-9.3943,186.074 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Fatu Iva 72\",DATUM[\"Fatu_Iva_72\",SPHEROID[\""); add_srs_wkt (p, 1, "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 2, - "22\"]],TOWGS84[347.103,1078.125,2623.922,-33.8875,70.677"); + "22\"]],TOWGS84[347.103,1078.12,2623.92,-33.8875,70.6773,"); add_srs_wkt (p, 3, - "3,-9.3943,186.074],AUTHORITY[\"EPSG\",\"6688\"]],PRIMEM["); + "-9.3943,186.074],AUTHORITY[\"EPSG\",\"6688\"]],PRIMEM[\""); add_srs_wkt (p, 4, - "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg"); + "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); add_srs_wkt (p, 5, - "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A"); + "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); add_srs_wkt (p, 6, - "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI"); + "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); add_srs_wkt (p, 7, - "TY[\"EPSG\",\"4688\"]]"); + "[\"EPSG\",\"4688\"]]"); p = add_epsg_def_ex (filter, first, last, 4689, "epsg", 4689, "IGN63 Hiva Oa", 1, 1, "International 1924", "Greenwich", "IGN63_Hiva_Oa", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -1257,11 +1251,11 @@ add_proj4text (p, 1, "5.95,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Katanga 1955\",DATUM[\"Katanga_1955\",SPHEROID["); add_srs_wkt (p, 1, - "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\""); + "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\""); add_srs_wkt (p, 2, "EPSG\",\"7008\"]],TOWGS84[-103.746,-9.614,-255.95,0,0,0,"); add_srs_wkt (p, 3, "0],AUTHORITY[\"EPSG\",\"6695\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, @@ -1769,11 +1763,11 @@ add_proj4text (p, 1, "+no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Cape Canaveral\",DATUM[\"Cape_Canaveral\",SPHER"); add_srs_wkt (p, 1, - "OID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORIT"); + "OID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORIT"); add_srs_wkt (p, 2, "Y[\"EPSG\",\"7008\"]],TOWGS84[-2,151,181,0,0,0,0],AUTHOR"); add_srs_wkt (p, 3, "ITY[\"EPSG\",\"6717\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); add_srs_wkt (p, 4, @@ -1907,13 +1901,13 @@ add_proj4text (p, 1, "7.584,-7.862,8.163,6.042,-13.925 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"GCGD59\",DATUM[\"Grand_Cayman_Geodetic_Datum_19"); add_srs_wkt (p, 1, - "59\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898"); + "59\",SPHEROID[\"Clarke 1866\",6378206.4,294.978698213900"); add_srs_wkt (p, 2, - "2,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-179.483,-69.379"); + "6,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[-179.483,-69.379"); add_srs_wkt (p, 3, ",-27.584,-7.862,8.163,6.042,-13.925],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 4, "\"6723\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); add_srs_wkt (p, 5, @@ -1980,13 +1974,13 @@ add_proj4text (p, 1, "04,-0.393,-2.323,2.96,-24.081 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"SIGD61\",DATUM[\"Sister_Islands_Geodetic_Datum_"); add_srs_wkt (p, 1, - "1961\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138"); + "1961\",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139"); add_srs_wkt (p, 2, - "982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644,"); + "006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644,"); add_srs_wkt (p, 3, "180.304,-0.393,-2.323,2.96,-24.081],AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, "6726\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); add_srs_wkt (p, 5, @@ -2260,11 +2254,11 @@ add_proj4text (p, 1, "+no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Hong Kong 1963\",DATUM[\"Hong_Kong_1963\",SPHER"); add_srs_wkt (p, 1, - "OID[\"Clarke 1858\",6378293.645208759,294.2606763692606,"); + "OID[\"Clarke 1858\",6378293.645208759,294.2606763692569,"); add_srs_wkt (p, 2, "AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"6738\""); add_srs_wkt (p, 3, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 4, @@ -2302,25 +2296,25 @@ "Parametrop_Zemp_1990", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +a=6378136 +b=6356751.361745712 +towgs84=0"); add_proj4text (p, 1, - ",0,1.5,0,0,0.076,0 +no_defs"); + ",0,1.5,-0,-0,0.076,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"PZ-90\",DATUM[\"Parametrop_Zemp_1990\",SPHEROID"); add_srs_wkt (p, 1, "[\"PZ-90\",6378136,298.257839303,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 2, - "54\"]],TOWGS84[0,0,1.5,0,0,0.076,0],AUTHORITY[\"EPSG\",\""); + "54\"]],TOWGS84[0,0,1.5,-0,-0,0.076,0],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - "6740\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); + ",\"6740\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, - "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); + "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 5, - "G\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude"); + "EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longit"); add_srs_wkt (p, 6, - "\",EAST],AUTHORITY[\"EPSG\",\"4740\"]]"); + "ude\",EAST],AUTHORITY[\"EPSG\",\"4740\"]]"); p = add_epsg_def_ex (filter, first, last, 4741, "epsg", 4741, "FD54", 1, 1, "International 1924", "Greenwich", "Faroe_Datum_1954", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -2484,11 +2478,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"Vanua Levu 1915\",DATUM[\"Vanua_Levu_1915\",SPH"); add_srs_wkt (p, 1, "EROID[\"Clarke 1880 (international foot)\",6378306.3696,"); add_srs_wkt (p, 2, - "293.4663076556355,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84["); + "293.4663076556349,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84["); add_srs_wkt (p, 3, "51,391,-36,0,0,0,0],AUTHORITY[\"EPSG\",\"6748\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_24.c ================================================================== --- src/srsinit/epsg_inlined_24.c +++ src/srsinit/epsg_inlined_24.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -141,11 +137,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"Viti Levu 1912\",DATUM[\"Viti_Levu_1912\",SPHER"); add_srs_wkt (p, 1, "OID[\"Clarke 1880 (international foot)\",6378306.3696,29"); add_srs_wkt (p, 2, - "3.4663076556355,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[51"); + "3.4663076556349,AUTHORITY[\"EPSG\",\"7055\"]],TOWGS84[51"); add_srs_wkt (p, 3, ",391,-36,0,0,0,0],AUTHORITY[\"EPSG\",\"6752\"]],PRIMEM[\""); add_srs_wkt (p, 4, "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); add_srs_wkt (p, 5, @@ -177,27 +173,27 @@ "LGD2006", 1, 1, "International 1924", "Greenwich", "Libyan_Geodetic_Datum_2006", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=intl +towgs84=-208.4058,-109.8777,-"); + "+proj=longlat +ellps=intl +towgs84=-208.406,-109.878,-2."); add_proj4text (p, 1, - "2.5764,0,0,0,0 +no_defs"); + "5764,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"LGD2006\",DATUM[\"Libyan_Geodetic_Datum_2006\","); add_srs_wkt (p, 1, "SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\""); add_srs_wkt (p, 2, - "EPSG\",\"7022\"]],TOWGS84[-208.4058,-109.8777,-2.5764,0,"); + "EPSG\",\"7022\"]],TOWGS84[-208.406,-109.878,-2.5764,0,0,"); add_srs_wkt (p, 3, - "0,0,0],AUTHORITY[\"EPSG\",\"6754\"]],PRIMEM[\"Greenwich\""); + "0,0],AUTHORITY[\"EPSG\",\"6754\"]],PRIMEM[\"Greenwich\","); add_srs_wkt (p, 4, - ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); + "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); add_srs_wkt (p, 5, - "32925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitud"); + "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude"); add_srs_wkt (p, 6, - "e\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\""); + "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 7, "4754\"]]"); p = add_epsg_def_ex (filter, first, last, 4755, "epsg", 4755, "DGN95", 1, 1, "WGS 84", "Greenwich", @@ -1836,11 +1832,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Fr"); add_srs_wkt (p, 1, "ancaise_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2"); add_srs_wkt (p, 2, - ",293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84"); + ",293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84"); add_srs_wkt (p, 3, "[-168,-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRI"); add_srs_wkt (p, 4, "MEM[\"Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],U"); add_srs_wkt (p, 5, @@ -1928,11 +1924,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"Voirol 1875 (Paris)\",DATUM[\"Voirol_1875_Paris"); add_srs_wkt (p, 1, "\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129"); add_srs_wkt (p, 2, - "36269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-73,-247,227"); + "36265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-73,-247,227"); add_srs_wkt (p, 3, ",0,0,0,0],AUTHORITY[\"EPSG\",\"6811\"]],PRIMEM[\"Paris\""); add_srs_wkt (p, 4, ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\","); add_srs_wkt (p, 5, @@ -2053,11 +2049,11 @@ add_proj4text (p, 1, "1,0,0,0,0 +pm=paris +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Carthage (Paris)\",DATUM[\"Carthage_Paris\",SPH"); add_srs_wkt (p, 1, - "EROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936269,"); + "EROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936265,"); add_srs_wkt (p, 2, "AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-263,6,431,0,0,0,0"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6816\"]],PRIMEM[\"Paris\",2.33722"); add_srs_wkt (p, 4, @@ -2124,29 +2120,29 @@ "Nord Sahara 1959 (Paris)", 1, 1, "Clarke 1880 (RGS)", "Paris", "Nord_Sahara_1959_Paris", "none", "grad", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=clrk80 +towgs84=-209.3622,-87.8162,"); + "+proj=longlat +ellps=clrk80 +towgs84=-209.362,-87.8162,4"); add_proj4text (p, 1, - "404.6198,0.0046,3.4784,0.5805,-1.4547 +pm=paris +no_defs"); + "04.62,0.0046,3.4784,0.5805,-1.4547 +pm=paris +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Nord Sahara 1959 (Paris)\",DATUM[\"Nord_Sahara_"); add_srs_wkt (p, 1, "1959_Paris\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,"); add_srs_wkt (p, 2, - "293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-209.3622,"); + "293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-209.362,-"); add_srs_wkt (p, 3, - "-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547],AUTHORIT"); + "87.8162,404.62,0.0046,3.4784,0.5805,-1.4547],AUTHORITY[\""); add_srs_wkt (p, 4, - "Y[\"EPSG\",\"6819\"]],PRIMEM[\"Paris\",2.33722917,AUTHOR"); + "EPSG\",\"6819\"]],PRIMEM[\"Paris\",2.33722917,AUTHORITY["); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.0157079632679489"); + "\"EPSG\",\"8903\"]],UNIT[\"grad\",0.01570796326794897,AU"); add_srs_wkt (p, 6, - "7,AUTHORITY[\"EPSG\",\"9105\"]],AXIS[\"Latitude\",NORTH]"); + "THORITY[\"EPSG\",\"9105\"]],AXIS[\"Latitude\",NORTH],AXI"); add_srs_wkt (p, 7, - ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4819\"]]"); + "S[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4819\"]]"); p = add_epsg_def_ex (filter, first, last, 4820, "epsg", 4820, "Segara (Jakarta)", 1, 1, "Bessel 1841", "Jakarta", "Gunung_Segara_Jakarta", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -2180,11 +2176,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"Voirol 1879 (Paris)\",DATUM[\"Voirol_1879_Paris"); add_srs_wkt (p, 1, "\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129"); add_srs_wkt (p, 2, - "36269,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\""); + "36265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, "6821\"]],PRIMEM[\"Paris\",2.33722917,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 4, "\"8903\"]],UNIT[\"grad\",0.01570796326794897,AUTHORITY[\""); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_25.c ================================================================== --- src/srsinit/epsg_inlined_25.c +++ src/srsinit/epsg_inlined_25.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -225,11 +221,11 @@ "Madrid 1870 (Madrid)", 1, 1, "Struve 1860", "Madrid", "Madrid_1870_Madrid", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6378298.3 +b=6356657.142669562 +pm=madr"); + "+proj=longlat +a=6378298.3 +b=6356657.142669561 +pm=madr"); add_proj4text (p, 1, "id +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Madrid 1870 (Madrid)\",DATUM[\"Madrid_1870_Madr"); add_srs_wkt (p, 1, @@ -561,11 +557,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Conus Albers\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2696,31 +2692,31 @@ "SLD99", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Sri_Lanka_Datum_1999", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8"); add_proj4text (p, 1, - "84=-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.03"); + "4=-0.293,766.95,87.713,0.195704,1.69507,3.47302,-0.03933"); add_proj4text (p, 2, - "9338 +no_defs"); + "8 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"SLD99\",DATUM[\"Sri_Lanka_Datum_1999\",SPHEROID"); add_srs_wkt (p, 1, "[\"Everest 1830 (1937 Adjustment)\",6377276.345,300.8017"); add_srs_wkt (p, 2, ",AUTHORITY[\"EPSG\",\"7015\"]],TOWGS84[-0.293,766.95,87."); add_srs_wkt (p, 3, - "713,0.195704,1.695068,3.473016,-0.039338],AUTHORITY[\"EP"); + "713,0.195704,1.69507,3.47302,-0.039338],AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, - "SG\",\"1053\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); + "\",\"1053\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 5, - ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); + "\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY["); add_srs_wkt (p, 6, - "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); + "\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Long"); add_srs_wkt (p, 7, - "gitude\",EAST],AUTHORITY[\"EPSG\",\"5233\"]]"); + "itude\",EAST],AUTHORITY[\"EPSG\",\"5233\"]]"); p = add_epsg_def_ex (filter, first, last, 5234, "epsg", 5234, "Kandawala / Sri Lanka Grid", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Kandawala", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -2727,13 +2723,13 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=7.000480277777778 +lon_0=80.771711111"); add_proj4text (p, 1, "11112 +k=0.9999238418 +x_0=200000 +y_0=200000 +a=6377276"); add_proj4text (p, 2, - ".345 +b=6356075.413140239 +towgs84=-97,787,86,0,0,0,0 +u"); + ".345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0 +un"); add_proj4text (p, 3, - "nits=m +no_defs"); + "its=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Kandawala / Sri Lanka Grid\",GEOGCS[\"Kandawala"); add_srs_wkt (p, 1, "\",DATUM[\"Kandawala\",SPHEROID[\"Everest 1830 (1937 Adj"); add_srs_wkt (p, 2, @@ -2770,45 +2766,45 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=7.000471527777778 +lon_0=80.771713083"); add_proj4text (p, 1, "33334 +k=0.9999238418 +x_0=500000 +y_0=500000 +a=6377276"); add_proj4text (p, 2, - ".345 +b=6356075.413140239 +towgs84=-0.293,766.95,87.713,"); + ".345 +b=6356075.41314024 +towgs84=-0.293,766.95,87.713,0"); add_proj4text (p, 3, - "0.195704,1.695068,3.473016,-0.039338 +units=m +no_defs"); + ".195704,1.69507,3.47302,-0.039338 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"SLD99 / Sri Lanka Grid 1999\",GEOGCS[\"SLD99\","); add_srs_wkt (p, 1, "DATUM[\"Sri_Lanka_Datum_1999\",SPHEROID[\"Everest 1830 ("); add_srs_wkt (p, 2, "1937 Adjustment)\",6377276.345,300.8017,AUTHORITY[\"EPSG"); add_srs_wkt (p, 3, "\",\"7015\"]],TOWGS84[-0.293,766.95,87.713,0.195704,1.69"); add_srs_wkt (p, 4, - "5068,3.473016,-0.039338],AUTHORITY[\"EPSG\",\"1053\"]],P"); + "507,3.47302,-0.039338],AUTHORITY[\"EPSG\",\"1053\"]],PRI"); add_srs_wkt (p, 5, - "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT"); + "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 6, - "[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122"); + "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]"); add_srs_wkt (p, 7, - "\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],A"); + "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH"); add_srs_wkt (p, 8, - "UTHORITY[\"EPSG\",\"5233\"]],PROJECTION[\"Transverse_Mer"); + "ORITY[\"EPSG\",\"5233\"]],PROJECTION[\"Transverse_Mercat"); add_srs_wkt (p, 9, - "cator\"],PARAMETER[\"latitude_of_origin\",7.000471527777"); + "or\"],PARAMETER[\"latitude_of_origin\",7.000471527777778"); add_srs_wkt (p, 10, - "778],PARAMETER[\"central_meridian\",80.77171308333334],P"); + "],PARAMETER[\"central_meridian\",80.77171308333334],PARA"); add_srs_wkt (p, 11, - "ARAMETER[\"scale_factor\",0.9999238418],PARAMETER[\"fals"); + "METER[\"scale_factor\",0.9999238418],PARAMETER[\"false_e"); add_srs_wkt (p, 12, - "e_easting\",500000],PARAMETER[\"false_northing\",500000]"); + "asting\",500000],PARAMETER[\"false_northing\",500000],UN"); add_srs_wkt (p, 13, - ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E"); + "IT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"East"); add_srs_wkt (p, 14, - "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG"); + "ing\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 15, - "\",\"5235\"]]"); + "\"5235\"]]"); p = add_epsg_def_ex (filter, first, last, 5243, "epsg", 5243, "ETRS89 / LCC Germany (E-N)", 0, 0, "GRS 1980", "Greenwich", "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); Index: src/srsinit/epsg_inlined_26.c ================================================================== --- src/srsinit/epsg_inlined_26.c +++ src/srsinit/epsg_inlined_26.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -1895,11 +1891,11 @@ add_proj4text (p, 1, "+no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Ocotepeque 1935\",DATUM[\"Ocotepeque_1935\",SPH"); add_srs_wkt (p, 1, - "EROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHOR"); + "EROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHOR"); add_srs_wkt (p, 2, "ITY[\"EPSG\",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTH"); add_srs_wkt (p, 3, "ORITY[\"EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORI"); add_srs_wkt (p, 4, @@ -1924,11 +1920,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Ocotepeque 1935 / Costa Rica Norte\",GEOGCS[\"O"); add_srs_wkt (p, 1, "cotepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Cl"); add_srs_wkt (p, 2, - "arke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG"); + "arke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG"); add_srs_wkt (p, 3, "\",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EP"); add_srs_wkt (p, 4, "SG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 5, @@ -1965,11 +1961,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Ocotepeque 1935 / Costa Rica Sur\",GEOGCS[\"Oco"); add_srs_wkt (p, 1, "tepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "ke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, "\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 5, @@ -2006,11 +2002,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Ocotepeque 1935 / Guatemala Norte (deprecated)\""); add_srs_wkt (p, 1, ",GEOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SP"); add_srs_wkt (p, 2, - "HEROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHO"); + "HEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHO"); add_srs_wkt (p, 3, "RITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],P"); add_srs_wkt (p, 4, "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT"); add_srs_wkt (p, 5, @@ -2047,11 +2043,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Ocotepeque 1935 / Guatemala Sur\",GEOGCS[\"Ocot"); add_srs_wkt (p, 1, "epeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Clark"); add_srs_wkt (p, 2, - "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\","); + "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, "\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, @@ -2090,11 +2086,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Ocotepeque 1935 / El Salvador Lambert\",GEOGCS["); add_srs_wkt (p, 1, "\"Ocotepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\""); add_srs_wkt (p, 2, - "Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EP"); + "Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EP"); add_srs_wkt (p, 3, "SG\",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\""); add_srs_wkt (p, 4, "EPSG\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 5, @@ -2133,11 +2129,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Ocotepeque 1935 / Nicaragua Norte\",GEOGCS[\"Oc"); add_srs_wkt (p, 1, "otepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, "\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 5, @@ -2176,11 +2172,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Ocotepeque 1935 / Nicaragua Sur\",GEOGCS[\"Ocot"); add_srs_wkt (p, 1, "epeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Clark"); add_srs_wkt (p, 2, - "e 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\","); + "e 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, "\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, @@ -2252,11 +2248,11 @@ add_srs_wkt (p, 0, "GEOGCS[\"Sibun Gorge 1922\",DATUM[\"Sibun_Gorge_1922\",S"); add_srs_wkt (p, 1, "PHEROID[\"Clarke 1858\",6378293.645208759,294.2606763692"); add_srs_wkt (p, 2, - "606,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"1"); + "569,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"1"); add_srs_wkt (p, 3, "071\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901"); add_srs_wkt (p, 4, "\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG"); add_srs_wkt (p, 5, @@ -2277,13 +2273,13 @@ add_srs_wkt (p, 0, "PROJCS[\"Sibun Gorge 1922 / Colony Grid (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Sibun Gorge 1922\",DATUM[\"Sibun_Gorge_1922\",SP"); add_srs_wkt (p, 2, - "HEROID[\"Clarke 1858\",6378293.645208759,294.26067636926"); + "HEROID[\"Clarke 1858\",6378293.645208759,294.26067636925"); add_srs_wkt (p, 3, - "06,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"10"); + "69,AUTHORITY[\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"10"); add_srs_wkt (p, 4, "71\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, "]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 6, @@ -2312,11 +2308,11 @@ add_proj4text (p, 0, "+proj=longlat +ellps=clrk66 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Panama-Colon 1911\",DATUM[\"Panama_Colon_1911\""); add_srs_wkt (p, 1, - ",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982138982,AU"); + ",SPHEROID[\"Clarke 1866\",6378206.4,294.9786982139006,AU"); add_srs_wkt (p, 2, "THORITY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"1072\"]"); add_srs_wkt (p, 3, "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 4, @@ -2339,11 +2335,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Panama-Colon 1911 / Panama Lambert\",GEOGCS[\"P"); add_srs_wkt (p, 1, "anama-Colon 1911\",DATUM[\"Panama_Colon_1911\",SPHEROID["); add_srs_wkt (p, 2, - "\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\""); + "\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"1072\"]],PRIMEM[\""); add_srs_wkt (p, 4, "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); add_srs_wkt (p, 5, @@ -2378,11 +2374,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Panama-Colon 1911 / Panama Polyconic\",GEOGCS[\""); add_srs_wkt (p, 1, "Panama-Colon 1911\",DATUM[\"Panama_Colon_1911\",SPHEROID"); add_srs_wkt (p, 2, - "[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\""); + "[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"1072\"]],PRIMEM[\""); add_srs_wkt (p, 4, "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); add_srs_wkt (p, 5, @@ -2893,43 +2889,43 @@ "Chatham_Islands_Datum_1979", "Transverse_Mercator", "metre", "Northing", "North", "Easting", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=350000 +y"); add_proj4text (p, 1, - "_0=650000 +ellps=intl +towgs84=174.05,-25.49,112.57,0,0,"); + "_0=650000 +ellps=intl +towgs84=174.05,-25.49,112.57,-0,-"); add_proj4text (p, 2, - "0.554,0.2263 +units=m +no_defs"); + "0,0.554,0.2263 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"CI1979 / Chatham Islands Map Grid\",GEOGCS[\"Ch"); add_srs_wkt (p, 1, "atham Islands 1979\",DATUM[\"Chatham_Islands_Datum_1979\""); add_srs_wkt (p, 2, ",SPHEROID[\"International 1924\",6378388,297,AUTHORITY[\""); add_srs_wkt (p, 3, - "EPSG\",\"7022\"]],TOWGS84[174.05,-25.49,112.57,0,0,0.554"); - add_srs_wkt (p, 4, - ",0.2263],AUTHORITY[\"EPSG\",\"6673\"]],PRIMEM[\"Greenwic"); - add_srs_wkt (p, 5, - "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01"); - add_srs_wkt (p, 6, - "74532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Lati"); - add_srs_wkt (p, 7, - "tude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 8, - ",\"4673\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETE"); - add_srs_wkt (p, 9, - "R[\"latitude_of_origin\",-44],PARAMETER[\"central_meridi"); - add_srs_wkt (p, 10, - "an\",-176.5],PARAMETER[\"scale_factor\",1],PARAMETER[\"f"); - add_srs_wkt (p, 11, - "alse_easting\",350000],PARAMETER[\"false_northing\",6500"); - add_srs_wkt (p, 12, - "00],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS["); - add_srs_wkt (p, 13, - "\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY[\"E"); + "EPSG\",\"7022\"]],TOWGS84[174.05,-25.49,112.57,-0,-0,0.5"); + add_srs_wkt (p, 4, + "54,0.2263],AUTHORITY[\"EPSG\",\"6673\"]],PRIMEM[\"Greenw"); + add_srs_wkt (p, 5, + "ich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0."); + add_srs_wkt (p, 6, + "0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"La"); + add_srs_wkt (p, 7, + "titude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPS"); + add_srs_wkt (p, 8, + "G\",\"4673\"]],PROJECTION[\"Transverse_Mercator\"],PARAM"); + add_srs_wkt (p, 9, + "ETER[\"latitude_of_origin\",-44],PARAMETER[\"central_mer"); + add_srs_wkt (p, 10, + "idian\",-176.5],PARAMETER[\"scale_factor\",1],PARAMETER["); + add_srs_wkt (p, 11, + "\"false_easting\",350000],PARAMETER[\"false_northing\",6"); + add_srs_wkt (p, 12, + "50000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX"); + add_srs_wkt (p, 13, + "IS[\"Northing\",NORTH],AXIS[\"Easting\",EAST],AUTHORITY["); add_srs_wkt (p, 14, - "PSG\",\"5519\"]]"); + "\"EPSG\",\"5519\"]]"); p = add_epsg_def_ex (filter, first, last, 5520, "epsg", 5520, "DHDN / 3-degree Gauss-Kruger zone 1", 0, 1, "Bessel 1841", "Greenwich", "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); @@ -3701,11 +3697,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Ocotepeque 1935 / Guatemala Norte\",GEOGCS[\"Oc"); add_srs_wkt (p, 1, "otepeque 1935\",DATUM[\"Ocotepeque_1935\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, - "rke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\""); + "rke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7008\"]],TOWGS84[205,96,-98,0,0,0,0],AUTHORITY[\"EPSG"); add_srs_wkt (p, 4, "\",\"1070\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 5, @@ -3732,21 +3728,21 @@ "UCS-2000", 1, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=krass +towgs84=25,-141,-78.5,0,0.35"); + "+proj=longlat +ellps=krass +towgs84=25,-141,-78.5,-0,0.3"); add_proj4text (p, 1, - ",0.736,0 +no_defs"); + "5,0.736,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Kr"); add_srs_wkt (p, 1, "assowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\""); add_srs_wkt (p, 2, - "]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPS"); + "]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EP"); add_srs_wkt (p, 3, - "G\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); + "SG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); add_srs_wkt (p, 5, "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); add_srs_wkt (p, 6, Index: src/srsinit/epsg_inlined_27.c ================================================================== --- src/srsinit/epsg_inlined_27.c +++ src/srsinit/epsg_inlined_27.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -64,193 +60,193 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit"); + "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni"); add_proj4text (p, 2, - "s=m +no_defs"); + "ts=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Gauss-Kruger zone 4\",GEOGCS[\"UCS-2"); add_srs_wkt (p, 1, "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); - add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); - add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); - add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); - add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); - add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); - add_srs_wkt (p, 9, - "[\"central_meridian\",21],PARAMETER[\"scale_factor\",1],"); - add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",4500000],PARAMETER[\"false_n"); - add_srs_wkt (p, 11, - "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); - add_srs_wkt (p, 12, - "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 13, - ",\"5562\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); + add_srs_wkt (p, 4, + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); + add_srs_wkt (p, 5, + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); + add_srs_wkt (p, 6, + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); + add_srs_wkt (p, 7, + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); + add_srs_wkt (p, 8, + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); + add_srs_wkt (p, 9, + "R[\"central_meridian\",21],PARAMETER[\"scale_factor\",1]"); + add_srs_wkt (p, 10, + ",PARAMETER[\"false_easting\",4500000],PARAMETER[\"false_"); + add_srs_wkt (p, 11, + "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001"); + add_srs_wkt (p, 12, + "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG"); + add_srs_wkt (p, 13, + "\",\"5562\"]]"); p = add_epsg_def_ex (filter, first, last, 5563, "epsg", 5563, "UCS-2000 / Gauss-Kruger zone 5", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit"); + "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni"); add_proj4text (p, 2, - "s=m +no_defs"); + "ts=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Gauss-Kruger zone 5\",GEOGCS[\"UCS-2"); add_srs_wkt (p, 1, "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); - add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); - add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); - add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); - add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); - add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); - add_srs_wkt (p, 9, - "[\"central_meridian\",27],PARAMETER[\"scale_factor\",1],"); - add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",5500000],PARAMETER[\"false_n"); - add_srs_wkt (p, 11, - "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); - add_srs_wkt (p, 12, - "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 13, - ",\"5563\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); + add_srs_wkt (p, 4, + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); + add_srs_wkt (p, 5, + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); + add_srs_wkt (p, 6, + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); + add_srs_wkt (p, 7, + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); + add_srs_wkt (p, 8, + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); + add_srs_wkt (p, 9, + "R[\"central_meridian\",27],PARAMETER[\"scale_factor\",1]"); + add_srs_wkt (p, 10, + ",PARAMETER[\"false_easting\",5500000],PARAMETER[\"false_"); + add_srs_wkt (p, 11, + "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001"); + add_srs_wkt (p, 12, + "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG"); + add_srs_wkt (p, 13, + "\",\"5563\"]]"); p = add_epsg_def_ex (filter, first, last, 5564, "epsg", 5564, "UCS-2000 / Gauss-Kruger zone 6", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit"); + "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni"); add_proj4text (p, 2, - "s=m +no_defs"); + "ts=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Gauss-Kruger zone 6\",GEOGCS[\"UCS-2"); add_srs_wkt (p, 1, "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); - add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); - add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); - add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); - add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); - add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); - add_srs_wkt (p, 9, - "[\"central_meridian\",33],PARAMETER[\"scale_factor\",1],"); - add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",6500000],PARAMETER[\"false_n"); - add_srs_wkt (p, 11, - "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); - add_srs_wkt (p, 12, - "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 13, - ",\"5564\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); + add_srs_wkt (p, 4, + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); + add_srs_wkt (p, 5, + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); + add_srs_wkt (p, 6, + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); + add_srs_wkt (p, 7, + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); + add_srs_wkt (p, 8, + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); + add_srs_wkt (p, 9, + "R[\"central_meridian\",33],PARAMETER[\"scale_factor\",1]"); + add_srs_wkt (p, 10, + ",PARAMETER[\"false_easting\",6500000],PARAMETER[\"false_"); + add_srs_wkt (p, 11, + "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001"); + add_srs_wkt (p, 12, + "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG"); + add_srs_wkt (p, 13, + "\",\"5564\"]]"); p = add_epsg_def_ex (filter, first, last, 5565, "epsg", 5565, "UCS-2000 / Gauss-Kruger zone 7", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit"); + "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni"); add_proj4text (p, 2, - "s=m +no_defs"); + "ts=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Gauss-Kruger zone 7\",GEOGCS[\"UCS-2"); add_srs_wkt (p, 1, "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); - add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); - add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); - add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); - add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); - add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); - add_srs_wkt (p, 9, - "[\"central_meridian\",39],PARAMETER[\"scale_factor\",1],"); - add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",7500000],PARAMETER[\"false_n"); - add_srs_wkt (p, 11, - "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); - add_srs_wkt (p, 12, - "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 13, - ",\"5565\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); + add_srs_wkt (p, 4, + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); + add_srs_wkt (p, 5, + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); + add_srs_wkt (p, 6, + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); + add_srs_wkt (p, 7, + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); + add_srs_wkt (p, 8, + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); + add_srs_wkt (p, 9, + "R[\"central_meridian\",39],PARAMETER[\"scale_factor\",1]"); + add_srs_wkt (p, 10, + ",PARAMETER[\"false_easting\",7500000],PARAMETER[\"false_"); + add_srs_wkt (p, 11, + "northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001"); + add_srs_wkt (p, 12, + "\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG"); + add_srs_wkt (p, 13, + "\",\"5565\"]]"); p = add_epsg_def_ex (filter, first, last, 5566, "epsg", 5566, "UCS-2000 / Gauss-Kruger CM 21E", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Gauss-Kruger CM 21E\",GEOGCS[\"UCS-2"); add_srs_wkt (p, 1, "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); add_srs_wkt (p, 9, - "[\"central_meridian\",21],PARAMETER[\"scale_factor\",1],"); + "R[\"central_meridian\",21],PARAMETER[\"scale_factor\",1]"); add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no"); + ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n"); add_srs_wkt (p, 11, - "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); add_srs_wkt (p, 12, "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 13, ",\"5566\"]]"); p = add_epsg_def_ex (filter, first, last, 5567, "epsg", 5567, @@ -259,37 +255,37 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Gauss-Kruger CM 27E\",GEOGCS[\"UCS-2"); add_srs_wkt (p, 1, "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); add_srs_wkt (p, 9, - "[\"central_meridian\",27],PARAMETER[\"scale_factor\",1],"); + "R[\"central_meridian\",27],PARAMETER[\"scale_factor\",1]"); add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no"); + ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n"); add_srs_wkt (p, 11, - "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); add_srs_wkt (p, 12, "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 13, ",\"5567\"]]"); p = add_epsg_def_ex (filter, first, last, 5568, "epsg", 5568, @@ -298,37 +294,37 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Gauss-Kruger CM 33E\",GEOGCS[\"UCS-2"); add_srs_wkt (p, 1, "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); add_srs_wkt (p, 9, - "[\"central_meridian\",33],PARAMETER[\"scale_factor\",1],"); + "R[\"central_meridian\",33],PARAMETER[\"scale_factor\",1]"); add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no"); + ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n"); add_srs_wkt (p, 11, - "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); add_srs_wkt (p, 12, "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 13, ",\"5568\"]]"); p = add_epsg_def_ex (filter, first, last, 5569, "epsg", 5569, @@ -337,37 +333,37 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Gauss-Kruger CM 39E\",GEOGCS[\"UCS-2"); add_srs_wkt (p, 1, "000\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); add_srs_wkt (p, 9, - "[\"central_meridian\",39],PARAMETER[\"scale_factor\",1],"); + "R[\"central_meridian\",39],PARAMETER[\"scale_factor\",1]"); add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",500000],PARAMETER[\"false_no"); + ",PARAMETER[\"false_easting\",500000],PARAMETER[\"false_n"); add_srs_wkt (p, 11, - "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); add_srs_wkt (p, 12, "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 13, ",\"5569\"]]"); p = add_epsg_def_ex (filter, first, last, 5570, "epsg", 5570, @@ -376,156 +372,156 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit"); + "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni"); add_proj4text (p, 2, - "s=m +no_defs"); + "ts=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 7 (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",21],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",75000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"5570\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",21],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",7500"); + add_srs_wkt (p, 11, + "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); + add_srs_wkt (p, 12, + "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"5570\"]]"); p = add_epsg_def_ex (filter, first, last, 5571, "epsg", 5571, "UCS-2000 / 3-degree Gauss-Kruger zone 8 (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit"); + "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni"); add_proj4text (p, 2, - "s=m +no_defs"); + "ts=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 8 (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",24],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",85000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"5571\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",24],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",8500"); + add_srs_wkt (p, 11, + "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); + add_srs_wkt (p, 12, + "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"5571\"]]"); p = add_epsg_def_ex (filter, first, last, 5572, "epsg", 5572, "UCS-2000 / 3-degree Gauss-Kruger zone 9 (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +unit"); + "+ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +uni"); add_proj4text (p, 2, - "s=m +no_defs"); + "ts=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 9 (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",27],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",95000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"5572\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",27],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",9500"); + add_srs_wkt (p, 11, + "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); + add_srs_wkt (p, 12, + "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"5572\"]]"); p = add_epsg_def_ex (filter, first, last, 5573, "epsg", 5573, "UCS-2000 / 3-degree Gauss-Kruger zone 10 (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +uni"); + " +ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +un"); add_proj4text (p, 2, - "ts=m +no_defs"); + "its=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 10 (depre"); add_srs_wkt (p, 1, "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE"); add_srs_wkt (p, 2, "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",30],PARAMET"); + "of_origin\",0],PARAMETER[\"central_meridian\",30],PARAME"); add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",10500"); + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1050"); add_srs_wkt (p, 11, - "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, ",EAST],AUTHORITY[\"EPSG\",\"5573\"]]"); p = add_epsg_def_ex (filter, first, last, 5574, "epsg", 5574, "UCS-2000 / 3-degree Gauss-Kruger zone 11 (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", @@ -532,39 +528,39 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +uni"); + " +ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +un"); add_proj4text (p, 2, - "ts=m +no_defs"); + "its=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 11 (depre"); add_srs_wkt (p, 1, "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE"); add_srs_wkt (p, 2, "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",33],PARAMET"); + "of_origin\",0],PARAMETER[\"central_meridian\",33],PARAME"); add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",11500"); + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1150"); add_srs_wkt (p, 11, - "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, ",EAST],AUTHORITY[\"EPSG\",\"5574\"]]"); p = add_epsg_def_ex (filter, first, last, 5575, "epsg", 5575, "UCS-2000 / 3-degree Gauss-Kruger zone 12 (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", @@ -571,39 +567,39 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +uni"); + " +ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +un"); add_proj4text (p, 2, - "ts=m +no_defs"); + "its=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 12 (depre"); add_srs_wkt (p, 1, "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE"); add_srs_wkt (p, 2, "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",36],PARAMET"); + "of_origin\",0],PARAMETER[\"central_meridian\",36],PARAME"); add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",12500"); + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1250"); add_srs_wkt (p, 11, - "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, ",EAST],AUTHORITY[\"EPSG\",\"5575\"]]"); p = add_epsg_def_ex (filter, first, last, 5576, "epsg", 5576, "UCS-2000 / 3-degree Gauss-Kruger zone 13 (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", @@ -610,39 +606,39 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +uni"); + " +ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +un"); add_proj4text (p, 2, - "ts=m +no_defs"); + "its=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger zone 13 (depre"); add_srs_wkt (p, 1, "cated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHE"); add_srs_wkt (p, 2, "ROID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",39],PARAMET"); + "of_origin\",0],PARAMETER[\"central_meridian\",39],PARAME"); add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",13500"); + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",1350"); add_srs_wkt (p, 11, - "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, ",EAST],AUTHORITY[\"EPSG\",\"5576\"]]"); p = add_epsg_def_ex (filter, first, last, 5577, "epsg", 5577, "UCS-2000 / 3-degree Gauss-Kruger CM 21E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", @@ -649,275 +645,275 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 21E (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",21],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"5577\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",21],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"5577\"]]"); p = add_epsg_def_ex (filter, first, last, 5578, "epsg", 5578, "UCS-2000 / 3-degree Gauss-Kruger CM 24E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 24E (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",24],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"5578\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",24],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"5578\"]]"); p = add_epsg_def_ex (filter, first, last, 5579, "epsg", 5579, "UCS-2000 / 3-degree Gauss-Kruger CM 27E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 27E (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",27],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"5579\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",27],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"5579\"]]"); p = add_epsg_def_ex (filter, first, last, 5580, "epsg", 5580, "UCS-2000 / 3-degree Gauss-Kruger CM 30E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 30E (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",30],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"5580\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",30],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"5580\"]]"); p = add_epsg_def_ex (filter, first, last, 5581, "epsg", 5581, "UCS-2000 / 3-degree Gauss-Kruger CM 33E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 33E (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",33],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"5581\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",33],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"5581\"]]"); p = add_epsg_def_ex (filter, first, last, 5582, "epsg", 5582, "UCS-2000 / 3-degree Gauss-Kruger CM 36E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 36E (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",36],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"5582\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",36],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"5582\"]]"); p = add_epsg_def_ex (filter, first, last, 5583, "epsg", 5583, "UCS-2000 / 3-degree Gauss-Kruger CM 39E (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / 3-degree Gauss-Kruger CM 39E (deprec"); add_srs_wkt (p, 1, "ated)\",GEOGCS[\"UCS-2000\",DATUM[\"Ukraine_2000\",SPHER"); add_srs_wkt (p, 2, "OID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, - ",\"7024\"]],TOWGS84[25,-141,-78.5,0,0.35,0.736,0],AUTHOR"); - add_srs_wkt (p, 4, - "ITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORITY"); - add_srs_wkt (p, 5, - "[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,"); - add_srs_wkt (p, 6, - "AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],A"); - add_srs_wkt (p, 7, - "XIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],PR"); - add_srs_wkt (p, 8, - "OJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_o"); - add_srs_wkt (p, 9, - "f_origin\",0],PARAMETER[\"central_meridian\",39],PARAMET"); - add_srs_wkt (p, 10, - "ER[\"scale_factor\",1],PARAMETER[\"false_easting\",50000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"5583\"]]"); + ",\"7024\"]],TOWGS84[25,-141,-78.5,-0,0.35,0.736,0],AUTHO"); + add_srs_wkt (p, 4, + "RITY[\"EPSG\",\"1077\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); + add_srs_wkt (p, 5, + "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); + add_srs_wkt (p, 6, + ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); + add_srs_wkt (p, 7, + "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"5561\"]],P"); + add_srs_wkt (p, 8, + "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); + add_srs_wkt (p, 9, + "of_origin\",0],PARAMETER[\"central_meridian\",39],PARAME"); + add_srs_wkt (p, 10, + "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"5583\"]]"); p = add_epsg_def_ex (filter, first, last, 5588, "epsg", 5588, "NAD27 / New Brunswick Stereographic (NAD27)", 0, 1, "Clarke 1866", "Greenwich", "North_American_Datum_1927", "Oblique_Stereographic", "foot", "Northing", "North", "Easting", "East"); @@ -928,11 +924,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New Brunswick Stereographic (NAD27)\",G"); add_srs_wkt (p, 1, "EOGCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHE"); add_srs_wkt (p, 2, - "ROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORI"); + "ROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORI"); add_srs_wkt (p, 3, "TY[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRI"); add_srs_wkt (p, 4, "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 5, @@ -969,11 +965,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Sibun Gorge 1922 / Colony Grid\",GEOGCS[\"Sibun"); add_srs_wkt (p, 1, " Gorge 1922\",DATUM[\"Sibun_Gorge_1922\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1858\",6378293.645208759,294.2606763692606,AUTHORITY["); + "ke 1858\",6378293.645208759,294.2606763692569,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7007\"]],AUTHORITY[\"EPSG\",\"1071\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -1121,11 +1117,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Michigan East\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -1160,11 +1156,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Michigan Old Central\",GEOGCS[\"NAD27\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1"); add_srs_wkt (p, 2, - "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7"); + "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -1199,11 +1195,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Michigan West\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -1300,41 +1296,41 @@ "Moznet / UTM zone 38S", 0, 0, "WGS 84", "Greenwich", "Moznet_ITRF94", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=38 +south +ellps=WGS84 +towgs84=0,0,0,0,"); + "+proj=utm +zone=38 +south +ellps=WGS84 +towgs84=0,0,0,-0"); add_proj4text (p, 1, - "0,0,0 +units=m +no_defs"); + ",-0,-0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Moznet / UTM zone 38S\",GEOGCS[\"Moznet\",DATUM"); add_srs_wkt (p, 1, "[\"Moznet_ITRF94\",SPHEROID[\"WGS 84\",6378137,298.25722"); add_srs_wkt (p, 2, - "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,0,0,0,0"); - add_srs_wkt (p, 3, - "],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\",0,A"); - add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); - add_srs_wkt (p, 5, - "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\","); - add_srs_wkt (p, 6, - "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"413"); - add_srs_wkt (p, 7, - "0\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la"); - add_srs_wkt (p, 8, - "titude_of_origin\",0],PARAMETER[\"central_meridian\",45]"); - add_srs_wkt (p, 9, - ",PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_ea"); - add_srs_wkt (p, 10, - "sting\",500000],PARAMETER[\"false_northing\",10000000],U"); - add_srs_wkt (p, 11, - "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eas"); - add_srs_wkt (p, 12, - "ting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 13, - ",\"5629\"]]"); + "3563,AUTHORITY[\"EPSG\",\"7030\"]],TOWGS84[0,0,0,-0,-0,-"); + add_srs_wkt (p, 3, + "0,0],AUTHORITY[\"EPSG\",\"6130\"]],PRIMEM[\"Greenwich\","); + add_srs_wkt (p, 4, + "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); + add_srs_wkt (p, 5, + "2925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude"); + add_srs_wkt (p, 6, + "\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 7, + "4130\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\""); + add_srs_wkt (p, 8, + "latitude_of_origin\",0],PARAMETER[\"central_meridian\",4"); + add_srs_wkt (p, 9, + "5],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_"); + add_srs_wkt (p, 10, + "easting\",500000],PARAMETER[\"false_northing\",10000000]"); + add_srs_wkt (p, 11, + ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"E"); + add_srs_wkt (p, 12, + "asting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG"); + add_srs_wkt (p, 13, + "\",\"5629\"]]"); p = add_epsg_def_ex (filter, first, last, 5631, "epsg", 5631, "Pulkovo 1942(58) / Gauss-Kruger zone 2 (E-N)", 0, 0, "Krassowsky 1940", "Greenwich", "Pulkovo_1942_58", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -3192,11 +3188,11 @@ add_srs_wkt (p, 2, "F (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Par"); add_srs_wkt (p, 3, "is\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021"); add_srs_wkt (p, 4, - "2936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3"); + "2936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3"); add_srs_wkt (p, 5, "20,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris"); add_srs_wkt (p, 6, "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\""); add_srs_wkt (p, 7, @@ -3245,11 +3241,11 @@ add_srs_wkt (p, 2, "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P"); add_srs_wkt (p, 3, "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660"); add_srs_wkt (p, 4, - "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); + "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); add_srs_wkt (p, 5, ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par"); add_srs_wkt (p, 6, "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra"); add_srs_wkt (p, 7, Index: src/srsinit/epsg_inlined_28.c ================================================================== --- src/srsinit/epsg_inlined_28.c +++ src/srsinit/epsg_inlined_28.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -540,11 +536,11 @@ add_srs_wkt (p, 1, "GCS[\"Unspecified datum based upon the Hughes 1980 ellip"); add_srs_wkt (p, 2, "soid\",DATUM[\"Not_specified_based_on_Hughes_1980_ellips"); add_srs_wkt (p, 3, - "oid\",SPHEROID[\"Hughes 1980\",6378273,298.279411123064,"); + "oid\",SPHEROID[\"Hughes 1980\",6378273,298.279411123061,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"7058\"]],AUTHORITY[\"EPSG\",\"6054\""); add_srs_wkt (p, 5, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 6, @@ -3267,11 +3263,11 @@ "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-62 +x_0=41500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=-62 +x_0=41500000 +y"); add_proj4text (p, 2, "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m "); add_proj4text (p, 3, "+no_defs"); add_srs_wkt (p, 0, @@ -3293,11 +3289,11 @@ add_srs_wkt (p, 8, "],PARAMETER[\"standard_parallel_1\",73.66666666666667],P"); add_srs_wkt (p, 9, "ARAMETER[\"standard_parallel_2\",70.33333333333333],PARA"); add_srs_wkt (p, 10, - "METER[\"latitude_of_origin\",72.02500919444444],PARAMETE"); + "METER[\"latitude_of_origin\",72.02500919444445],PARAMETE"); add_srs_wkt (p, 11, "R[\"central_meridian\",-62],PARAMETER[\"false_easting\","); add_srs_wkt (p, 12, "41500000],PARAMETER[\"false_northing\",5500000],UNIT[\"m"); add_srs_wkt (p, 13, @@ -3312,11 +3308,11 @@ "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-42 +x_0=43500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=-42 +x_0=43500000 +y"); add_proj4text (p, 2, "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m "); add_proj4text (p, 3, "+no_defs"); add_srs_wkt (p, 0, @@ -3338,11 +3334,11 @@ add_srs_wkt (p, 8, "],PARAMETER[\"standard_parallel_1\",73.66666666666667],P"); add_srs_wkt (p, 9, "ARAMETER[\"standard_parallel_2\",70.33333333333333],PARA"); add_srs_wkt (p, 10, - "METER[\"latitude_of_origin\",72.02500919444444],PARAMETE"); + "METER[\"latitude_of_origin\",72.02500919444445],PARAMETE"); add_srs_wkt (p, 11, "R[\"central_meridian\",-42],PARAMETER[\"false_easting\","); add_srs_wkt (p, 12, "43500000],PARAMETER[\"false_northing\",5500000],UNIT[\"m"); add_srs_wkt (p, 13, @@ -3357,11 +3353,11 @@ "Greenland_1996", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-22 +x_0=45500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=-22 +x_0=45500000 +y"); add_proj4text (p, 2, "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m "); add_proj4text (p, 3, "+no_defs"); add_srs_wkt (p, 0, @@ -3383,11 +3379,11 @@ add_srs_wkt (p, 8, "],PARAMETER[\"standard_parallel_1\",73.66666666666667],P"); add_srs_wkt (p, 9, "ARAMETER[\"standard_parallel_2\",70.33333333333333],PARA"); add_srs_wkt (p, 10, - "METER[\"latitude_of_origin\",72.02500919444444],PARAMETE"); + "METER[\"latitude_of_origin\",72.02500919444445],PARAMETE"); add_srs_wkt (p, 11, "R[\"central_meridian\",-22],PARAMETER[\"false_easting\","); add_srs_wkt (p, 12, "45500000],PARAMETER[\"false_northing\",5500000],UNIT[\"m"); add_srs_wkt (p, 13, @@ -3871,11 +3867,11 @@ "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=14 +x_0=11500000 +y_"); + "333 +lat_0=72.02500919444445 +lon_0=14 +x_0=11500000 +y_"); add_proj4text (p, 2, "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +"); add_proj4text (p, 3, "no_defs"); add_srs_wkt (p, 0, @@ -3899,11 +3895,11 @@ add_srs_wkt (p, 9, "rallel_1\",73.66666666666667],PARAMETER[\"standard_paral"); add_srs_wkt (p, 10, "lel_2\",70.33333333333333],PARAMETER[\"latitude_of_origi"); add_srs_wkt (p, 11, - "n\",72.02500919444444],PARAMETER[\"central_meridian\",14"); + "n\",72.02500919444445],PARAMETER[\"central_meridian\",14"); add_srs_wkt (p, 12, "],PARAMETER[\"false_easting\",11500000],PARAMETER[\"fals"); add_srs_wkt (p, 13, "e_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 14, @@ -3916,11 +3912,11 @@ "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=34 +x_0=13500000 +y_"); + "333 +lat_0=72.02500919444445 +lon_0=34 +x_0=13500000 +y_"); add_proj4text (p, 2, "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +"); add_proj4text (p, 3, "no_defs"); add_srs_wkt (p, 0, @@ -3944,11 +3940,11 @@ add_srs_wkt (p, 9, "rallel_1\",73.66666666666667],PARAMETER[\"standard_paral"); add_srs_wkt (p, 10, "lel_2\",70.33333333333333],PARAMETER[\"latitude_of_origi"); add_srs_wkt (p, 11, - "n\",72.02500919444444],PARAMETER[\"central_meridian\",34"); + "n\",72.02500919444445],PARAMETER[\"central_meridian\",34"); add_srs_wkt (p, 12, "],PARAMETER[\"false_easting\",13500000],PARAMETER[\"fals"); add_srs_wkt (p, 13, "e_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 14, Index: src/srsinit/epsg_inlined_29.c ================================================================== --- src/srsinit/epsg_inlined_29.c +++ src/srsinit/epsg_inlined_29.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -146,11 +142,11 @@ "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=54 +x_0=15500000 +y_"); + "333 +lat_0=72.02500919444445 +lon_0=54 +x_0=15500000 +y_"); add_proj4text (p, 2, "0=5500000 +datum=WGS84 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"WGS 84 / EPSG Arctic zone 5-15\",GEOGCS[\"WGS 8"); add_srs_wkt (p, 1, @@ -170,11 +166,11 @@ add_srs_wkt (p, 8, "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel"); add_srs_wkt (p, 9, "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\""); add_srs_wkt (p, 10, - ",72.02500919444444],PARAMETER[\"central_meridian\",54],P"); + ",72.02500919444445],PARAMETER[\"central_meridian\",54],P"); add_srs_wkt (p, 11, "ARAMETER[\"false_easting\",15500000],PARAMETER[\"false_n"); add_srs_wkt (p, 12, "orthing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 13, @@ -187,11 +183,11 @@ "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=74 +x_0=17500000 +y_"); + "333 +lat_0=72.02500919444445 +lon_0=74 +x_0=17500000 +y_"); add_proj4text (p, 2, "0=5500000 +datum=WGS84 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"WGS 84 / EPSG Arctic zone 5-17\",GEOGCS[\"WGS 8"); add_srs_wkt (p, 1, @@ -211,11 +207,11 @@ add_srs_wkt (p, 8, "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel"); add_srs_wkt (p, 9, "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\""); add_srs_wkt (p, 10, - ",72.02500919444444],PARAMETER[\"central_meridian\",74],P"); + ",72.02500919444445],PARAMETER[\"central_meridian\",74],P"); add_srs_wkt (p, 11, "ARAMETER[\"false_easting\",17500000],PARAMETER[\"false_n"); add_srs_wkt (p, 12, "orthing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 13, @@ -228,11 +224,11 @@ "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=95 +x_0=19500000 +y_"); + "333 +lat_0=72.02500919444445 +lon_0=95 +x_0=19500000 +y_"); add_proj4text (p, 2, "0=5500000 +datum=WGS84 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"WGS 84 / EPSG Arctic zone 5-19\",GEOGCS[\"WGS 8"); add_srs_wkt (p, 1, @@ -252,11 +248,11 @@ add_srs_wkt (p, 8, "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel"); add_srs_wkt (p, 9, "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\""); add_srs_wkt (p, 10, - ",72.02500919444444],PARAMETER[\"central_meridian\",95],P"); + ",72.02500919444445],PARAMETER[\"central_meridian\",95],P"); add_srs_wkt (p, 11, "ARAMETER[\"false_easting\",19500000],PARAMETER[\"false_n"); add_srs_wkt (p, 12, "orthing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 13, @@ -269,11 +265,11 @@ "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=116 +x_0=21500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=116 +x_0=21500000 +y"); add_proj4text (p, 2, "_0=5500000 +datum=WGS84 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"WGS 84 / EPSG Arctic zone 5-21\",GEOGCS[\"WGS 8"); add_srs_wkt (p, 1, @@ -293,11 +289,11 @@ add_srs_wkt (p, 8, "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel"); add_srs_wkt (p, 9, "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\""); add_srs_wkt (p, 10, - ",72.02500919444444],PARAMETER[\"central_meridian\",116],"); + ",72.02500919444445],PARAMETER[\"central_meridian\",116],"); add_srs_wkt (p, 11, "PARAMETER[\"false_easting\",21500000],PARAMETER[\"false_"); add_srs_wkt (p, 12, "northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 13, @@ -310,11 +306,11 @@ "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=137 +x_0=23500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=137 +x_0=23500000 +y"); add_proj4text (p, 2, "_0=5500000 +datum=WGS84 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"WGS 84 / EPSG Arctic zone 5-23\",GEOGCS[\"WGS 8"); add_srs_wkt (p, 1, @@ -334,11 +330,11 @@ add_srs_wkt (p, 8, "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel"); add_srs_wkt (p, 9, "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\""); add_srs_wkt (p, 10, - ",72.02500919444444],PARAMETER[\"central_meridian\",137],"); + ",72.02500919444445],PARAMETER[\"central_meridian\",137],"); add_srs_wkt (p, 11, "PARAMETER[\"false_easting\",23500000],PARAMETER[\"false_"); add_srs_wkt (p, 12, "northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 13, @@ -351,11 +347,11 @@ "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=158 +x_0=25500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=158 +x_0=25500000 +y"); add_proj4text (p, 2, "_0=5500000 +datum=WGS84 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"WGS 84 / EPSG Arctic zone 5-25\",GEOGCS[\"WGS 8"); add_srs_wkt (p, 1, @@ -375,11 +371,11 @@ add_srs_wkt (p, 8, "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel"); add_srs_wkt (p, 9, "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\""); add_srs_wkt (p, 10, - ",72.02500919444444],PARAMETER[\"central_meridian\",158],"); + ",72.02500919444445],PARAMETER[\"central_meridian\",158],"); add_srs_wkt (p, 11, "PARAMETER[\"false_easting\",25500000],PARAMETER[\"false_"); add_srs_wkt (p, 12, "northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 13, @@ -392,11 +388,11 @@ "WGS_1984", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=179 +x_0=27500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=179 +x_0=27500000 +y"); add_proj4text (p, 2, "_0=5500000 +datum=WGS84 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"WGS 84 / EPSG Arctic zone 5-27\",GEOGCS[\"WGS 8"); add_srs_wkt (p, 1, @@ -416,11 +412,11 @@ add_srs_wkt (p, 8, "lel_1\",73.66666666666667],PARAMETER[\"standard_parallel"); add_srs_wkt (p, 9, "_2\",70.33333333333333],PARAMETER[\"latitude_of_origin\""); add_srs_wkt (p, 10, - ",72.02500919444444],PARAMETER[\"central_meridian\",179],"); + ",72.02500919444445],PARAMETER[\"central_meridian\",179],"); add_srs_wkt (p, 11, "PARAMETER[\"false_easting\",27500000],PARAMETER[\"false_"); add_srs_wkt (p, 12, "northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 13, @@ -433,11 +429,11 @@ "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-163 +x_0=29500000 +"); + "333 +lat_0=72.02500919444445 +lon_0=-163 +x_0=29500000 +"); add_proj4text (p, 2, "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"); add_proj4text (p, 3, " +no_defs"); add_srs_wkt (p, 0, @@ -461,11 +457,11 @@ add_srs_wkt (p, 9, "AMETER[\"standard_parallel_1\",73.66666666666667],PARAME"); add_srs_wkt (p, 10, "TER[\"standard_parallel_2\",70.33333333333333],PARAMETER"); add_srs_wkt (p, 11, - "[\"latitude_of_origin\",72.02500919444444],PARAMETER[\"c"); + "[\"latitude_of_origin\",72.02500919444445],PARAMETER[\"c"); add_srs_wkt (p, 12, "entral_meridian\",-163],PARAMETER[\"false_easting\",2950"); add_srs_wkt (p, 13, "0000],PARAMETER[\"false_northing\",5500000],UNIT[\"metre"); add_srs_wkt (p, 14, @@ -478,11 +474,11 @@ "NAD83_National_Spatial_Reference_System_2007", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-147 +x_0=31500000 +"); + "333 +lat_0=72.02500919444445 +lon_0=-147 +x_0=31500000 +"); add_proj4text (p, 2, "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"); add_proj4text (p, 3, " +no_defs"); add_srs_wkt (p, 0, @@ -506,11 +502,11 @@ add_srs_wkt (p, 9, "AMETER[\"standard_parallel_1\",73.66666666666667],PARAME"); add_srs_wkt (p, 10, "TER[\"standard_parallel_2\",70.33333333333333],PARAMETER"); add_srs_wkt (p, 11, - "[\"latitude_of_origin\",72.02500919444444],PARAMETER[\"c"); + "[\"latitude_of_origin\",72.02500919444445],PARAMETER[\"c"); add_srs_wkt (p, 12, "entral_meridian\",-147],PARAMETER[\"false_easting\",3150"); add_srs_wkt (p, 13, "0000],PARAMETER[\"false_northing\",5500000],UNIT[\"metre"); add_srs_wkt (p, 14, @@ -1000,11 +996,11 @@ "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-131 +x_0=33500000 +"); + "333 +lat_0=72.02500919444445 +lon_0=-131 +x_0=33500000 +"); add_proj4text (p, 2, "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"); add_proj4text (p, 3, " +no_defs"); add_srs_wkt (p, 0, @@ -1028,11 +1024,11 @@ add_srs_wkt (p, 9, "ndard_parallel_1\",73.66666666666667],PARAMETER[\"standa"); add_srs_wkt (p, 10, "rd_parallel_2\",70.33333333333333],PARAMETER[\"latitude_"); add_srs_wkt (p, 11, - "of_origin\",72.02500919444444],PARAMETER[\"central_merid"); + "of_origin\",72.02500919444445],PARAMETER[\"central_merid"); add_srs_wkt (p, 12, "ian\",-131],PARAMETER[\"false_easting\",33500000],PARAME"); add_srs_wkt (p, 13, "TER[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORI"); add_srs_wkt (p, 14, @@ -1045,11 +1041,11 @@ "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-111 +x_0=35500000 +"); + "333 +lat_0=72.02500919444445 +lon_0=-111 +x_0=35500000 +"); add_proj4text (p, 2, "y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"); add_proj4text (p, 3, " +no_defs"); add_srs_wkt (p, 0, @@ -1073,11 +1069,11 @@ add_srs_wkt (p, 9, "ndard_parallel_1\",73.66666666666667],PARAMETER[\"standa"); add_srs_wkt (p, 10, "rd_parallel_2\",70.33333333333333],PARAMETER[\"latitude_"); add_srs_wkt (p, 11, - "of_origin\",72.02500919444444],PARAMETER[\"central_merid"); + "of_origin\",72.02500919444445],PARAMETER[\"central_merid"); add_srs_wkt (p, 12, "ian\",-111],PARAMETER[\"false_easting\",35500000],PARAME"); add_srs_wkt (p, 13, "TER[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORI"); add_srs_wkt (p, 14, @@ -1090,11 +1086,11 @@ "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-91 +x_0=37500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=-91 +x_0=37500000 +y"); add_proj4text (p, 2, "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m "); add_proj4text (p, 3, "+no_defs"); add_srs_wkt (p, 0, @@ -1118,11 +1114,11 @@ add_srs_wkt (p, 9, "ndard_parallel_1\",73.66666666666667],PARAMETER[\"standa"); add_srs_wkt (p, 10, "rd_parallel_2\",70.33333333333333],PARAMETER[\"latitude_"); add_srs_wkt (p, 11, - "of_origin\",72.02500919444444],PARAMETER[\"central_merid"); + "of_origin\",72.02500919444445],PARAMETER[\"central_merid"); add_srs_wkt (p, 12, "ian\",-91],PARAMETER[\"false_easting\",37500000],PARAMET"); add_srs_wkt (p, 13, "ER[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORIT"); add_srs_wkt (p, 14, @@ -1135,11 +1131,11 @@ "NAD83_Canadian_Spatial_Reference_System", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-71 +x_0=39500000 +y"); + "333 +lat_0=72.02500919444445 +lon_0=-71 +x_0=39500000 +y"); add_proj4text (p, 2, "_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m "); add_proj4text (p, 3, "+no_defs"); add_srs_wkt (p, 0, @@ -1163,11 +1159,11 @@ add_srs_wkt (p, 9, "ndard_parallel_1\",73.66666666666667],PARAMETER[\"standa"); add_srs_wkt (p, 10, "rd_parallel_2\",70.33333333333333],PARAMETER[\"latitude_"); add_srs_wkt (p, 11, - "of_origin\",72.02500919444444],PARAMETER[\"central_merid"); + "of_origin\",72.02500919444445],PARAMETER[\"central_merid"); add_srs_wkt (p, 12, "ian\",-71],PARAMETER[\"false_easting\",39500000],PARAMET"); add_srs_wkt (p, 13, "ER[\"false_northing\",5500000],UNIT[\"metre\",1,AUTHORIT"); add_srs_wkt (p, 14, @@ -1762,11 +1758,11 @@ "European_Terrestrial_Reference_System_1989", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-5 +x_0=47500000 +y_"); + "333 +lat_0=72.02500919444445 +lon_0=-5 +x_0=47500000 +y_"); add_proj4text (p, 2, "0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +"); add_proj4text (p, 3, "no_defs"); add_srs_wkt (p, 0, @@ -1790,11 +1786,11 @@ add_srs_wkt (p, 9, "rallel_1\",73.66666666666667],PARAMETER[\"standard_paral"); add_srs_wkt (p, 10, "lel_2\",70.33333333333333],PARAMETER[\"latitude_of_origi"); add_srs_wkt (p, 11, - "n\",72.02500919444444],PARAMETER[\"central_meridian\",-5"); + "n\",72.02500919444445],PARAMETER[\"central_meridian\",-5"); add_srs_wkt (p, 12, "],PARAMETER[\"false_easting\",47500000],PARAMETER[\"fals"); add_srs_wkt (p, 13, "e_northing\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 14, @@ -1813,11 +1809,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Grand Cayman National Grid 1959\",GEOGCS[\"GCGD"); add_srs_wkt (p, 1, "59\",DATUM[\"Grand_Cayman_Geodetic_Datum_1959\",SPHEROID"); add_srs_wkt (p, 2, - "[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\""); + "[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"7008\"]],TOWGS84[-179.483,-69.379,-27.584,-7.86"); add_srs_wkt (p, 4, "2,8.163,6.042,-13.925],AUTHORITY[\"EPSG\",\"6723\"]],PRI"); add_srs_wkt (p, 5, @@ -1852,11 +1848,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Sister Islands National Grid 1961\",GEOGCS[\"SI"); add_srs_wkt (p, 1, "GD61\",DATUM[\"Sister_Islands_Geodetic_Datum_1961\",SPHE"); add_srs_wkt (p, 2, - "ROID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORI"); + "ROID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORI"); add_srs_wkt (p, 3, "TY[\"EPSG\",\"7008\"]],TOWGS84[8.853,-52.644,180.304,-0."); add_srs_wkt (p, 4, "393,-2.323,2.96,-24.081],AUTHORITY[\"EPSG\",\"6726\"]],P"); add_srs_wkt (p, 5, @@ -3544,57 +3540,55 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +la"); add_proj4text (p, 1, "t_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=540"); add_proj4text (p, 2, - "0088.438 +ellps=intl +towgs84=-106.8686,52.2978,-103.723"); + "0088.438 +ellps=intl +towgs84=-106.869,52.2978,-103.724,"); add_proj4text (p, 3, - "9,0.3366,-0.457,1.8422,-1.2747 +units=m +vunits=m +no_de"); - add_proj4text (p, 4, - "fs"); + "0.3366,-0.457,1.8422,-1.2747 +units=m +vunits=m +no_defs"); add_srs_wkt (p, 0, "COMPD_CS[\"Belge 1972 / Belgian Lambert 72 + Ostend heig"); add_srs_wkt (p, 1, "ht\",PROJCS[\"Belge 1972 / Belgian Lambert 72\",GEOGCS[\""); add_srs_wkt (p, 2, "Belge 1972\",DATUM[\"Reseau_National_Belge_1972\",SPHERO"); add_srs_wkt (p, 3, "ID[\"International 1924\",6378388,297,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, - ",\"7022\"]],TOWGS84[-106.8686,52.2978,-103.7239,0.3366,-"); + ",\"7022\"]],TOWGS84[-106.869,52.2978,-103.724,0.3366,-0."); add_srs_wkt (p, 5, - "0.457,1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIM"); + "457,1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM"); add_srs_wkt (p, 6, - "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); + "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 7, - "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]"); + "gree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],"); add_srs_wkt (p, 8, - "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH"); + "AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHOR"); add_srs_wkt (p, 9, - "ORITY[\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal"); + "ITY[\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_C"); add_srs_wkt (p, 10, - "_Conic_2SP\"],PARAMETER[\"standard_parallel_1\",51.16666"); + "onic_2SP\"],PARAMETER[\"standard_parallel_1\",51.1666672"); add_srs_wkt (p, 11, - "723333333],PARAMETER[\"standard_parallel_2\",49.8333339]"); + "3333333],PARAMETER[\"standard_parallel_2\",49.8333339],P"); add_srs_wkt (p, 12, - ",PARAMETER[\"latitude_of_origin\",90],PARAMETER[\"centra"); + "ARAMETER[\"latitude_of_origin\",90],PARAMETER[\"central_"); add_srs_wkt (p, 13, - "l_meridian\",4.367486666666666],PARAMETER[\"false_eastin"); + "meridian\",4.367486666666666],PARAMETER[\"false_easting\""); add_srs_wkt (p, 14, - "g\",150000.013],PARAMETER[\"false_northing\",5400088.438"); + ",150000.013],PARAMETER[\"false_northing\",5400088.438],U"); add_srs_wkt (p, 15, - "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\""); + "NIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\""); add_srs_wkt (p, 16, - "X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31370\""); + ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31370\"]],"); add_srs_wkt (p, 17, - "]],VERT_CS[\"Ostend height\",VERT_DATUM[\"Ostend\",2005,"); + "VERT_CS[\"Ostend height\",VERT_DATUM[\"Ostend\",2005,AUT"); add_srs_wkt (p, 18, - "AUTHORITY[\"EPSG\",\"5110\"]],UNIT[\"metre\",1,AUTHORITY"); + "HORITY[\"EPSG\",\"5110\"]],UNIT[\"metre\",1,AUTHORITY[\""); add_srs_wkt (p, 19, - "[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\","); + "EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\",\"5"); add_srs_wkt (p, 20, - "\"5710\"]],AUTHORITY[\"EPSG\",\"6190\"]]"); + "710\"]],AUTHORITY[\"EPSG\",\"6190\"]]"); p = add_epsg_def_ex (filter, first, last, 6204, "epsg", 6204, "Macedonian State Coordinate System", 0, 0, "Bessel 1841", "Greenwich", "MGI_1901", "Transverse_Mercator", "metre", "Y", "East", "X", "North"); @@ -3636,13 +3630,13 @@ "Nepal 1981", 1, 1, "Everest 1830 (1937 Adjustment)", "Greenwich", "Nepal_1981", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs"); + "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs8"); add_proj4text (p, 1, - "84=293.17,726.18,245.36,0,0,0,0 +no_defs"); + "4=293.17,726.18,245.36,0,0,0,0 +no_defs"); add_srs_wkt (p, 0, "GEOGCS[\"Nepal 1981\",DATUM[\"Nepal_1981\",SPHEROID[\"Ev"); add_srs_wkt (p, 1, "erest 1830 (1937 Adjustment)\",6377276.345,300.8017,AUTH"); add_srs_wkt (p, 2, Index: src/srsinit/epsg_inlined_30.c ================================================================== --- src/srsinit/epsg_inlined_30.c +++ src/srsinit/epsg_inlined_30.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -389,11 +385,11 @@ "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-163 +x_0=29500000 +"); + "333 +lat_0=72.02500919444445 +lon_0=-163 +x_0=29500000 +"); add_proj4text (p, 2, "y_0=5500000 +ellps=GRS80 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"NAD83(2011) / EPSG Arctic zone 5-29\",GEOGCS[\""); add_srs_wkt (p, 1, @@ -415,11 +411,11 @@ add_srs_wkt (p, 9, ",73.66666666666667],PARAMETER[\"standard_parallel_2\",70"); add_srs_wkt (p, 10, ".33333333333333],PARAMETER[\"latitude_of_origin\",72.025"); add_srs_wkt (p, 11, - "00919444444],PARAMETER[\"central_meridian\",-163],PARAME"); + "00919444445],PARAMETER[\"central_meridian\",-163],PARAME"); add_srs_wkt (p, 12, "TER[\"false_easting\",29500000],PARAMETER[\"false_northi"); add_srs_wkt (p, 13, "ng\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001"); add_srs_wkt (p, 14, @@ -432,11 +428,11 @@ "NAD83_National_Spatial_Reference_System_2011", "Lambert_Conformal_Conic_2SP", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333"); add_proj4text (p, 1, - "333 +lat_0=72.02500919444444 +lon_0=-147 +x_0=31500000 +"); + "333 +lat_0=72.02500919444445 +lon_0=-147 +x_0=31500000 +"); add_proj4text (p, 2, "y_0=5500000 +ellps=GRS80 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"NAD83(2011) / EPSG Arctic zone 5-31\",GEOGCS[\""); add_srs_wkt (p, 1, @@ -458,11 +454,11 @@ add_srs_wkt (p, 9, ",73.66666666666667],PARAMETER[\"standard_parallel_2\",70"); add_srs_wkt (p, 10, ".33333333333333],PARAMETER[\"latitude_of_origin\",72.025"); add_srs_wkt (p, 11, - "00919444444],PARAMETER[\"central_meridian\",-147],PARAME"); + "00919444445],PARAMETER[\"central_meridian\",-147],PARAME"); add_srs_wkt (p, 12, "TER[\"false_easting\",31500000],PARAMETER[\"false_northi"); add_srs_wkt (p, 13, "ng\",5500000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001"); add_srs_wkt (p, 14, @@ -962,138 +958,99 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=300000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Ukraine TM zone 7\",GEOGCS[\"UCS-200"); add_srs_wkt (p, 1, "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\","); add_srs_wkt (p, 2, "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-"); add_srs_wkt (p, 3, - "141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]],"); - add_srs_wkt (p, 4, - "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); - add_srs_wkt (p, 5, - "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912"); - add_srs_wkt (p, 6, - "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],"); - add_srs_wkt (p, 7, - "AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_Me"); - add_srs_wkt (p, 8, - "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER["); - add_srs_wkt (p, 9, - "\"central_meridian\",21],PARAMETER[\"scale_factor\",1],P"); - add_srs_wkt (p, 10, - "ARAMETER[\"false_easting\",300000],PARAMETER[\"false_nor"); - add_srs_wkt (p, 11, - "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]"); - add_srs_wkt (p, 12, - "],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 13, - "\"6381\"]]"); + "141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + add_srs_wkt (p, 4, + ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + add_srs_wkt (p, 5, + "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + add_srs_wkt (p, 6, + "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + add_srs_wkt (p, 7, + ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + add_srs_wkt (p, 8, + "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + add_srs_wkt (p, 9, + "[\"central_meridian\",21],PARAMETER[\"scale_factor\",1],"); + add_srs_wkt (p, 10, + "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no"); + add_srs_wkt (p, 11, + "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + add_srs_wkt (p, 12, + "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 13, + ",\"6381\"]]"); p = add_epsg_def_ex (filter, first, last, 6382, "epsg", 6382, "UCS-2000 / Ukraine TM zone 8", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=300000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Ukraine TM zone 8\",GEOGCS[\"UCS-200"); add_srs_wkt (p, 1, "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\","); add_srs_wkt (p, 2, "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-"); add_srs_wkt (p, 3, - "141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]],"); - add_srs_wkt (p, 4, - "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); - add_srs_wkt (p, 5, - "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912"); - add_srs_wkt (p, 6, - "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],"); - add_srs_wkt (p, 7, - "AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_Me"); - add_srs_wkt (p, 8, - "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER["); - add_srs_wkt (p, 9, - "\"central_meridian\",24],PARAMETER[\"scale_factor\",1],P"); - add_srs_wkt (p, 10, - "ARAMETER[\"false_easting\",300000],PARAMETER[\"false_nor"); - add_srs_wkt (p, 11, - "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]"); - add_srs_wkt (p, 12, - "],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 13, - "\"6382\"]]"); + "141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + add_srs_wkt (p, 4, + ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + add_srs_wkt (p, 5, + "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + add_srs_wkt (p, 6, + "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + add_srs_wkt (p, 7, + ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + add_srs_wkt (p, 8, + "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + add_srs_wkt (p, 9, + "[\"central_meridian\",24],PARAMETER[\"scale_factor\",1],"); + add_srs_wkt (p, 10, + "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no"); + add_srs_wkt (p, 11, + "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + add_srs_wkt (p, 12, + "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 13, + ",\"6382\"]]"); p = add_epsg_def_ex (filter, first, last, 6383, "epsg", 6383, "UCS-2000 / Ukraine TM zone 9", 0, 1, "Krassowsky 1940", "Greenwich", "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=300000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Ukraine TM zone 9\",GEOGCS[\"UCS-200"); add_srs_wkt (p, 1, "0\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\","); add_srs_wkt (p, 2, "6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,-"); add_srs_wkt (p, 3, - "141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]],"); - add_srs_wkt (p, 4, - "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); - add_srs_wkt (p, 5, - "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912"); - add_srs_wkt (p, 6, - "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],"); - add_srs_wkt (p, 7, - "AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_Me"); - add_srs_wkt (p, 8, - "rcator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER["); - add_srs_wkt (p, 9, - "\"central_meridian\",27],PARAMETER[\"scale_factor\",1],P"); - add_srs_wkt (p, 10, - "ARAMETER[\"false_easting\",300000],PARAMETER[\"false_nor"); - add_srs_wkt (p, 11, - "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]"); - add_srs_wkt (p, 12, - "],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\","); - add_srs_wkt (p, 13, - "\"6383\"]]"); - p = add_epsg_def_ex (filter, first, last, 6384, "epsg", 6384, - "UCS-2000 / Ukraine TM zone 10", 0, 1, - "Krassowsky 1940", "Greenwich", - "Ukraine_2000", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=300000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); - add_proj4text (p, 2, - "=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"UCS-2000 / Ukraine TM zone 10\",GEOGCS[\"UCS-20"); - add_srs_wkt (p, 1, - "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); - add_srs_wkt (p, 2, - ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); - add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + "141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); add_srs_wkt (p, 4, ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); add_srs_wkt (p, 5, "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); add_srs_wkt (p, 6, @@ -1101,16 +1058,55 @@ add_srs_wkt (p, 7, ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); add_srs_wkt (p, 8, "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); add_srs_wkt (p, 9, - "[\"central_meridian\",30],PARAMETER[\"scale_factor\",1],"); + "[\"central_meridian\",27],PARAMETER[\"scale_factor\",1],"); add_srs_wkt (p, 10, "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no"); add_srs_wkt (p, 11, "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); add_srs_wkt (p, 12, + "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 13, + ",\"6383\"]]"); + p = add_epsg_def_ex (filter, first, last, 6384, "epsg", 6384, + "UCS-2000 / Ukraine TM zone 10", 0, 1, + "Krassowsky 1940", "Greenwich", + "Ukraine_2000", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=300000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); + add_proj4text (p, 2, + "s=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"UCS-2000 / Ukraine TM zone 10\",GEOGCS[\"UCS-20"); + add_srs_wkt (p, 1, + "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); + add_srs_wkt (p, 2, + ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); + add_srs_wkt (p, 3, + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); + add_srs_wkt (p, 4, + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); + add_srs_wkt (p, 5, + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); + add_srs_wkt (p, 6, + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); + add_srs_wkt (p, 7, + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); + add_srs_wkt (p, 8, + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); + add_srs_wkt (p, 9, + "R[\"central_meridian\",30],PARAMETER[\"scale_factor\",1]"); + add_srs_wkt (p, 10, + ",PARAMETER[\"false_easting\",300000],PARAMETER[\"false_n"); + add_srs_wkt (p, 11, + "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + add_srs_wkt (p, 12, "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 13, ",\"6384\"]]"); p = add_epsg_def_ex (filter, first, last, 6385, "epsg", 6385, "UCS-2000 / Ukraine TM zone 11", 0, 1, @@ -1118,37 +1114,37 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=300000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Ukraine TM zone 11\",GEOGCS[\"UCS-20"); add_srs_wkt (p, 1, "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); add_srs_wkt (p, 9, - "[\"central_meridian\",33],PARAMETER[\"scale_factor\",1],"); + "R[\"central_meridian\",33],PARAMETER[\"scale_factor\",1]"); add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no"); + ",PARAMETER[\"false_easting\",300000],PARAMETER[\"false_n"); add_srs_wkt (p, 11, - "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); add_srs_wkt (p, 12, "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 13, ",\"6385\"]]"); p = add_epsg_def_ex (filter, first, last, 6386, "epsg", 6386, @@ -1157,37 +1153,37 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=300000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Ukraine TM zone 12\",GEOGCS[\"UCS-20"); add_srs_wkt (p, 1, "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); add_srs_wkt (p, 9, - "[\"central_meridian\",36],PARAMETER[\"scale_factor\",1],"); + "R[\"central_meridian\",36],PARAMETER[\"scale_factor\",1]"); add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no"); + ",PARAMETER[\"false_easting\",300000],PARAMETER[\"false_n"); add_srs_wkt (p, 11, - "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); add_srs_wkt (p, 12, "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 13, ",\"6386\"]]"); p = add_epsg_def_ex (filter, first, last, 6387, "epsg", 6387, @@ -1196,37 +1192,37 @@ "Ukraine_2000", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=300000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units"); + "ellps=krass +towgs84=25,-141,-78.5,-0,0.35,0.736,0 +unit"); add_proj4text (p, 2, - "=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"UCS-2000 / Ukraine TM zone 13\",GEOGCS[\"UCS-20"); add_srs_wkt (p, 1, "00\",DATUM[\"Ukraine_2000\",SPHEROID[\"Krassowsky 1940\""); add_srs_wkt (p, 2, ",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TOWGS84[25,"); add_srs_wkt (p, 3, - "-141,-78.5,0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]]"); + "-141,-78.5,-0,0.35,0.736,0],AUTHORITY[\"EPSG\",\"1077\"]"); add_srs_wkt (p, 4, - ",PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UN"); + "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, - "IT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"91"); + "NIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9"); add_srs_wkt (p, 6, - "22\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST]"); + "122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST"); add_srs_wkt (p, 7, - ",AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_M"); + "],AUTHORITY[\"EPSG\",\"5561\"]],PROJECTION[\"Transverse_"); add_srs_wkt (p, 8, - "ercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER"); + "Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETE"); add_srs_wkt (p, 9, - "[\"central_meridian\",39],PARAMETER[\"scale_factor\",1],"); + "R[\"central_meridian\",39],PARAMETER[\"scale_factor\",1]"); add_srs_wkt (p, 10, - "PARAMETER[\"false_easting\",300000],PARAMETER[\"false_no"); + ",PARAMETER[\"false_easting\",300000],PARAMETER[\"false_n"); add_srs_wkt (p, 11, - "rthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); + "orthing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\""); add_srs_wkt (p, 12, "]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 13, ",\"6387\"]]"); p = add_epsg_def_ex (filter, first, last, 6391, "epsg", 6391, Index: src/srsinit/epsg_inlined_31.c ================================================================== --- src/srsinit/epsg_inlined_31.c +++ src/srsinit/epsg_inlined_31.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ Index: src/srsinit/epsg_inlined_32.c ================================================================== --- src/srsinit/epsg_inlined_32.c +++ src/srsinit/epsg_inlined_32.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ Index: src/srsinit/epsg_inlined_33.c ================================================================== --- src/srsinit/epsg_inlined_33.c +++ src/srsinit/epsg_inlined_33.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -1871,11 +1867,11 @@ add_srs_wkt (p, 1, " (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Pari"); add_srs_wkt (p, 2, "s\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212"); add_srs_wkt (p, 3, - "936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32"); + "936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32"); add_srs_wkt (p, 4, "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\""); add_srs_wkt (p, 5, ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\","); add_srs_wkt (p, 6, @@ -1912,11 +1908,11 @@ add_srs_wkt (p, 2, "F (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Par"); add_srs_wkt (p, 3, "is\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021"); add_srs_wkt (p, 4, - "2936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3"); + "2936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3"); add_srs_wkt (p, 5, "20,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris"); add_srs_wkt (p, 6, "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\""); add_srs_wkt (p, 7, @@ -1965,11 +1961,11 @@ add_srs_wkt (p, 2, "aris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\""); add_srs_wkt (p, 3, ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936"); add_srs_wkt (p, 4, - "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); + "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); add_srs_wkt (p, 5, ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2"); add_srs_wkt (p, 6, ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0."); add_srs_wkt (p, 7, @@ -2018,11 +2014,11 @@ add_srs_wkt (p, 2, "(Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris"); add_srs_wkt (p, 3, "\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129"); add_srs_wkt (p, 4, - "36269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320"); + "36265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320"); add_srs_wkt (p, 5, ",0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\""); add_srs_wkt (p, 6, ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\","); add_srs_wkt (p, 7, @@ -2147,11 +2143,11 @@ add_srs_wkt (p, 0, "COMPD_CS[\"NAD27 + NGVD29 height\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -2184,11 +2180,11 @@ add_srs_wkt (p, 1, "\"NAD27 / Texas North\",GEOGCS[\"NAD27\",DATUM[\"North_A"); add_srs_wkt (p, 2, "merican_Datum_1927\",SPHEROID[\"Clarke 1866\",6378206.4,"); add_srs_wkt (p, 3, - "294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORIT"); + "294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTHORIT"); add_srs_wkt (p, 4, "Y[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); add_srs_wkt (p, 6, @@ -2225,41 +2221,39 @@ "Amersfoort", 1, 1, "Bessel 1841", "Greenwich", "Amersfoort", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, - "+proj=longlat +ellps=bessel +towgs84=565.4171,50.3319,46"); + "+proj=longlat +ellps=bessel +towgs84=565.417,50.3319,465"); add_proj4text (p, 1, - "5.5524,-0.398957388243134,0.343987817378283,-1.877401639"); + ".552,-0.398957,0.343988,-1.8774,4.0725 +vunits=m +no_def"); add_proj4text (p, 2, - "98045,4.0725 +vunits=m +no_defs"); + "s"); add_srs_wkt (p, 0, "COMPD_CS[\"RD/NAP\",GEOGCS[\"Amersfoort\",DATUM[\"Amersf"); add_srs_wkt (p, 1, "oort\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,"); add_srs_wkt (p, 2, - "AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.4171,50.3319,4"); + "AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.417,50.3319,46"); add_srs_wkt (p, 3, - "65.5524,-0.398957388243134,0.343987817378283,-1.87740163"); + "5.552,-0.398957,0.343988,-1.8774,4.0725],AUTHORITY[\"EPS"); add_srs_wkt (p, 4, - "998045,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],PRIMEM[\"Gr"); + "G\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 5, - "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); + ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); add_srs_wkt (p, 6, - ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\""); + "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); add_srs_wkt (p, 7, - "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E"); + "gitude\",EAST],AUTHORITY[\"EPSG\",\"4289\"]],VERT_CS[\"N"); add_srs_wkt (p, 8, - "PSG\",\"4289\"]],VERT_CS[\"NAP height\",VERT_DATUM[\"Nor"); + "AP height\",VERT_DATUM[\"Normaal Amsterdams Peil\",2005,"); add_srs_wkt (p, 9, - "maal Amsterdams Peil\",2005,AUTHORITY[\"EPSG\",\"5109\"]"); + "AUTHORITY[\"EPSG\",\"5109\"]],UNIT[\"metre\",1,AUTHORITY"); add_srs_wkt (p, 10, - "],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\""); + "[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 11, - "Up\",UP],AUTHORITY[\"EPSG\",\"5709\"]],AUTHORITY[\"EPSG\""); - add_srs_wkt (p, 12, - ",\"7408\"]]"); + "\"5709\"]],AUTHORITY[\"EPSG\",\"7408\"]]"); p = add_epsg_def_ex (filter, first, last, 7409, "epsg", 7409, "ETRS89", 1, 1, "GRS 1980", "Greenwich", "European_Terrestrial_Reference_System_1989", "none", "degree", "Latitude", "North", "Longitude", "East"); @@ -2299,19 +2293,19 @@ "PDO_Survey_Datum_1993", "none", "degree", "Latitude", "North", "Longitude", "East"); add_proj4text (p, 0, "+proj=longlat +ellps=clrk80 +towgs84=-180.624,-225.516,1"); add_proj4text (p, 1, - "73.919,-0.81,-1.898,8.336,16.71006 +vunits=m +no_defs"); + "73.919,-0.81,-1.898,8.336,16.7101 +vunits=m +no_defs"); add_srs_wkt (p, 0, "COMPD_CS[\"PSHD93\",GEOGCS[\"PSD93\",DATUM[\"PDO_Survey_"); add_srs_wkt (p, 1, "Datum_1993\",SPHEROID[\"Clarke 1880 (RGS)\",6378249.145,"); add_srs_wkt (p, 2, "293.465,AUTHORITY[\"EPSG\",\"7012\"]],TOWGS84[-180.624,-"); add_srs_wkt (p, 3, - "225.516,173.919,-0.81,-1.898,8.336,16.71006],AUTHORITY[\""); + "225.516,173.919,-0.81,-1.898,8.336,16.7101],AUTHORITY[\""); add_srs_wkt (p, 4, "EPSG\",\"6134\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 5, "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); add_srs_wkt (p, 6, @@ -2346,11 +2340,11 @@ add_srs_wkt (p, 2, "S[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francai"); add_srs_wkt (p, 3, "se_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293."); add_srs_wkt (p, 4, - "4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168"); + "4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168"); add_srs_wkt (p, 5, ",-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\""); add_srs_wkt (p, 6, "Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\""); add_srs_wkt (p, 7, @@ -2399,11 +2393,11 @@ add_srs_wkt (p, 2, "ris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\","); add_srs_wkt (p, 3, "SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129362"); add_srs_wkt (p, 4, - "69,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,"); + "65,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,"); add_srs_wkt (p, 5, "0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2."); add_srs_wkt (p, 6, "33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.0"); add_srs_wkt (p, 7, @@ -2452,11 +2446,11 @@ add_srs_wkt (p, 2, "Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\""); add_srs_wkt (p, 3, ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936"); add_srs_wkt (p, 4, - "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); + "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); add_srs_wkt (p, 5, ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2"); add_srs_wkt (p, 6, ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0."); add_srs_wkt (p, 7, @@ -2526,55 +2520,53 @@ add_proj4text (p, 0, "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.387638888"); add_proj4text (p, 1, "88889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel"); add_proj4text (p, 2, - " +towgs84=565.4171,50.3319,465.5524,-0.398957388243134,0"); + " +towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1."); add_proj4text (p, 3, - ".343987817378283,-1.87740163998045,4.0725 +units=m +vuni"); - add_proj4text (p, 4, - "ts=m +no_defs"); + "8774,4.0725 +units=m +vunits=m +no_defs"); add_srs_wkt (p, 0, "COMPD_CS[\"Amersfoort / RD New + NAP height\",PROJCS[\"A"); add_srs_wkt (p, 1, "mersfoort / RD New\",GEOGCS[\"Amersfoort\",DATUM[\"Amers"); add_srs_wkt (p, 2, "foort\",SPHEROID[\"Bessel 1841\",6377397.155,299.1528128"); add_srs_wkt (p, 3, - ",AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.4171,50.3319,"); - add_srs_wkt (p, 4, - "465.5524,-0.398957388243134,0.343987817378283,-1.8774016"); - add_srs_wkt (p, 5, - "3998045,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],PRIMEM[\"G"); - add_srs_wkt (p, 6, - "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree"); - add_srs_wkt (p, 7, - "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS"); - add_srs_wkt (p, 8, - "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY["); - add_srs_wkt (p, 9, - "\"EPSG\",\"4289\"]],PROJECTION[\"Oblique_Stereographic\""); - add_srs_wkt (p, 10, - "],PARAMETER[\"latitude_of_origin\",52.15616055555555],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"central_meridian\",5.38763888888889],PARAMETER"); - add_srs_wkt (p, 12, - "[\"scale_factor\",0.9999079],PARAMETER[\"false_easting\""); - add_srs_wkt (p, 13, - ",155000],PARAMETER[\"false_northing\",463000],UNIT[\"met"); + ",AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.417,50.3319,4"); + add_srs_wkt (p, 4, + "65.552,-0.398957,0.343988,-1.8774,4.0725],AUTHORITY[\"EP"); + add_srs_wkt (p, 5, + "SG\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); + add_srs_wkt (p, 6, + ",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY"); + add_srs_wkt (p, 7, + "[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Lon"); + add_srs_wkt (p, 8, + "gitude\",EAST],AUTHORITY[\"EPSG\",\"4289\"]],PROJECTION["); + add_srs_wkt (p, 9, + "\"Oblique_Stereographic\"],PARAMETER[\"latitude_of_origi"); + add_srs_wkt (p, 10, + "n\",52.15616055555555],PARAMETER[\"central_meridian\",5."); + add_srs_wkt (p, 11, + "38763888888889],PARAMETER[\"scale_factor\",0.9999079],PA"); + add_srs_wkt (p, 12, + "RAMETER[\"false_easting\",155000],PARAMETER[\"false_nort"); + add_srs_wkt (p, 13, + "hing\",463000],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"900"); add_srs_wkt (p, 14, - "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX"); + "1\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPS"); add_srs_wkt (p, 15, - "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28992\"]],VERT_CS[\""); + "G\",\"28992\"]],VERT_CS[\"NAP height\",VERT_DATUM[\"Norm"); add_srs_wkt (p, 16, - "NAP height\",VERT_DATUM[\"Normaal Amsterdams Peil\",2005"); + "aal Amsterdams Peil\",2005,AUTHORITY[\"EPSG\",\"5109\"]]"); add_srs_wkt (p, 17, - ",AUTHORITY[\"EPSG\",\"5109\"]],UNIT[\"metre\",1,AUTHORIT"); + ",UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"U"); add_srs_wkt (p, 18, - "Y[\"EPSG\",\"9001\"]],AXIS[\"Up\",UP],AUTHORITY[\"EPSG\""); + "p\",UP],AUTHORITY[\"EPSG\",\"5709\"]],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 19, - ",\"5709\"]],AUTHORITY[\"EPSG\",\"7415\"]]"); + ",\"7415\"]]"); p = add_epsg_def_ex (filter, first, last, 7416, "epsg", 7416, "ETRS89 / UTM zone 32N", 0, 0, "GRS 1980", "Greenwich", "European_Terrestrial_Reference_System_1989", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -2834,11 +2826,11 @@ add_srs_wkt (p, 2, "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P"); add_srs_wkt (p, 3, "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660"); add_srs_wkt (p, 4, - "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); + "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); add_srs_wkt (p, 5, ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par"); add_srs_wkt (p, 6, "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra"); add_srs_wkt (p, 7, @@ -2887,11 +2879,11 @@ add_srs_wkt (p, 2, "\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise"); add_srs_wkt (p, 3, "_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46"); add_srs_wkt (p, 4, - "60212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-"); + "60212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-"); add_srs_wkt (p, 5, "60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"P"); add_srs_wkt (p, 6, "aris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"g"); add_srs_wkt (p, 7, @@ -2961,255 +2953,216 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 4\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",4500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"20004\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",4500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"20004\"]]"); p = add_epsg_def_ex (filter, first, last, 20005, "epsg", 20005, "Pulkovo 1995 / Gauss-Kruger zone 5", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 5\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",5500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"20005\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",5500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"20005\"]]"); p = add_epsg_def_ex (filter, first, last, 20006, "epsg", 20006, "Pulkovo 1995 / Gauss-Kruger zone 6", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 6\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",6500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"20006\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",6500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"20006\"]]"); p = add_epsg_def_ex (filter, first, last, 20007, "epsg", 20007, "Pulkovo 1995 / Gauss-Kruger zone 7", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 7\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",7500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"20007\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",7500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"20007\"]]"); p = add_epsg_def_ex (filter, first, last, 20008, "epsg", 20008, "Pulkovo 1995 / Gauss-Kruger zone 8", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 8\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",8500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"20008\"]]"); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); + add_srs_wkt (p, 4, + "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + add_srs_wkt (p, 5, + "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + add_srs_wkt (p, 6, + "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + add_srs_wkt (p, 7, + "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + add_srs_wkt (p, 8, + "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + add_srs_wkt (p, 9, + "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",8500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"20008\"]]"); p = add_epsg_def_ex (filter, first, last, 20009, "epsg", 20009, "Pulkovo 1995 / Gauss-Kruger zone 9", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 9\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\"E"); - add_srs_wkt (p, 4, - "PSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); - add_srs_wkt (p, 5, - "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); - add_srs_wkt (p, 6, - "TY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"L"); - add_srs_wkt (p, 7, - "ongitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTIO"); - add_srs_wkt (p, 8, - "N[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origi"); - add_srs_wkt (p, 9, - "n\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"sc"); - add_srs_wkt (p, 10, - "ale_factor\",1],PARAMETER[\"false_easting\",9500000],PAR"); - add_srs_wkt (p, 11, - "AMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY["); - add_srs_wkt (p, 12, - "\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],A"); - add_srs_wkt (p, 13, - "UTHORITY[\"EPSG\",\"20009\"]]"); - p = add_epsg_def_ex (filter, first, last, 20010, "epsg", 20010, - "Pulkovo 1995 / Gauss-Kruger zone 10", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); - add_proj4text (p, 2, - "22 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 10\",GEOGCS[\""); - add_srs_wkt (p, 1, - "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); - add_srs_wkt (p, 2, - "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); - add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "WGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY[\""); add_srs_wkt (p, 4, "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 5, "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); add_srs_wkt (p, 6, @@ -3217,837 +3170,876 @@ add_srs_wkt (p, 7, "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); add_srs_wkt (p, 8, "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",10500000],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 12, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); - add_srs_wkt (p, 13, - ",AUTHORITY[\"EPSG\",\"20010\"]]"); + "in\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"s"); + add_srs_wkt (p, 10, + "cale_factor\",1],PARAMETER[\"false_easting\",9500000],PA"); + add_srs_wkt (p, 11, + "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); + add_srs_wkt (p, 12, + "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); + add_srs_wkt (p, 13, + "AUTHORITY[\"EPSG\",\"20009\"]]"); + p = add_epsg_def_ex (filter, first, last, 20010, "epsg", 20010, + "Pulkovo 1995 / Gauss-Kruger zone 10", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); + add_proj4text (p, 2, + "0.22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 10\",GEOGCS[\""); + add_srs_wkt (p, 1, + "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); + add_srs_wkt (p, 2, + "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); + add_srs_wkt (p, 3, + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",10500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"20010\"]]"); p = add_epsg_def_ex (filter, first, last, 20011, "epsg", 20011, "Pulkovo 1995 / Gauss-Kruger zone 11", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 11\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",11500000],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 12, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); - add_srs_wkt (p, 13, - ",AUTHORITY[\"EPSG\",\"20011\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",11500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"20011\"]]"); p = add_epsg_def_ex (filter, first, last, 20012, "epsg", 20012, "Pulkovo 1995 / Gauss-Kruger zone 12", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 12\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",12500000],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 12, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); - add_srs_wkt (p, 13, - ",AUTHORITY[\"EPSG\",\"20012\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",12500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"20012\"]]"); p = add_epsg_def_ex (filter, first, last, 20013, "epsg", 20013, "Pulkovo 1995 / Gauss-Kruger zone 13", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 13\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",13500000],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 12, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); - add_srs_wkt (p, 13, - ",AUTHORITY[\"EPSG\",\"20013\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",13500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"20013\"]]"); p = add_epsg_def_ex (filter, first, last, 20014, "epsg", 20014, "Pulkovo 1995 / Gauss-Kruger zone 14", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 14\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",14500000],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 12, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); - add_srs_wkt (p, 13, - ",AUTHORITY[\"EPSG\",\"20014\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",14500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"20014\"]]"); p = add_epsg_def_ex (filter, first, last, 20015, "epsg", 20015, "Pulkovo 1995 / Gauss-Kruger zone 15", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 15\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",15500000],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 12, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); - add_srs_wkt (p, 13, - ",AUTHORITY[\"EPSG\",\"20015\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",15500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"20015\"]]"); p = add_epsg_def_ex (filter, first, last, 20016, "epsg", 20016, "Pulkovo 1995 / Gauss-Kruger zone 16", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 16\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",16500000],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 12, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); - add_srs_wkt (p, 13, - ",AUTHORITY[\"EPSG\",\"20016\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",16500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"20016\"]]"); p = add_epsg_def_ex (filter, first, last, 20017, "epsg", 20017, "Pulkovo 1995 / Gauss-Kruger zone 17", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 17\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",17500000],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 12, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); - add_srs_wkt (p, 13, - ",AUTHORITY[\"EPSG\",\"20017\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",17500000],"); + add_srs_wkt (p, 11, + "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + add_srs_wkt (p, 12, + "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + add_srs_wkt (p, 13, + "],AUTHORITY[\"EPSG\",\"20017\"]]"); p = add_epsg_def_ex (filter, first, last, 20018, "epsg", 20018, "Pulkovo 1995 / Gauss-Kruger zone 18", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 18\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",105],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",18500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20018\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",105],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",18500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"20018\"]]"); p = add_epsg_def_ex (filter, first, last, 20019, "epsg", 20019, "Pulkovo 1995 / Gauss-Kruger zone 19", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 19\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",111],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",19500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20019\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",111],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",19500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"20019\"]]"); p = add_epsg_def_ex (filter, first, last, 20020, "epsg", 20020, "Pulkovo 1995 / Gauss-Kruger zone 20", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 20\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",117],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",117],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",20500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",20500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20020\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20020\"]]"); p = add_epsg_def_ex (filter, first, last, 20021, "epsg", 20021, "Pulkovo 1995 / Gauss-Kruger zone 21", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 21\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",123],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",123],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",21500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",21500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20021\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20021\"]]"); p = add_epsg_def_ex (filter, first, last, 20022, "epsg", 20022, "Pulkovo 1995 / Gauss-Kruger zone 22", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 22\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",129],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",129],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",22500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",22500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20022\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20022\"]]"); p = add_epsg_def_ex (filter, first, last, 20023, "epsg", 20023, "Pulkovo 1995 / Gauss-Kruger zone 23", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 23\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",135],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",135],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",23500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",23500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20023\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20023\"]]"); p = add_epsg_def_ex (filter, first, last, 20024, "epsg", 20024, "Pulkovo 1995 / Gauss-Kruger zone 24", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 24\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",141],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",141],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",24500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",24500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20024\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20024\"]]"); p = add_epsg_def_ex (filter, first, last, 20025, "epsg", 20025, "Pulkovo 1995 / Gauss-Kruger zone 25", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 25\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",147],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",147],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",25500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",25500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20025\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20025\"]]"); p = add_epsg_def_ex (filter, first, last, 20026, "epsg", 20026, "Pulkovo 1995 / Gauss-Kruger zone 26", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 26\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",153],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",153],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",26500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",26500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20026\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20026\"]]"); p = add_epsg_def_ex (filter, first, last, 20027, "epsg", 20027, "Pulkovo 1995 / Gauss-Kruger zone 27", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 27\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",159],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",159],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",27500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",27500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20027\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20027\"]]"); p = add_epsg_def_ex (filter, first, last, 20028, "epsg", 20028, "Pulkovo 1995 / Gauss-Kruger zone 28", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 28\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",165],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",165],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",28500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",28500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20028\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20028\"]]"); p = add_epsg_def_ex (filter, first, last, 20029, "epsg", 20029, "Pulkovo 1995 / Gauss-Kruger zone 29", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 29\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",171],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",171],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",29500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",29500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20029\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20029\"]]"); p = add_epsg_def_ex (filter, first, last, 20030, "epsg", 20030, "Pulkovo 1995 / Gauss-Kruger zone 30", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0"); + "0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,"); add_proj4text (p, 2, - ".22 +units=m +no_defs"); + "-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 30\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",177],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",177],PARAMETER["); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",30500000],"); + "\"scale_factor\",1],PARAMETER[\"false_easting\",30500000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20030\"]]"); + "ST],AUTHORITY[\"EPSG\",\"20030\"]]"); p = add_epsg_def_ex (filter, first, last, 20031, "epsg", 20031, "Pulkovo 1995 / Gauss-Kruger zone 31", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-"); + "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13"); add_proj4text (p, 2, - "0.22 +units=m +no_defs"); + ",-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 31\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",-177],PARAMETER[\""); + "igin\",0],PARAMETER[\"central_meridian\",-177],PARAMETER"); add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",31500000],"); + "[\"scale_factor\",1],PARAMETER[\"false_easting\",3150000"); add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20031\"]]"); + "AST],AUTHORITY[\"EPSG\",\"20031\"]]"); } #endif /* full EPSG initialization enabled/disabled */ Index: src/srsinit/epsg_inlined_34.c ================================================================== --- src/srsinit/epsg_inlined_34.c +++ src/srsinit/epsg_inlined_34.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -64,294 +60,255 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-"); + "=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13"); add_proj4text (p, 2, - "0.22 +units=m +no_defs"); + ",-0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger zone 32\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",-171],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",32500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"20032\"]]"); + "OWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",-171],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",3250000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"20032\"]]"); p = add_epsg_def_ex (filter, first, last, 20064, "epsg", 20064, "Pulkovo 1995 / Gauss-Kruger 4N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 4N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",21],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"20064\"]]"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"20064\"]]"); p = add_epsg_def_ex (filter, first, last, 20065, "epsg", 20065, "Pulkovo 1995 / Gauss-Kruger 5N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 5N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",27],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"20065\"]]"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"20065\"]]"); p = add_epsg_def_ex (filter, first, last, 20066, "epsg", 20066, "Pulkovo 1995 / Gauss-Kruger 6N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 6N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",33],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"20066\"]]"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",33],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"20066\"]]"); p = add_epsg_def_ex (filter, first, last, 20067, "epsg", 20067, "Pulkovo 1995 / Gauss-Kruger 7N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 7N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",39],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"20067\"]]"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",39],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"20067\"]]"); p = add_epsg_def_ex (filter, first, last, 20068, "epsg", 20068, "Pulkovo 1995 / Gauss-Kruger 8N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 8N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",45],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"20068\"]]"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); + add_srs_wkt (p, 4, + "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + add_srs_wkt (p, 5, + "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + add_srs_wkt (p, 6, + "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + add_srs_wkt (p, 7, + "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + add_srs_wkt (p, 8, + ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + add_srs_wkt (p, 9, + "e_of_origin\",0],PARAMETER[\"central_meridian\",45],PARA"); + add_srs_wkt (p, 10, + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + add_srs_wkt (p, 11, + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + add_srs_wkt (p, 12, + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + add_srs_wkt (p, 13, + ",EAST],AUTHORITY[\"EPSG\",\"20068\"]]"); p = add_epsg_def_ex (filter, first, last, 20069, "epsg", 20069, "Pulkovo 1995 / Gauss-Kruger 9N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 9N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUTHO"); - add_srs_wkt (p, 4, - "RITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); - add_srs_wkt (p, 5, - "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); - add_srs_wkt (p, 6, - ",AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],"); - add_srs_wkt (p, 7, - "AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]],P"); - add_srs_wkt (p, 8, - "ROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_"); - add_srs_wkt (p, 9, - "of_origin\",0],PARAMETER[\"central_meridian\",51],PARAME"); - add_srs_wkt (p, 10, - "TER[\"scale_factor\",1],PARAMETER[\"false_easting\",5000"); - add_srs_wkt (p, 11, - "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); - add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); - add_srs_wkt (p, 13, - "EAST],AUTHORITY[\"EPSG\",\"20069\"]]"); - p = add_epsg_def_ex (filter, first, last, 20070, "epsg", 20070, - "Pulkovo 1995 / Gauss-Kruger 10N (deprecated)", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1995", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +"); - add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 10N (deprecated)\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "4\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); add_srs_wkt (p, 6, @@ -359,836 +316,875 @@ add_srs_wkt (p, 7, "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); add_srs_wkt (p, 8, ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",57],PARA"); + "e_of_origin\",0],PARAMETER[\"central_meridian\",51],PARA"); add_srs_wkt (p, 10, "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"20070\"]]"); + ",EAST],AUTHORITY[\"EPSG\",\"20069\"]]"); + p = add_epsg_def_ex (filter, first, last, 20070, "epsg", 20070, + "Pulkovo 1995 / Gauss-Kruger 10N (deprecated)", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1995", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +"); + add_proj4text (p, 1, + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 10N (deprecated)\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",57],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + add_srs_wkt (p, 12, + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20070\"]]"); p = add_epsg_def_ex (filter, first, last, 20071, "epsg", 20071, "Pulkovo 1995 / Gauss-Kruger 11N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 11N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",63],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"20071\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",63],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + add_srs_wkt (p, 12, + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20071\"]]"); p = add_epsg_def_ex (filter, first, last, 20072, "epsg", 20072, "Pulkovo 1995 / Gauss-Kruger 12N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 12N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",69],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"20072\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",69],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + add_srs_wkt (p, 12, + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20072\"]]"); p = add_epsg_def_ex (filter, first, last, 20073, "epsg", 20073, "Pulkovo 1995 / Gauss-Kruger 13N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 13N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",75],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"20073\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",75],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + add_srs_wkt (p, 12, + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20073\"]]"); p = add_epsg_def_ex (filter, first, last, 20074, "epsg", 20074, "Pulkovo 1995 / Gauss-Kruger 14N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 14N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",81],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"20074\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",81],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + add_srs_wkt (p, 12, + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20074\"]]"); p = add_epsg_def_ex (filter, first, last, 20075, "epsg", 20075, "Pulkovo 1995 / Gauss-Kruger 15N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); - add_proj4text (p, 2, - " +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 15N (deprecated)\","); - add_srs_wkt (p, 1, - "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); - add_srs_wkt (p, 2, - "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); - add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",87],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"20075\"]]"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); + add_proj4text (p, 2, + "22 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 15N (deprecated)\","); + add_srs_wkt (p, 1, + "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); + add_srs_wkt (p, 2, + "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); + add_srs_wkt (p, 3, + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",87],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + add_srs_wkt (p, 12, + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20075\"]]"); p = add_epsg_def_ex (filter, first, last, 20076, "epsg", 20076, "Pulkovo 1995 / Gauss-Kruger 16N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 16N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",93],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"20076\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",93],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + add_srs_wkt (p, 12, + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20076\"]]"); p = add_epsg_def_ex (filter, first, last, 20077, "epsg", 20077, "Pulkovo 1995 / Gauss-Kruger 17N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22"); + "ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0."); add_proj4text (p, 2, - " +units=m +no_defs"); + "22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 17N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",99],PARA"); - add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); - add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); - add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); - add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"20077\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",99],PA"); + add_srs_wkt (p, 10, + "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + add_srs_wkt (p, 11, + "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + add_srs_wkt (p, 12, + ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20077\"]]"); p = add_epsg_def_ex (filter, first, last, 20078, "epsg", 20078, "Pulkovo 1995 / Gauss-Kruger 18N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 18N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",105],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20078\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20078\"]]"); p = add_epsg_def_ex (filter, first, last, 20079, "epsg", 20079, "Pulkovo 1995 / Gauss-Kruger 19N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 19N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",111],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20079\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20079\"]]"); p = add_epsg_def_ex (filter, first, last, 20080, "epsg", 20080, "Pulkovo 1995 / Gauss-Kruger 20N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 20N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",117],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20080\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20080\"]]"); p = add_epsg_def_ex (filter, first, last, 20081, "epsg", 20081, "Pulkovo 1995 / Gauss-Kruger 21N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 21N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",123],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20081\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20081\"]]"); p = add_epsg_def_ex (filter, first, last, 20082, "epsg", 20082, "Pulkovo 1995 / Gauss-Kruger 22N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 22N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",129],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20082\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20082\"]]"); p = add_epsg_def_ex (filter, first, last, 20083, "epsg", 20083, "Pulkovo 1995 / Gauss-Kruger 23N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 23N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",135],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20083\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20083\"]]"); p = add_epsg_def_ex (filter, first, last, 20084, "epsg", 20084, "Pulkovo 1995 / Gauss-Kruger 24N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 24N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",141],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20084\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20084\"]]"); p = add_epsg_def_ex (filter, first, last, 20085, "epsg", 20085, "Pulkovo 1995 / Gauss-Kruger 25N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 25N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",147],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20085\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20085\"]]"); p = add_epsg_def_ex (filter, first, last, 20086, "epsg", 20086, "Pulkovo 1995 / Gauss-Kruger 26N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 26N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",153],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20086\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20086\"]]"); p = add_epsg_def_ex (filter, first, last, 20087, "epsg", 20087, "Pulkovo 1995 / Gauss-Kruger 27N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 27N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",159],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20087\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20087\"]]"); p = add_epsg_def_ex (filter, first, last, 20088, "epsg", 20088, "Pulkovo 1995 / Gauss-Kruger 28N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 28N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",165],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20088\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20088\"]]"); p = add_epsg_def_ex (filter, first, last, 20089, "epsg", 20089, "Pulkovo 1995 / Gauss-Kruger 29N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 29N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",171],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20089\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20089\"]]"); p = add_epsg_def_ex (filter, first, last, 20090, "epsg", 20090, "Pulkovo 1995 / Gauss-Kruger 30N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.2"); + "+ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-0"); add_proj4text (p, 2, - "2 +units=m +no_defs"); + ".22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 30N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); - add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); - add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); - add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); - add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); - add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); - add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",177],PAR"); - add_srs_wkt (p, 10, - "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); - add_srs_wkt (p, 11, - "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); - add_srs_wkt (p, 12, - "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); - add_srs_wkt (p, 13, - "\",EAST],AUTHORITY[\"EPSG\",\"20090\"]]"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); + add_srs_wkt (p, 4, + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); + add_srs_wkt (p, 5, + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + add_srs_wkt (p, 6, + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + add_srs_wkt (p, 7, + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); + add_srs_wkt (p, 8, + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); + add_srs_wkt (p, 9, + "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P"); + add_srs_wkt (p, 10, + "ARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); + add_srs_wkt (p, 11, + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); + add_srs_wkt (p, 12, + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + add_srs_wkt (p, 13, + "Y\",EAST],AUTHORITY[\"EPSG\",\"20090\"]]"); p = add_epsg_def_ex (filter, first, last, 20091, "epsg", 20091, "Pulkovo 1995 / Gauss-Kruger 31N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 31N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-177],PA"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],"); add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, "Y\",EAST],AUTHORITY[\"EPSG\",\"20091\"]]"); p = add_epsg_def_ex (filter, first, last, 20092, "epsg", 20092, "Pulkovo 1995 / Gauss-Kruger 32N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", @@ -1195,39 +1191,39 @@ "Pulkovo_1995", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0."); + " +ellps=krass +towgs84=24.47,-130.89,-81.56,-0,-0,0.13,-"); add_proj4text (p, 2, - "22 +units=m +no_defs"); + "0.22 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1995 / Gauss-Kruger 32N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1995\",DATUM[\"Pulkovo_1995\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[24.47,-130.89,-81.56,0,0,0.13,-0.22],AUT"); + "024\"]],TOWGS84[24.47,-130.89,-81.56,-0,-0,0.13,-0.22],A"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "UTHORITY[\"EPSG\",\"6200\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\"]]"); + "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4200\""); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",-171],PA"); + "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],"); add_srs_wkt (p, 10, - "RAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\","); + "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); add_srs_wkt (p, 11, - "500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1"); + ",500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\","); add_srs_wkt (p, 12, - ",AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); + "1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\""); add_srs_wkt (p, 13, "Y\",EAST],AUTHORITY[\"EPSG\",\"20092\"]]"); p = add_epsg_def_ex (filter, first, last, 20135, "epsg", 20135, "Adindan / UTM zone 35N", 0, 0, "Clarke 1880 (RGS)", "Greenwich", Index: src/srsinit/epsg_inlined_35.c ================================================================== --- src/srsinit/epsg_inlined_35.c +++ src/srsinit/epsg_inlined_35.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -2680,11 +2676,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Carthage / UTM zone 32N\",GEOGCS[\"Carthage\",D"); add_srs_wkt (p, 1, "ATUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249"); add_srs_wkt (p, 2, - ".2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS"); + ".2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS"); add_srs_wkt (p, 3, "84[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRI"); add_srs_wkt (p, 4, "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 5, @@ -2719,11 +2715,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Carthage / Nord Tunisie\",GEOGCS[\"Carthage\",D"); add_srs_wkt (p, 1, "ATUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249"); add_srs_wkt (p, 2, - ".2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS"); + ".2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS"); add_srs_wkt (p, 3, "84[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRI"); add_srs_wkt (p, 4, "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 5, @@ -2758,11 +2754,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Carthage / Sud Tunisie\",GEOGCS[\"Carthage\",DA"); add_srs_wkt (p, 1, "TUM[\"Carthage\",SPHEROID[\"Clarke 1880 (IGN)\",6378249."); add_srs_wkt (p, 2, - "2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS8"); + "2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS8"); add_srs_wkt (p, 3, "4[-263,6,431,0,0,0,0],AUTHORITY[\"EPSG\",\"6223\"]],PRIM"); add_srs_wkt (p, 4, "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 5, @@ -2992,11 +2988,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Deir ez Zor / Levant Zone\",GEOGCS[\"Deir ez Zo"); add_srs_wkt (p, 1, "r\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 1880 (IGN)\""); add_srs_wkt (p, 2, - ",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\""); + ",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\""); add_srs_wkt (p, 3, "]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHORITY[\"EP"); add_srs_wkt (p, 4, "SG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 5, @@ -3031,11 +3027,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Deir ez Zor / Syria Lambert\",GEOGCS[\"Deir ez "); add_srs_wkt (p, 1, "Zor\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 1880 (IGN)"); add_srs_wkt (p, 2, - "\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011"); + "\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011"); add_srs_wkt (p, 3, "\"]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHORITY[\""); add_srs_wkt (p, 4, "EPSG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 5, @@ -3072,11 +3068,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Deir ez Zor / Levant Stereographic\",GEOGCS[\"D"); add_srs_wkt (p, 1, "eir ez Zor\",DATUM[\"Deir_ez_Zor\",SPHEROID[\"Clarke 188"); add_srs_wkt (p, 2, - "0 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\""); + "0 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7011\"]],TOWGS84[-190.421,8.532,238.69,0,0,0,0],AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"6227\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); add_srs_wkt (p, 5, @@ -3109,11 +3105,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Douala / UTM zone 32N (deprecated)\",GEOGCS[\"D"); add_srs_wkt (p, 1, "ouala\",DATUM[\"Douala\",SPHEROID[\"Clarke 1880 (IGN)\","); add_srs_wkt (p, 2, - "6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]"); + "6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6228\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -3861,11 +3857,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Garoua / UTM zone 33N (deprecated)\",GEOGCS[\"G"); add_srs_wkt (p, 1, "aroua\",DATUM[\"Garoua\",SPHEROID[\"Clarke 1880 (IGN)\","); add_srs_wkt (p, 2, - "6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]"); + "6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6234\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_36.c ================================================================== --- src/srsinit/epsg_inlined_36.c +++ src/srsinit/epsg_inlined_36.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -1870,13 +1866,13 @@ "Indian 1954 / UTM zone 46N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1954", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=46 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=217,823,299,0,0,0,0 +units=m +no_defs"); + "owgs84=217,823,299,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Indian 1954 / UTM zone 46N\",GEOGCS[\"Indian 19"); add_srs_wkt (p, 1, "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937"); add_srs_wkt (p, 2, @@ -1907,13 +1903,13 @@ "Indian 1954 / UTM zone 47N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1954", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=47 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=217,823,299,0,0,0,0 +units=m +no_defs"); + "owgs84=217,823,299,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Indian 1954 / UTM zone 47N\",GEOGCS[\"Indian 19"); add_srs_wkt (p, 1, "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937"); add_srs_wkt (p, 2, @@ -1944,13 +1940,13 @@ "Indian 1954 / UTM zone 48N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1954", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=217,823,299,0,0,0,0 +units=m +no_defs"); + "owgs84=217,823,299,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Indian 1954 / UTM zone 48N\",GEOGCS[\"Indian 19"); add_srs_wkt (p, 1, "54\",DATUM[\"Indian_1954\",SPHEROID[\"Everest 1830 (1937"); add_srs_wkt (p, 2, @@ -1981,13 +1977,13 @@ "Indian 1975 / UTM zone 47N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1975", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=47 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=210,814,289,0,0,0,0 +units=m +no_defs"); + "owgs84=210,814,289,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Indian 1975 / UTM zone 47N\",GEOGCS[\"Indian 19"); add_srs_wkt (p, 1, "75\",DATUM[\"Indian_1975\",SPHEROID[\"Everest 1830 (1937"); add_srs_wkt (p, 2, @@ -2018,13 +2014,13 @@ "Indian 1975 / UTM zone 48N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Indian_1975", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=210,814,289,0,0,0,0 +units=m +no_defs"); + "owgs84=210,814,289,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Indian 1975 / UTM zone 48N\",GEOGCS[\"Indian 19"); add_srs_wkt (p, 1, "75\",DATUM[\"Indian_1975\",SPHEROID[\"Everest 1830 (1937"); add_srs_wkt (p, 2, @@ -2065,11 +2061,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Jamaica 1875 / Jamaica (Old Grid)\",GEOGCS[\"Ja"); add_srs_wkt (p, 1, "maica 1875\",DATUM[\"Jamaica_1875\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "80\",6378249.144808011,293.4663076556365,AUTHORITY[\"EPS"); + "80\",6378249.144808011,293.4663076556349,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7034\"]],AUTHORITY[\"EPSG\",\"6241\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -2104,11 +2100,11 @@ add_srs_wkt (p, 0, "PROJCS[\"JAD69 / Jamaica National Grid\",GEOGCS[\"JAD69\""); add_srs_wkt (p, 1, ",DATUM[\"Jamaica_1969\",SPHEROID[\"Clarke 1866\",6378206"); add_srs_wkt (p, 2, - ".4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS"); + ".4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],TOWGS"); add_srs_wkt (p, 3, "84[70,207,389.5,0,0,0,0],AUTHORITY[\"EPSG\",\"6242\"]],P"); add_srs_wkt (p, 4, "RIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT"); add_srs_wkt (p, 5, @@ -2133,13 +2129,13 @@ "Kalianpur 1937 / UTM zone 45N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Kalianpur_1937", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=45 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=45 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=214,804,268,0,0,0,0 +units=m +no_defs"); + "owgs84=214,804,268,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1937 / UTM zone 45N\",GEOGCS[\"Kalian"); add_srs_wkt (p, 1, "pur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest 1"); add_srs_wkt (p, 2, @@ -2170,13 +2166,13 @@ "Kalianpur 1937 / UTM zone 46N", 0, 0, "Everest 1830 (1937 Adjustment)", "Greenwich", "Kalianpur_1937", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=46 +a=6377276.345 +b=6356075.413140239 +"); + "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +t"); add_proj4text (p, 1, - "towgs84=214,804,268,0,0,0,0 +units=m +no_defs"); + "owgs84=214,804,268,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1937 / UTM zone 46N\",GEOGCS[\"Kalian"); add_srs_wkt (p, 1, "pur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest 1"); add_srs_wkt (p, 2, @@ -2207,11 +2203,11 @@ "Kalianpur 1962 / UTM zone 41N", 0, 0, "Everest 1830 (1962 Definition)", "Greenwich", "Kalianpur_1962", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=41 +a=6377301.243 +b=6356100.230165385 +"); + "+proj=utm +zone=41 +a=6377301.243 +b=6356100.230165384 +"); add_proj4text (p, 1, "towgs84=283,682,231,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1962 / UTM zone 41N\",GEOGCS[\"Kalian"); add_srs_wkt (p, 1, @@ -2244,11 +2240,11 @@ "Kalianpur 1962 / UTM zone 42N", 0, 0, "Everest 1830 (1962 Definition)", "Greenwich", "Kalianpur_1962", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=42 +a=6377301.243 +b=6356100.230165385 +"); + "+proj=utm +zone=42 +a=6377301.243 +b=6356100.230165384 +"); add_proj4text (p, 1, "towgs84=283,682,231,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1962 / UTM zone 42N\",GEOGCS[\"Kalian"); add_srs_wkt (p, 1, @@ -2281,11 +2277,11 @@ "Kalianpur 1962 / UTM zone 43N", 0, 0, "Everest 1830 (1962 Definition)", "Greenwich", "Kalianpur_1962", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=43 +a=6377301.243 +b=6356100.230165385 +"); + "+proj=utm +zone=43 +a=6377301.243 +b=6356100.230165384 +"); add_proj4text (p, 1, "towgs84=283,682,231,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1962 / UTM zone 43N\",GEOGCS[\"Kalian"); add_srs_wkt (p, 1, @@ -2552,11 +2548,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1880 / India zone 0\",GEOGCS[\"Kalian"); add_srs_wkt (p, 1, "pur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest ("); add_srs_wkt (p, 2, - "1830 Definition)\",6377299.36559538,300.8017255433549,AU"); + "1830 Definition)\",6377299.36559538,300.8017255433552,AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"]"); add_srs_wkt (p, 4, "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, @@ -2595,11 +2591,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1880 / India zone I\",GEOGCS[\"Kalian"); add_srs_wkt (p, 1, "pur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest ("); add_srs_wkt (p, 2, - "1830 Definition)\",6377299.36559538,300.8017255433549,AU"); + "1830 Definition)\",6377299.36559538,300.8017255433552,AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\"]"); add_srs_wkt (p, 4, "],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],U"); add_srs_wkt (p, 5, @@ -2638,11 +2634,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1880 / India zone IIa\",GEOGCS[\"Kali"); add_srs_wkt (p, 1, "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest"); add_srs_wkt (p, 2, - " (1830 Definition)\",6377299.36559538,300.8017255433549,"); + " (1830 Definition)\",6377299.36559538,300.8017255433552,"); add_srs_wkt (p, 3, "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\""); add_srs_wkt (p, 4, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 5, @@ -2681,11 +2677,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1880 / India zone IIIa\",GEOGCS[\"Kal"); add_srs_wkt (p, 1, "ianpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everes"); add_srs_wkt (p, 2, - "t (1830 Definition)\",6377299.36559538,300.8017255433549"); + "t (1830 Definition)\",6377299.36559538,300.8017255433552"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243"); add_srs_wkt (p, 4, "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); add_srs_wkt (p, 5, @@ -2724,11 +2720,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1880 / India zone IVa\",GEOGCS[\"Kali"); add_srs_wkt (p, 1, "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest"); add_srs_wkt (p, 2, - " (1830 Definition)\",6377299.36559538,300.8017255433549,"); + " (1830 Definition)\",6377299.36559538,300.8017255433552,"); add_srs_wkt (p, 3, "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\""); add_srs_wkt (p, 4, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 5, @@ -2759,13 +2755,11 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 "); add_proj4text (p, 1, "+x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075"); add_proj4text (p, 2, - ".413140239 +towgs84=214,804,268,0,0,0,0 +units=m +no_def"); - add_proj4text (p, 3, - "s"); + ".41314024 +towgs84=214,804,268,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1937 / India zone IIb\",GEOGCS[\"Kali"); add_srs_wkt (p, 1, "anpur 1937\",DATUM[\"Kalianpur_1937\",SPHEROID[\"Everest"); add_srs_wkt (p, 2, @@ -2802,11 +2796,11 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878"); add_proj4text (p, 1, "641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=63561"); add_proj4text (p, 2, - "00.230165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_d"); + "00.230165384 +towgs84=283,682,231,0,0,0,0 +units=m +no_d"); add_proj4text (p, 3, "efs"); add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1962 / India zone I\",GEOGCS[\"Kalian"); add_srs_wkt (p, 1, @@ -2845,11 +2839,11 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 "); add_proj4text (p, 1, "+x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.2"); add_proj4text (p, 2, - "30165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs"); + "30165384 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1962 / India zone IIa\",GEOGCS[\"Kali"); add_srs_wkt (p, 1, "anpur 1962\",DATUM[\"Kalianpur_1962\",SPHEROID[\"Everest"); add_srs_wkt (p, 2, @@ -3060,11 +3054,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Kalianpur 1880 / India zone IIb\",GEOGCS[\"Kali"); add_srs_wkt (p, 1, "anpur 1880\",DATUM[\"Kalianpur_1880\",SPHEROID[\"Everest"); add_srs_wkt (p, 2, - " (1830 Definition)\",6377299.36559538,300.8017255433549,"); + " (1830 Definition)\",6377299.36559538,300.8017255433552,"); add_srs_wkt (p, 3, "AUTHORITY[\"EPSG\",\"7042\"]],AUTHORITY[\"EPSG\",\"6243\""); add_srs_wkt (p, 4, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_37.c ================================================================== --- src/srsinit/epsg_inlined_37.c +++ src/srsinit/epsg_inlined_37.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -148,11 +144,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Lome / UTM zone 31N\",GEOGCS[\"Lome\",DATUM[\"L"); add_srs_wkt (p, 1, "ome\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602"); add_srs_wkt (p, 2, - "12936269,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\""); + "12936265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"6252\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 5, @@ -185,11 +181,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Luzon 1911 / Philippines zone I\",GEOGCS[\"Luzo"); add_srs_wkt (p, 1, "n 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"6253"); add_srs_wkt (p, 4, "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); add_srs_wkt (p, 5, @@ -224,11 +220,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Luzon 1911 / Philippines zone II\",GEOGCS[\"Luz"); add_srs_wkt (p, 1, "on 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"625"); add_srs_wkt (p, 4, "3\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -263,11 +259,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Luzon 1911 / Philippines zone III\",GEOGCS[\"Lu"); add_srs_wkt (p, 1, "zon 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"62"); add_srs_wkt (p, 4, "53\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -302,11 +298,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Luzon 1911 / Philippines zone IV\",GEOGCS[\"Luz"); add_srs_wkt (p, 1, "on 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"625"); add_srs_wkt (p, 4, "3\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\""); add_srs_wkt (p, 5, @@ -341,11 +337,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Luzon 1911 / Philippines zone V\",GEOGCS[\"Luzo"); add_srs_wkt (p, 1, "n 1911\",DATUM[\"Luzon_1911\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",TOWGS84[-133,-77,-51,0,0,0,0],AUTHORITY[\"EPSG\",\"6253"); add_srs_wkt (p, 4, "\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]"); add_srs_wkt (p, 5, @@ -902,11 +898,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Merchich / Nord Maroc\",GEOGCS[\"Merchich\",DAT"); add_srs_wkt (p, 1, "UM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2"); add_srs_wkt (p, 2, - ",293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84"); + ",293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84"); add_srs_wkt (p, 3, "[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -941,11 +937,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Merchich / Sud Maroc\",GEOGCS[\"Merchich\",DATU"); add_srs_wkt (p, 1, "M[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,"); add_srs_wkt (p, 2, - "293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84["); + "293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84["); add_srs_wkt (p, 3, "31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM["); add_srs_wkt (p, 4, "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg"); add_srs_wkt (p, 5, @@ -980,11 +976,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Merchich / Sahara (deprecated)\",GEOGCS[\"Merch"); add_srs_wkt (p, 1, "ich\",DATUM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\","); add_srs_wkt (p, 2, - "6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]"); + "6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]"); add_srs_wkt (p, 3, "],TOWGS84[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\""); add_srs_wkt (p, 4, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 5, @@ -1019,11 +1015,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Merchich / Sahara Nord\",GEOGCS[\"Merchich\",DA"); add_srs_wkt (p, 1, "TUM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249."); add_srs_wkt (p, 2, - "2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS8"); + "2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS8"); add_srs_wkt (p, 3, "4[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIME"); add_srs_wkt (p, 4, "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); add_srs_wkt (p, 5, @@ -1058,11 +1054,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Merchich / Sahara Sud\",GEOGCS[\"Merchich\",DAT"); add_srs_wkt (p, 1, "UM[\"Merchich\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2"); add_srs_wkt (p, 2, - ",293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84"); + ",293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84"); add_srs_wkt (p, 3, "[31,146,47,0,0,0,0],AUTHORITY[\"EPSG\",\"6261\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -1442,11 +1438,11 @@ add_srs_wkt (p, 0, "PROJCS[\"M'poraloko / UTM zone 32N\",GEOGCS[\"M'poraloko"); add_srs_wkt (p, 1, "\",DATUM[\"M_poraloko\",SPHEROID[\"Clarke 1880 (IGN)\",6"); add_srs_wkt (p, 2, - "378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]]"); + "378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]]"); add_srs_wkt (p, 3, ",TOWGS84[-74,-130,42,0,0,0,0],AUTHORITY[\"EPSG\",\"6266\""); add_srs_wkt (p, 4, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 5, @@ -1479,11 +1475,11 @@ add_srs_wkt (p, 0, "PROJCS[\"M'poraloko / UTM zone 32S\",GEOGCS[\"M'poraloko"); add_srs_wkt (p, 1, "\",DATUM[\"M_poraloko\",SPHEROID[\"Clarke 1880 (IGN)\",6"); add_srs_wkt (p, 2, - "378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]]"); + "378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]]"); add_srs_wkt (p, 3, ",TOWGS84[-74,-130,42,0,0,0,0],AUTHORITY[\"EPSG\",\"6266\""); add_srs_wkt (p, 4, "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); add_srs_wkt (p, 5, @@ -1514,11 +1510,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 1N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1549,11 +1545,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 2N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1584,11 +1580,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 3N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1619,11 +1615,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 4N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1654,11 +1650,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 5N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1689,11 +1685,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 6N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1724,11 +1720,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 7N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1759,11 +1755,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 8N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1794,11 +1790,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 9N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1829,11 +1825,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 10N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1864,11 +1860,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 11N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1899,11 +1895,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 12N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1934,11 +1930,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 13N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1969,11 +1965,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 14N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2004,11 +2000,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 15N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2039,11 +2035,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 16N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2074,11 +2070,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 17N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2109,11 +2105,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 18N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2144,11 +2140,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 19N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2179,11 +2175,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 20N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2214,11 +2210,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 21N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2249,11 +2245,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / UTM zone 22N\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2288,11 +2284,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alabama East\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2327,11 +2323,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alabama West\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2368,11 +2364,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 1\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2409,11 +2405,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 2\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2446,11 +2442,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 3\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2483,11 +2479,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 4\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2520,11 +2516,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 5\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2557,11 +2553,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 6\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2594,11 +2590,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 7\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2631,11 +2627,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 8\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2668,11 +2664,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 9\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -2707,11 +2703,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Alaska zone 10\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -2748,11 +2744,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California zone I\",GEOGCS[\"NAD27\",DA"); add_srs_wkt (p, 1, "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866"); add_srs_wkt (p, 2, - "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008"); + "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008"); add_srs_wkt (p, 3, "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\","); add_srs_wkt (p, 4, "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); add_srs_wkt (p, 5, @@ -2789,11 +2785,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California zone II\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -2832,11 +2828,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California zone III\",GEOGCS[\"NAD27\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70"); + "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -2873,11 +2869,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California zone IV\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -2914,11 +2910,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California zone V\",GEOGCS[\"NAD27\",DA"); add_srs_wkt (p, 1, "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866"); add_srs_wkt (p, 2, - "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008"); + "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008"); add_srs_wkt (p, 3, "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\","); add_srs_wkt (p, 4, "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); add_srs_wkt (p, 5, @@ -2955,11 +2951,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California zone VI\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -3000,11 +2996,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California zone VII (deprecated)\",GEOG"); add_srs_wkt (p, 1, "CS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROI"); add_srs_wkt (p, 2, - "D[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY["); + "D[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY["); add_srs_wkt (p, 3, "\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM"); add_srs_wkt (p, 4, "[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"de"); add_srs_wkt (p, 5, @@ -3043,11 +3039,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Arizona East\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3082,11 +3078,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Arizona Central\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -3121,11 +3117,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Arizona West\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3160,11 +3156,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Arkansas North\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -3203,11 +3199,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Arkansas South\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -3244,11 +3240,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Colorado North\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -3287,11 +3283,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Colorado Central\",GEOGCS[\"NAD27\",DAT"); add_srs_wkt (p, 1, "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -3328,11 +3324,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Colorado South\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -3371,11 +3367,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Connecticut\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3412,11 +3408,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Delaware\",GEOGCS[\"NAD27\",DATUM[\"Nor"); add_srs_wkt (p, 1, "th_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637820"); add_srs_wkt (p, 2, - "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTH"); + "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTH"); add_srs_wkt (p, 3, "ORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORI"); add_srs_wkt (p, 4, "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943"); add_srs_wkt (p, 5, @@ -3451,11 +3447,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Florida East\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3490,11 +3486,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Florida West\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3529,11 +3525,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Florida North\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -3570,11 +3566,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Georgia East\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3609,11 +3605,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Georgia West\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3648,11 +3644,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Idaho East\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -3687,11 +3683,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Idaho Central\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -3726,11 +3722,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Idaho West\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -3765,11 +3761,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Illinois East\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -3804,11 +3800,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Illinois West\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -3843,11 +3839,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Indiana East\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3882,11 +3878,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Indiana West\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_38.c ================================================================== --- src/srsinit/epsg_inlined_38.c +++ src/srsinit/epsg_inlined_38.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -72,11 +68,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Iowa North\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -113,11 +109,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Iowa South\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -154,11 +150,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Kansas North\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -195,11 +191,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Kansas South\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -238,11 +234,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Kentucky North\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -279,11 +275,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Kentucky South\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -322,11 +318,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Louisiana North\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -365,11 +361,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Louisiana South\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -406,11 +402,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Maine East\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -445,11 +441,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Maine West\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -484,11 +480,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Maryland\",GEOGCS[\"NAD27\",DATUM[\"Nor"); add_srs_wkt (p, 1, "th_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637820"); add_srs_wkt (p, 2, - "6.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTH"); + "6.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTH"); add_srs_wkt (p, 3, "ORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORI"); add_srs_wkt (p, 4, "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943"); add_srs_wkt (p, 5, @@ -525,11 +521,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Massachusetts Mainland\",GEOGCS[\"NAD27"); add_srs_wkt (p, 1, "\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke"); add_srs_wkt (p, 2, - " 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\""); + " 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, "7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwic"); add_srs_wkt (p, 4, "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01"); add_srs_wkt (p, 5, @@ -566,11 +562,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Massachusetts Island\",GEOGCS[\"NAD27\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1"); add_srs_wkt (p, 2, - "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7"); + "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -607,11 +603,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Minnesota North\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -648,11 +644,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Minnesota Central\",GEOGCS[\"NAD27\",DA"); add_srs_wkt (p, 1, "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866"); add_srs_wkt (p, 2, - "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008"); + "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008"); add_srs_wkt (p, 3, "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\","); add_srs_wkt (p, 4, "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); add_srs_wkt (p, 5, @@ -689,11 +685,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Minnesota South\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -730,11 +726,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Mississippi East\",GEOGCS[\"NAD27\",DAT"); add_srs_wkt (p, 1, "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -769,11 +765,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Mississippi West\",GEOGCS[\"NAD27\",DAT"); add_srs_wkt (p, 1, "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -808,11 +804,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Missouri East\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -847,11 +843,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Missouri Central\",GEOGCS[\"NAD27\",DAT"); add_srs_wkt (p, 1, "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -886,11 +882,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Missouri West\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -927,11 +923,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / California zone VII\",GEOGCS[\"NAD27\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70"); + "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -972,11 +968,11 @@ add_srs_wkt (p, 1, "GCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROID"); add_srs_wkt (p, 2, "[\"Clarke 1866 Michigan\",6378450.047548896,294.97869716"); add_srs_wkt (p, 3, - "46772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\""); + "46739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, "6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); add_srs_wkt (p, 5, "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); add_srs_wkt (p, 6, @@ -1013,11 +1009,11 @@ add_srs_wkt (p, 1, ")\",GEOGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",S"); add_srs_wkt (p, 2, "PHEROID[\"Clarke 1866 Michigan\",6378450.047548896,294.9"); add_srs_wkt (p, 3, - "786971646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"E"); + "786971646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"E"); add_srs_wkt (p, 4, "PSG\",\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG"); add_srs_wkt (p, 5, "\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORI"); add_srs_wkt (p, 6, @@ -1054,11 +1050,11 @@ add_srs_wkt (p, 1, "GCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROID"); add_srs_wkt (p, 2, "[\"Clarke 1866 Michigan\",6378450.047548896,294.97869716"); add_srs_wkt (p, 3, - "46772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\""); + "46739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, "6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); add_srs_wkt (p, 5, "1\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPS"); add_srs_wkt (p, 6, @@ -1097,11 +1093,11 @@ add_srs_wkt (p, 1, "OGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROI"); add_srs_wkt (p, 2, "D[\"Clarke 1866 Michigan\",6378450.047548896,294.9786971"); add_srs_wkt (p, 3, - "646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\","); + "646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 4, "\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); add_srs_wkt (p, 5, "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); add_srs_wkt (p, 6, @@ -1142,11 +1138,11 @@ add_srs_wkt (p, 1, "GEOGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHER"); add_srs_wkt (p, 2, "OID[\"Clarke 1866 Michigan\",6378450.047548896,294.97869"); add_srs_wkt (p, 3, - "71646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\""); + "71646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 4, ",\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 5, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 6, @@ -1187,11 +1183,11 @@ add_srs_wkt (p, 1, "OGCS[\"NAD27 Michigan\",DATUM[\"NAD27_Michigan\",SPHEROI"); add_srs_wkt (p, 2, "D[\"Clarke 1866 Michigan\",6378450.047548896,294.9786971"); add_srs_wkt (p, 3, - "646772,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\","); + "646739,AUTHORITY[\"EPSG\",\"7009\"]],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 4, "\"6268\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8"); add_srs_wkt (p, 5, "901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"E"); add_srs_wkt (p, 6, Index: src/srsinit/epsg_inlined_39.c ================================================================== --- src/srsinit/epsg_inlined_39.c +++ src/srsinit/epsg_inlined_39.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ Index: src/srsinit/epsg_inlined_40.c ================================================================== --- src/srsinit/epsg_inlined_40.c +++ src/srsinit/epsg_inlined_40.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -1111,15 +1107,15 @@ "Ancienne_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre", "X", "East", "Y", "North"); add_proj4text (p, 0, "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000"); add_proj4text (p, 1, - "001 +lon_0=5.4 +k_0=0.99950908 +x_0=500000 +y_0=300000 +"); + "001 +lon_0=5.399999999999999 +k_0=0.99950908 +x_0=500000"); add_proj4text (p, 2, - "a=6376523 +b=6355862.933255573 +pm=2.337208333333333 +un"); + " +y_0=300000 +a=6376523 +b=6355862.933255573 +pm=2.33720"); add_proj4text (p, 3, - "its=m +no_defs"); + "8333333333 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"ATF (Paris) / Nord de Guerre\",GEOGCS[\"ATF (Pa"); add_srs_wkt (p, 1, "ris)\",DATUM[\"Ancienne_Triangulation_Francaise_Paris\","); add_srs_wkt (p, 2, @@ -1135,19 +1131,19 @@ add_srs_wkt (p, 7, "T],AUTHORITY[\"EPSG\",\"4901\"]],PROJECTION[\"Lambert_Co"); add_srs_wkt (p, 8, "nformal_Conic_1SP\"],PARAMETER[\"latitude_of_origin\",55"); add_srs_wkt (p, 9, - "],PARAMETER[\"central_meridian\",6],PARAMETER[\"scale_fa"); + "],PARAMETER[\"central_meridian\",5.999999999999998],PARA"); add_srs_wkt (p, 10, - "ctor\",0.99950908],PARAMETER[\"false_easting\",500000],P"); + "METER[\"scale_factor\",0.99950908],PARAMETER[\"false_eas"); add_srs_wkt (p, 11, - "ARAMETER[\"false_northing\",300000],UNIT[\"metre\",1,AUT"); + "ting\",500000],PARAMETER[\"false_northing\",300000],UNIT"); add_srs_wkt (p, 12, - "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",N"); + "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EA"); add_srs_wkt (p, 13, - "ORTH],AUTHORITY[\"EPSG\",\"27500\"]]"); + "ST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"27500\"]]"); p = add_epsg_def_ex (filter, first, last, 27561, "epsg", 27561, "NTF (Paris) / Lambert Nord France", 0, 0, "Clarke 1880 (IGN)", "Paris", "Nouvelle_Triangulation_Francaise_Paris", "Lambert_Conformal_Conic_1SP", "metre", "X", "East", "Y", "North"); @@ -1164,11 +1160,11 @@ add_srs_wkt (p, 1, "F (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Par"); add_srs_wkt (p, 2, "is\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021"); add_srs_wkt (p, 3, - "2936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3"); + "2936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,3"); add_srs_wkt (p, 4, "20,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris"); add_srs_wkt (p, 5, "\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\""); add_srs_wkt (p, 6, @@ -1205,11 +1201,11 @@ add_srs_wkt (p, 1, "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P"); add_srs_wkt (p, 2, "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660"); add_srs_wkt (p, 3, - "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); + "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); add_srs_wkt (p, 4, ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par"); add_srs_wkt (p, 5, "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra"); add_srs_wkt (p, 6, @@ -1248,11 +1244,11 @@ add_srs_wkt (p, 1, " (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Pari"); add_srs_wkt (p, 2, "s\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212"); add_srs_wkt (p, 3, - "936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32"); + "936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32"); add_srs_wkt (p, 4, "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\""); add_srs_wkt (p, 5, ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\","); add_srs_wkt (p, 6, @@ -1291,11 +1287,11 @@ add_srs_wkt (p, 1, "is)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\",S"); add_srs_wkt (p, 2, "PHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.466021293626"); add_srs_wkt (p, 3, - "9,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,0"); + "5,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,0"); add_srs_wkt (p, 4, ",0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2.3"); add_srs_wkt (p, 5, "3722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.01"); add_srs_wkt (p, 6, @@ -1334,11 +1330,11 @@ add_srs_wkt (p, 1, "ris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\","); add_srs_wkt (p, 2, "SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602129362"); add_srs_wkt (p, 3, - "69,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,"); + "65,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0,"); add_srs_wkt (p, 4, "0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2."); add_srs_wkt (p, 5, "33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0.0"); add_srs_wkt (p, 6, @@ -1375,11 +1371,11 @@ add_srs_wkt (p, 1, "aris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\""); add_srs_wkt (p, 2, ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936"); add_srs_wkt (p, 3, - "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); + "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); add_srs_wkt (p, 4, ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2"); add_srs_wkt (p, 5, ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0."); add_srs_wkt (p, 6, @@ -1418,11 +1414,11 @@ add_srs_wkt (p, 1, "Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\""); add_srs_wkt (p, 2, ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936"); add_srs_wkt (p, 3, - "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); + "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); add_srs_wkt (p, 4, ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2"); add_srs_wkt (p, 5, ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0."); add_srs_wkt (p, 6, @@ -1461,11 +1457,11 @@ add_srs_wkt (p, 1, "aris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Paris\""); add_srs_wkt (p, 2, ",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212936"); add_srs_wkt (p, 3, - "269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); + "265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,320,0"); add_srs_wkt (p, 4, ",0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\",2"); add_srs_wkt (p, 5, ".33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\",0."); add_srs_wkt (p, 6, @@ -1504,11 +1500,11 @@ add_srs_wkt (p, 1, "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P"); add_srs_wkt (p, 2, "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660"); add_srs_wkt (p, 3, - "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); + "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); add_srs_wkt (p, 4, ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par"); add_srs_wkt (p, 5, "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra"); add_srs_wkt (p, 6, @@ -1545,11 +1541,11 @@ add_srs_wkt (p, 1, "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P"); add_srs_wkt (p, 2, "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660"); add_srs_wkt (p, 3, - "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); + "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); add_srs_wkt (p, 4, ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par"); add_srs_wkt (p, 5, "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra"); add_srs_wkt (p, 6, @@ -1588,11 +1584,11 @@ add_srs_wkt (p, 1, "\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise"); add_srs_wkt (p, 2, "_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46"); add_srs_wkt (p, 3, - "60212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-"); + "60212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-"); add_srs_wkt (p, 4, "60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"P"); add_srs_wkt (p, 5, "aris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"g"); add_srs_wkt (p, 6, @@ -1631,11 +1627,11 @@ add_srs_wkt (p, 1, "NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_P"); add_srs_wkt (p, 2, "aris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660"); add_srs_wkt (p, 3, - "212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); + "212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60"); add_srs_wkt (p, 4, ",320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Par"); add_srs_wkt (p, 5, "is\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"gra"); add_srs_wkt (p, 6, @@ -1674,11 +1670,11 @@ add_srs_wkt (p, 1, "[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francais"); add_srs_wkt (p, 2, "e_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4"); add_srs_wkt (p, 3, - "660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,"); + "660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,"); add_srs_wkt (p, 4, "-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\""); add_srs_wkt (p, 5, "Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\""); add_srs_wkt (p, 6, @@ -1715,11 +1711,11 @@ add_srs_wkt (p, 1, "CS[\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Franca"); add_srs_wkt (p, 2, "ise_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293"); add_srs_wkt (p, 3, - ".4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-16"); + ".4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-16"); add_srs_wkt (p, 4, "8,-60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM["); add_srs_wkt (p, 5, "\"Paris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT["); add_srs_wkt (p, 6, @@ -1758,11 +1754,11 @@ add_srs_wkt (p, 1, "\"NTF (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise"); add_srs_wkt (p, 2, "_Paris\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46"); add_srs_wkt (p, 3, - "60212936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-"); + "60212936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-"); add_srs_wkt (p, 4, "60,320,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"P"); add_srs_wkt (p, 5, "aris\",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"g"); add_srs_wkt (p, 6, @@ -1801,11 +1797,11 @@ add_srs_wkt (p, 1, " (Paris)\",DATUM[\"Nouvelle_Triangulation_Francaise_Pari"); add_srs_wkt (p, 2, "s\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.4660212"); add_srs_wkt (p, 3, - "936269,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32"); + "936265,AUTHORITY[\"EPSG\",\"7011\"]],TOWGS84[-168,-60,32"); add_srs_wkt (p, 4, "0,0,0,0,0],AUTHORITY[\"EPSG\",\"6807\"]],PRIMEM[\"Paris\""); add_srs_wkt (p, 5, ",2.33722917,AUTHORITY[\"EPSG\",\"8903\"]],UNIT[\"grad\","); add_srs_wkt (p, 6, @@ -1875,43 +1871,43 @@ add_proj4text (p, 0, "+proj=cass +lat_0=31.73409694444445 +lon_0=35.2120805555"); add_proj4text (p, 1, "5556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6"); add_proj4text (p, 2, - "356566.435 +towgs84=-275.7224,94.7824,340.8944,-8.001,-4"); + "356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.4"); add_proj4text (p, 3, - ".42,-11.821,1 +units=m +no_defs"); + "2,-11.821,1 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Palestine 1923 / Palestine Grid\",GEOGCS[\"Pale"); add_srs_wkt (p, 1, "stine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, - "1880 (Benoit)\",6378300.789,293.4663155389811,AUTHORITY["); - add_srs_wkt (p, 3, - "\"EPSG\",\"7010\"]],TOWGS84[-275.7224,94.7824,340.8944,-"); - add_srs_wkt (p, 4, - "8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRI"); - add_srs_wkt (p, 5, - "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); - add_srs_wkt (p, 6, - "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]"); - add_srs_wkt (p, 7, - "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH"); - add_srs_wkt (p, 8, - "ORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Cassini_Soldner\""); - add_srs_wkt (p, 9, - "],PARAMETER[\"latitude_of_origin\",31.73409694444445],PA"); - add_srs_wkt (p, 10, - "RAMETER[\"central_meridian\",35.21208055555556],PARAMETE"); - add_srs_wkt (p, 11, - "R[\"false_easting\",170251.555],PARAMETER[\"false_northi"); - add_srs_wkt (p, 12, - "ng\",126867.909],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9"); - add_srs_wkt (p, 13, - "001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],"); + "1880 (Benoit)\",6378300.789,293.4663155389802,AUTHORITY["); + add_srs_wkt (p, 3, + "\"EPSG\",\"7010\"]],TOWGS84[-275.722,94.7824,340.894,-8."); + add_srs_wkt (p, 4, + "001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRIME"); + add_srs_wkt (p, 5, + "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); + add_srs_wkt (p, 6, + "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"); + add_srs_wkt (p, 7, + ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO"); + add_srs_wkt (p, 8, + "RITY[\"EPSG\",\"4281\"]],PROJECTION[\"Cassini_Soldner\"]"); + add_srs_wkt (p, 9, + ",PARAMETER[\"latitude_of_origin\",31.73409694444445],PAR"); + add_srs_wkt (p, 10, + "AMETER[\"central_meridian\",35.21208055555556],PARAMETER"); + add_srs_wkt (p, 11, + "[\"false_easting\",170251.555],PARAMETER[\"false_northin"); + add_srs_wkt (p, 12, + "g\",126867.909],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90"); + add_srs_wkt (p, 13, + "01\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],A"); add_srs_wkt (p, 14, - "AUTHORITY[\"EPSG\",\"28191\"]]"); + "UTHORITY[\"EPSG\",\"28191\"]]"); p = add_epsg_def_ex (filter, first, last, 28192, "epsg", 28192, "Palestine 1923 / Palestine Belt", 0, 0, "Clarke 1880 (Benoit)", "Greenwich", "Palestine_1923", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); @@ -1918,45 +1914,45 @@ add_proj4text (p, 0, "+proj=tmerc +lat_0=31.73409694444445 +lon_0=35.212080555"); add_proj4text (p, 1, "55556 +k=1 +x_0=170251.555 +y_0=1126867.909 +a=6378300.7"); add_proj4text (p, 2, - "89 +b=6356566.435 +towgs84=-275.7224,94.7824,340.8944,-8"); + "89 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.0"); add_proj4text (p, 3, - ".001,-4.42,-11.821,1 +units=m +no_defs"); + "01,-4.42,-11.821,1 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Palestine 1923 / Palestine Belt\",GEOGCS[\"Pale"); add_srs_wkt (p, 1, "stine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, - "1880 (Benoit)\",6378300.789,293.4663155389811,AUTHORITY["); - add_srs_wkt (p, 3, - "\"EPSG\",\"7010\"]],TOWGS84[-275.7224,94.7824,340.8944,-"); - add_srs_wkt (p, 4, - "8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRI"); - add_srs_wkt (p, 5, - "MEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); - add_srs_wkt (p, 6, - "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]"); - add_srs_wkt (p, 7, - "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH"); - add_srs_wkt (p, 8, - "ORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Transverse_Mercat"); - add_srs_wkt (p, 9, - "or\"],PARAMETER[\"latitude_of_origin\",31.73409694444445"); - add_srs_wkt (p, 10, - "],PARAMETER[\"central_meridian\",35.21208055555556],PARA"); - add_srs_wkt (p, 11, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",17"); - add_srs_wkt (p, 12, - "0251.555],PARAMETER[\"false_northing\",1126867.909],UNIT"); - add_srs_wkt (p, 13, - "[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Eastin"); + "1880 (Benoit)\",6378300.789,293.4663155389802,AUTHORITY["); + add_srs_wkt (p, 3, + "\"EPSG\",\"7010\"]],TOWGS84[-275.722,94.7824,340.894,-8."); + add_srs_wkt (p, 4, + "001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRIME"); + add_srs_wkt (p, 5, + "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); + add_srs_wkt (p, 6, + "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"); + add_srs_wkt (p, 7, + ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO"); + add_srs_wkt (p, 8, + "RITY[\"EPSG\",\"4281\"]],PROJECTION[\"Transverse_Mercato"); + add_srs_wkt (p, 9, + "r\"],PARAMETER[\"latitude_of_origin\",31.73409694444445]"); + add_srs_wkt (p, 10, + ",PARAMETER[\"central_meridian\",35.21208055555556],PARAM"); + add_srs_wkt (p, 11, + "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",170"); + add_srs_wkt (p, 12, + "251.555],PARAMETER[\"false_northing\",1126867.909],UNIT["); + add_srs_wkt (p, 13, + "\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"Easting"); add_srs_wkt (p, 14, - "g\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\""); + "\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\"EPSG\",\"2"); add_srs_wkt (p, 15, - "28192\"]]"); + "8192\"]]"); p = add_epsg_def_ex (filter, first, last, 28193, "epsg", 28193, "Palestine 1923 / Israeli CS Grid", 0, 0, "Clarke 1880 (Benoit)", "Greenwich", "Palestine_1923", "Cassini_Soldner", "metre", "Easting", "East", "Northing", "North"); @@ -1963,31 +1959,31 @@ add_proj4text (p, 0, "+proj=cass +lat_0=31.73409694444445 +lon_0=35.2120805555"); add_proj4text (p, 1, "5556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b="); add_proj4text (p, 2, - "6356566.435 +towgs84=-275.7224,94.7824,340.8944,-8.001,-"); + "6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4."); add_proj4text (p, 3, - "4.42,-11.821,1 +units=m +no_defs"); + "42,-11.821,1 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Palestine 1923 / Israeli CS Grid\",GEOGCS[\"Pal"); add_srs_wkt (p, 1, "estine 1923\",DATUM[\"Palestine_1923\",SPHEROID[\"Clarke"); add_srs_wkt (p, 2, - " 1880 (Benoit)\",6378300.789,293.4663155389811,AUTHORITY"); + " 1880 (Benoit)\",6378300.789,293.4663155389802,AUTHORITY"); add_srs_wkt (p, 3, - "[\"EPSG\",\"7010\"]],TOWGS84[-275.7224,94.7824,340.8944,"); + "[\"EPSG\",\"7010\"]],TOWGS84[-275.722,94.7824,340.894,-8"); add_srs_wkt (p, 4, - "-8.001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PR"); + ".001,-4.42,-11.821,1],AUTHORITY[\"EPSG\",\"6281\"]],PRIM"); add_srs_wkt (p, 5, - "IMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT["); + "EM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\""); add_srs_wkt (p, 6, - "\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\""); + "degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]"); add_srs_wkt (p, 7, - "]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUT"); + "],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTH"); add_srs_wkt (p, 8, - "HORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Cassini_Soldner\""); + "ORITY[\"EPSG\",\"4281\"]],PROJECTION[\"Cassini_Soldner\""); add_srs_wkt (p, 9, "],PARAMETER[\"latitude_of_origin\",31.73409694444445],PA"); add_srs_wkt (p, 10, "RAMETER[\"central_meridian\",35.21208055555556],PARAMETE"); add_srs_wkt (p, 11, @@ -2010,11 +2006,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Pointe Noire / UTM zone 32S\",GEOGCS[\"Pointe N"); add_srs_wkt (p, 1, "oire\",DATUM[\"Congo_1960_Pointe_Noire\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, - "ke 1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\""); + "ke 1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"7011\"]],TOWGS84[-148,51,-291,0,0,0,0],AUTHORIT"); add_srs_wkt (p, 4, "Y[\"EPSG\",\"6282\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); add_srs_wkt (p, 5, @@ -2448,333 +2444,294 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 2 (deprecated)"); add_srs_wkt (p, 1, "\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHERO"); add_srs_wkt (p, 2, "ID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, - "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12"); - add_srs_wkt (p, 4, - "],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,A"); - add_srs_wkt (p, 5, - "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); - add_srs_wkt (p, 6, - "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\","); - add_srs_wkt (p, 7, - "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"428"); - add_srs_wkt (p, 8, - "4\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la"); - add_srs_wkt (p, 9, - "titude_of_origin\",0],PARAMETER[\"central_meridian\",9],"); - add_srs_wkt (p, 10, - "PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting\""); - add_srs_wkt (p, 11, - ",2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre\""); - add_srs_wkt (p, 12, - ",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS["); - add_srs_wkt (p, 13, - "\"Y\",EAST],AUTHORITY[\"EPSG\",\"28402\"]]"); + "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.1"); + add_srs_wkt (p, 4, + "2],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,"); + add_srs_wkt (p, 5, + "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); + add_srs_wkt (p, 6, + "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\""); + add_srs_wkt (p, 7, + ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42"); + add_srs_wkt (p, 8, + "84\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l"); + add_srs_wkt (p, 9, + "atitude_of_origin\",0],PARAMETER[\"central_meridian\",9]"); + add_srs_wkt (p, 10, + ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting"); + add_srs_wkt (p, 11, + "\",2500000],PARAMETER[\"false_northing\",0],UNIT[\"metre"); + add_srs_wkt (p, 12, + "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI"); + add_srs_wkt (p, 13, + "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"28402\"]]"); p = add_epsg_def_ex (filter, first, last, 28403, "epsg", 28403, "Pulkovo 1942 / Gauss-Kruger zone 3 (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 3 (deprecated)"); add_srs_wkt (p, 1, "\",GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHERO"); add_srs_wkt (p, 2, "ID[\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, - "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12"); - add_srs_wkt (p, 4, - "],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,A"); - add_srs_wkt (p, 5, - "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); - add_srs_wkt (p, 6, - "5199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\","); - add_srs_wkt (p, 7, - "NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"428"); - add_srs_wkt (p, 8, - "4\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"la"); - add_srs_wkt (p, 9, - "titude_of_origin\",0],PARAMETER[\"central_meridian\",15]"); - add_srs_wkt (p, 10, - ",PARAMETER[\"scale_factor\",1],PARAMETER[\"false_easting"); - add_srs_wkt (p, 11, - "\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"metre"); - add_srs_wkt (p, 12, - "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXI"); - add_srs_wkt (p, 13, - "S[\"Y\",EAST],AUTHORITY[\"EPSG\",\"28403\"]]"); + "\"7024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.1"); + add_srs_wkt (p, 4, + "2],AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,"); + add_srs_wkt (p, 5, + "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); + add_srs_wkt (p, 6, + "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\""); + add_srs_wkt (p, 7, + ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"42"); + add_srs_wkt (p, 8, + "84\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"l"); + add_srs_wkt (p, 9, + "atitude_of_origin\",0],PARAMETER[\"central_meridian\",15"); + add_srs_wkt (p, 10, + "],PARAMETER[\"scale_factor\",1],PARAMETER[\"false_eastin"); + add_srs_wkt (p, 11, + "g\",3500000],PARAMETER[\"false_northing\",0],UNIT[\"metr"); + add_srs_wkt (p, 12, + "e\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AX"); + add_srs_wkt (p, 13, + "IS[\"Y\",EAST],AUTHORITY[\"EPSG\",\"28403\"]]"); p = add_epsg_def_ex (filter, first, last, 28404, "epsg", 28404, "Pulkovo 1942 / Gauss-Kruger zone 4", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 4\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",4500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"28404\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",21],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",4500000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"28404\"]]"); p = add_epsg_def_ex (filter, first, last, 28405, "epsg", 28405, "Pulkovo 1942 / Gauss-Kruger zone 5", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 5\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",5500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"28405\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",27],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",5500000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"28405\"]]"); p = add_epsg_def_ex (filter, first, last, 28406, "epsg", 28406, "Pulkovo 1942 / Gauss-Kruger zone 6", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 6\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",6500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"28406\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",33],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",6500000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"28406\"]]"); p = add_epsg_def_ex (filter, first, last, 28407, "epsg", 28407, "Pulkovo 1942 / Gauss-Kruger zone 7", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 7\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",7500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"28407\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",39],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",7500000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"28407\"]]"); p = add_epsg_def_ex (filter, first, last, 28408, "epsg", 28408, "Pulkovo 1942 / Gauss-Kruger zone 8", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 8\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",8500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"28408\"]]"); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); + add_srs_wkt (p, 4, + "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); + add_srs_wkt (p, 5, + "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); + add_srs_wkt (p, 6, + "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); + add_srs_wkt (p, 7, + "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); + add_srs_wkt (p, 8, + "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); + add_srs_wkt (p, 9, + "igin\",0],PARAMETER[\"central_meridian\",45],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",8500000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"28408\"]]"); p = add_epsg_def_ex (filter, first, last, 28409, "epsg", 28409, "Pulkovo 1942 / Gauss-Kruger zone 9", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 9\",GEOGCS[\"P"); add_srs_wkt (p, 1, "ulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassows"); add_srs_wkt (p, 2, "ky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],TO"); add_srs_wkt (p, 3, - "WGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY[\""); - add_srs_wkt (p, 4, - "EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); - add_srs_wkt (p, 5, - "G\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHOR"); - add_srs_wkt (p, 6, - "ITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\""); - add_srs_wkt (p, 7, - "Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJECTI"); - add_srs_wkt (p, 8, - "ON[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_orig"); - add_srs_wkt (p, 9, - "in\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\"s"); - add_srs_wkt (p, 10, - "cale_factor\",1],PARAMETER[\"false_easting\",9500000],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORITY"); - add_srs_wkt (p, 12, - "[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST],"); - add_srs_wkt (p, 13, - "AUTHORITY[\"EPSG\",\"28409\"]]"); - p = add_epsg_def_ex (filter, first, last, 28410, "epsg", 28410, - "Pulkovo 1942 / Gauss-Kruger zone 10", 0, 1, - "Krassowsky 1940", "Greenwich", - "Pulkovo_1942", "Transverse_Mercator", "metre", - "X", "North", "Y", "East"); - add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0"); - add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); - add_proj4text (p, 2, - "0.12 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 10\",GEOGCS[\""); - add_srs_wkt (p, 1, - "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); - add_srs_wkt (p, 2, - "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); - add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); + "WGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY["); add_srs_wkt (p, 4, "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); add_srs_wkt (p, 5, "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); add_srs_wkt (p, 6, @@ -2782,914 +2739,953 @@ add_srs_wkt (p, 7, "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); add_srs_wkt (p, 8, "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",57],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",10500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"28410\"]]"); + "igin\",0],PARAMETER[\"central_meridian\",51],PARAMETER[\""); + add_srs_wkt (p, 10, + "scale_factor\",1],PARAMETER[\"false_easting\",9500000],P"); + add_srs_wkt (p, 11, + "ARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORIT"); + add_srs_wkt (p, 12, + "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST]"); + add_srs_wkt (p, 13, + ",AUTHORITY[\"EPSG\",\"28409\"]]"); + p = add_epsg_def_ex (filter, first, last, 28410, "epsg", 28410, + "Pulkovo 1942 / Gauss-Kruger zone 10", 0, 1, + "Krassowsky 1940", "Greenwich", + "Pulkovo_1942", "Transverse_Mercator", "metre", + "X", "North", "Y", "East"); + add_proj4text (p, 0, + "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0"); + add_proj4text (p, 1, + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); + add_proj4text (p, 2, + "-0.12 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 10\",GEOGCS[\""); + add_srs_wkt (p, 1, + "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); + add_srs_wkt (p, 2, + "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); + add_srs_wkt (p, 3, + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",57],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",10500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"28410\"]]"); p = add_epsg_def_ex (filter, first, last, 28411, "epsg", 28411, "Pulkovo 1942 / Gauss-Kruger zone 11", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 11\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",63],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",11500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"28411\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",63],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",11500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"28411\"]]"); p = add_epsg_def_ex (filter, first, last, 28412, "epsg", 28412, "Pulkovo 1942 / Gauss-Kruger zone 12", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 12\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",69],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",12500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"28412\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",69],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",12500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"28412\"]]"); p = add_epsg_def_ex (filter, first, last, 28413, "epsg", 28413, "Pulkovo 1942 / Gauss-Kruger zone 13", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 13\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",75],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",13500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"28413\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",75],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",13500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"28413\"]]"); p = add_epsg_def_ex (filter, first, last, 28414, "epsg", 28414, "Pulkovo 1942 / Gauss-Kruger zone 14", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 14\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",81],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",14500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"28414\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",81],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",14500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"28414\"]]"); p = add_epsg_def_ex (filter, first, last, 28415, "epsg", 28415, "Pulkovo 1942 / Gauss-Kruger zone 15", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 15\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",87],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",15500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"28415\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",87],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",15500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"28415\"]]"); p = add_epsg_def_ex (filter, first, last, 28416, "epsg", 28416, "Pulkovo 1942 / Gauss-Kruger zone 16", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 16\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",93],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",16500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"28416\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",93],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",16500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"28416\"]]"); p = add_epsg_def_ex (filter, first, last, 28417, "epsg", 28417, "Pulkovo 1942 / Gauss-Kruger zone 17", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 17\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",99],PARAMETER[\""); - add_srs_wkt (p, 10, - "scale_factor\",1],PARAMETER[\"false_easting\",17500000],"); - add_srs_wkt (p, 11, - "PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHORI"); - add_srs_wkt (p, 12, - "TY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EAST"); - add_srs_wkt (p, 13, - "],AUTHORITY[\"EPSG\",\"28417\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",99],PARAMETER["); + add_srs_wkt (p, 10, + "\"scale_factor\",1],PARAMETER[\"false_easting\",17500000"); + add_srs_wkt (p, 11, + "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); + add_srs_wkt (p, 12, + "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); + add_srs_wkt (p, 13, + "ST],AUTHORITY[\"EPSG\",\"28417\"]]"); p = add_epsg_def_ex (filter, first, last, 28418, "epsg", 28418, "Pulkovo 1942 / Gauss-Kruger zone 18", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 18\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",105],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",18500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28418\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",105],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",1850000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28418\"]]"); p = add_epsg_def_ex (filter, first, last, 28419, "epsg", 28419, "Pulkovo 1942 / Gauss-Kruger zone 19", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 19\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",111],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",19500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28419\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",111],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",1950000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28419\"]]"); p = add_epsg_def_ex (filter, first, last, 28420, "epsg", 28420, "Pulkovo 1942 / Gauss-Kruger zone 20", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 20\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",117],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",20500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28420\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",117],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2050000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28420\"]]"); p = add_epsg_def_ex (filter, first, last, 28421, "epsg", 28421, "Pulkovo 1942 / Gauss-Kruger zone 21", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 21\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",123],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",21500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28421\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",123],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2150000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28421\"]]"); p = add_epsg_def_ex (filter, first, last, 28422, "epsg", 28422, "Pulkovo 1942 / Gauss-Kruger zone 22", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 22\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",129],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",22500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28422\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",129],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2250000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28422\"]]"); p = add_epsg_def_ex (filter, first, last, 28423, "epsg", 28423, "Pulkovo 1942 / Gauss-Kruger zone 23", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 23\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",135],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",23500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28423\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",135],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2350000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28423\"]]"); p = add_epsg_def_ex (filter, first, last, 28424, "epsg", 28424, "Pulkovo 1942 / Gauss-Kruger zone 24", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 24\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",141],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",24500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28424\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",141],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2450000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28424\"]]"); p = add_epsg_def_ex (filter, first, last, 28425, "epsg", 28425, "Pulkovo 1942 / Gauss-Kruger zone 25", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 25\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",147],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",25500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28425\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",147],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2550000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28425\"]]"); p = add_epsg_def_ex (filter, first, last, 28426, "epsg", 28426, "Pulkovo 1942 / Gauss-Kruger zone 26", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 26\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",153],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",26500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28426\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",153],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2650000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28426\"]]"); p = add_epsg_def_ex (filter, first, last, 28427, "epsg", 28427, "Pulkovo 1942 / Gauss-Kruger zone 27", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 27\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",159],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",27500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28427\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",159],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2750000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28427\"]]"); p = add_epsg_def_ex (filter, first, last, 28428, "epsg", 28428, "Pulkovo 1942 / Gauss-Kruger zone 28", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 28\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",165],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",28500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28428\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",165],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2850000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28428\"]]"); p = add_epsg_def_ex (filter, first, last, 28429, "epsg", 28429, "Pulkovo 1942 / Gauss-Kruger zone 29", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 29\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",171],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",29500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28429\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",171],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",2950000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28429\"]]"); p = add_epsg_def_ex (filter, first, last, 28430, "epsg", 28430, "Pulkovo 1942 / Gauss-Kruger zone 30", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0="); add_proj4text (p, 1, - "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,"); + "0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82"); add_proj4text (p, 2, - "-0.12 +units=m +no_defs"); + ",-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 30\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",177],PARAMETER["); - add_srs_wkt (p, 10, - "\"scale_factor\",1],PARAMETER[\"false_easting\",30500000"); - add_srs_wkt (p, 11, - "],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTHO"); - add_srs_wkt (p, 12, - "RITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",EA"); - add_srs_wkt (p, 13, - "ST],AUTHORITY[\"EPSG\",\"28430\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",177],PARAMETER"); + add_srs_wkt (p, 10, + "[\"scale_factor\",1],PARAMETER[\"false_easting\",3050000"); + add_srs_wkt (p, 11, + "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); + add_srs_wkt (p, 12, + "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); + add_srs_wkt (p, 13, + "AST],AUTHORITY[\"EPSG\",\"28430\"]]"); p = add_epsg_def_ex (filter, first, last, 28431, "epsg", 28431, "Pulkovo 1942 / Gauss-Kruger zone 31", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82"); + "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8"); add_proj4text (p, 2, - ",-0.12 +units=m +no_defs"); + "2,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 31\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",-177],PARAMETER"); - add_srs_wkt (p, 10, - "[\"scale_factor\",1],PARAMETER[\"false_easting\",3150000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"28431\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",-177],PARAMETE"); + add_srs_wkt (p, 10, + "R[\"scale_factor\",1],PARAMETER[\"false_easting\",315000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"28431\"]]"); p = add_epsg_def_ex (filter, first, last, 28432, "epsg", 28432, "Pulkovo 1942 / Gauss-Kruger zone 32", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0"); add_proj4text (p, 1, - "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82"); + "=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.8"); add_proj4text (p, 2, - ",-0.12 +units=m +no_defs"); + "2,-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger zone 32\",GEOGCS[\""); add_srs_wkt (p, 1, "Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\"Krassow"); add_srs_wkt (p, 2, "sky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7024\"]],T"); add_srs_wkt (p, 3, - "OWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUTHORITY["); - add_srs_wkt (p, 4, - "\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"E"); - add_srs_wkt (p, 5, - "PSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTH"); - add_srs_wkt (p, 6, - "ORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS["); - add_srs_wkt (p, 7, - "\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJEC"); - add_srs_wkt (p, 8, - "TION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_or"); - add_srs_wkt (p, 9, - "igin\",0],PARAMETER[\"central_meridian\",-171],PARAMETER"); - add_srs_wkt (p, 10, - "[\"scale_factor\",1],PARAMETER[\"false_easting\",3250000"); - add_srs_wkt (p, 11, - "0],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUTH"); - add_srs_wkt (p, 12, - "ORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\",E"); - add_srs_wkt (p, 13, - "AST],AUTHORITY[\"EPSG\",\"28432\"]]"); + "OWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AUTHORITY"); + add_srs_wkt (p, 4, + "[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\""); + add_srs_wkt (p, 5, + "EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUT"); + add_srs_wkt (p, 6, + "HORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH],AXIS"); + add_srs_wkt (p, 7, + "[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]],PROJE"); + add_srs_wkt (p, 8, + "CTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_o"); + add_srs_wkt (p, 9, + "rigin\",0],PARAMETER[\"central_meridian\",-171],PARAMETE"); + add_srs_wkt (p, 10, + "R[\"scale_factor\",1],PARAMETER[\"false_easting\",325000"); + add_srs_wkt (p, 11, + "00],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AUT"); + add_srs_wkt (p, 12, + "HORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\","); + add_srs_wkt (p, 13, + "EAST],AUTHORITY[\"EPSG\",\"28432\"]]"); p = add_epsg_def_ex (filter, first, last, 28462, "epsg", 28462, "Pulkovo 1942 / Gauss-Kruger 2N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +e"); add_proj4text (p, 1, - "llps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.1"); + "llps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0."); add_proj4text (p, 2, - "2 +units=m +no_defs"); + "12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 2N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",9],PARAM"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",9],PARA"); add_srs_wkt (p, 10, - "ETER[\"scale_factor\",1],PARAMETER[\"false_easting\",500"); + "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); add_srs_wkt (p, 11, - "000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,AU"); + "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); add_srs_wkt (p, 12, - "THORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); add_srs_wkt (p, 13, ",EAST],AUTHORITY[\"EPSG\",\"28462\"]]"); p = add_epsg_def_ex (filter, first, last, 28463, "epsg", 28463, "Pulkovo 1942 / Gauss-Kruger 3N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", @@ -3696,302 +3692,302 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 3N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",15],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",15],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"28463\"]]"); + "\",EAST],AUTHORITY[\"EPSG\",\"28463\"]]"); p = add_epsg_def_ex (filter, first, last, 28464, "epsg", 28464, "Pulkovo 1942 / Gauss-Kruger 4N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 4N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",21],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",21],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"28464\"]]"); + "\",EAST],AUTHORITY[\"EPSG\",\"28464\"]]"); p = add_epsg_def_ex (filter, first, last, 28465, "epsg", 28465, "Pulkovo 1942 / Gauss-Kruger 5N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 5N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",27],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",27],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"28465\"]]"); + "\",EAST],AUTHORITY[\"EPSG\",\"28465\"]]"); p = add_epsg_def_ex (filter, first, last, 28466, "epsg", 28466, "Pulkovo 1942 / Gauss-Kruger 6N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 6N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",33],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",33],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"28466\"]]"); + "\",EAST],AUTHORITY[\"EPSG\",\"28466\"]]"); p = add_epsg_def_ex (filter, first, last, 28467, "epsg", 28467, "Pulkovo 1942 / Gauss-Kruger 7N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 7N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",39],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",39],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"28467\"]]"); + "\",EAST],AUTHORITY[\"EPSG\",\"28467\"]]"); p = add_epsg_def_ex (filter, first, last, 28468, "epsg", 28468, "Pulkovo 1942 / Gauss-Kruger 8N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 8N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",45],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",45],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"28468\"]]"); + "\",EAST],AUTHORITY[\"EPSG\",\"28468\"]]"); p = add_epsg_def_ex (filter, first, last, 28469, "epsg", 28469, "Pulkovo 1942 / Gauss-Kruger 9N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 9N (deprecated)\",G"); add_srs_wkt (p, 1, "EOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID[\""); add_srs_wkt (p, 2, "Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "4\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],AUT"); + "4\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],AU"); add_srs_wkt (p, 4, - "HORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); + "THORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 5, - "ITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994"); + "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 6, - "33,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH"); + "433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORT"); add_srs_wkt (p, 7, - "],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]]"); + "H],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\"]"); add_srs_wkt (p, 8, - ",PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitud"); + "],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitu"); add_srs_wkt (p, 9, - "e_of_origin\",0],PARAMETER[\"central_meridian\",51],PARA"); + "de_of_origin\",0],PARAMETER[\"central_meridian\",51],PAR"); add_srs_wkt (p, 10, - "METER[\"scale_factor\",1],PARAMETER[\"false_easting\",50"); + "AMETER[\"scale_factor\",1],PARAMETER[\"false_easting\",5"); add_srs_wkt (p, 11, - "0000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,A"); + "00000],PARAMETER[\"false_northing\",0],UNIT[\"metre\",1,"); add_srs_wkt (p, 12, - "UTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y\""); + "AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",NORTH],AXIS[\"Y"); add_srs_wkt (p, 13, - ",EAST],AUTHORITY[\"EPSG\",\"28469\"]]"); + "\",EAST],AUTHORITY[\"EPSG\",\"28469\"]]"); p = add_epsg_def_ex (filter, first, last, 28470, "epsg", 28470, "Pulkovo 1942 / Gauss-Kruger 10N (deprecated)", 0, 1, "Krassowsky 1940", "Greenwich", "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 10N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",57],PA"); add_srs_wkt (p, 10, @@ -4008,29 +4004,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 11N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",63],PA"); add_srs_wkt (p, 10, @@ -4047,29 +4043,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 12N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",69],PA"); add_srs_wkt (p, 10, @@ -4086,29 +4082,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 13N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",75],PA"); add_srs_wkt (p, 10, Index: src/srsinit/epsg_inlined_41.c ================================================================== --- src/srsinit/epsg_inlined_41.c +++ src/srsinit/epsg_inlined_41.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -64,29 +60,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 14N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",81],PA"); add_srs_wkt (p, 10, @@ -103,29 +99,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 15N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",87],PA"); add_srs_wkt (p, 10, @@ -142,29 +138,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 16N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",93],PA"); add_srs_wkt (p, 10, @@ -181,29 +177,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +"); add_proj4text (p, 1, - "ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0."); + "ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-0"); add_proj4text (p, 2, - "12 +units=m +no_defs"); + ".12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 17N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",99],PA"); add_srs_wkt (p, 10, @@ -220,29 +216,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 18N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",105],P"); add_srs_wkt (p, 10, @@ -259,29 +255,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 19N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",111],P"); add_srs_wkt (p, 10, @@ -298,29 +294,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 20N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",117],P"); add_srs_wkt (p, 10, @@ -337,29 +333,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 21N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",123],P"); add_srs_wkt (p, 10, @@ -376,29 +372,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 22N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",129],P"); add_srs_wkt (p, 10, @@ -415,29 +411,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 23N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",135],P"); add_srs_wkt (p, 10, @@ -454,29 +450,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 24N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",141],P"); add_srs_wkt (p, 10, @@ -493,29 +489,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 25N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",147],P"); add_srs_wkt (p, 10, @@ -532,29 +528,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 26N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",153],P"); add_srs_wkt (p, 10, @@ -571,29 +567,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 27N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",159],P"); add_srs_wkt (p, 10, @@ -610,29 +606,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 28N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",165],P"); add_srs_wkt (p, 10, @@ -649,29 +645,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 29N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",171],P"); add_srs_wkt (p, 10, @@ -688,29 +684,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 "); add_proj4text (p, 1, - "+ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0"); + "+ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,-"); add_proj4text (p, 2, - ".12 +units=m +no_defs"); + "0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 30N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",177],P"); add_srs_wkt (p, 10, @@ -727,29 +723,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 31N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-177],"); add_srs_wkt (p, 10, @@ -766,29 +762,29 @@ "Pulkovo_1942", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); add_proj4text (p, 0, "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0"); add_proj4text (p, 1, - " +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-"); + " +ellps=krass +towgs84=23.92,-141.27,-80.9,-0,0.35,0.82,"); add_proj4text (p, 2, - "0.12 +units=m +no_defs"); + "-0.12 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Pulkovo 1942 / Gauss-Kruger 32N (deprecated)\","); add_srs_wkt (p, 1, "GEOGCS[\"Pulkovo 1942\",DATUM[\"Pulkovo_1942\",SPHEROID["); add_srs_wkt (p, 2, "\"Krassowsky 1940\",6378245,298.3,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, - "024\"]],TOWGS84[23.92,-141.27,-80.9,0,0.35,0.82,-0.12],A"); + "024\"]],TOWGS84[23.92,-141.27,-80.9,-0,0.35,0.82,-0.12],"); add_srs_wkt (p, 4, - "UTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUTH"); + "AUTHORITY[\"EPSG\",\"6284\"]],PRIMEM[\"Greenwich\",0,AUT"); add_srs_wkt (p, 5, - "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); + "HORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251"); add_srs_wkt (p, 6, - "9433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NOR"); + "99433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NO"); add_srs_wkt (p, 7, - "TH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); + "RTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4284\""); add_srs_wkt (p, 8, "]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latit"); add_srs_wkt (p, 9, "ude_of_origin\",0],PARAMETER[\"central_meridian\",-171],"); add_srs_wkt (p, 10, @@ -848,43 +844,43 @@ add_proj4text (p, 0, "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.387638888"); add_proj4text (p, 1, "88889 +k=0.9999079 +x_0=0 +y_0=0 +ellps=bessel +towgs84="); add_proj4text (p, 2, - "565.4171,50.3319,465.5524,-0.398957388243134,0.343987817"); + "565.417,50.3319,465.552,-0.398957,0.343988,-1.8774,4.072"); add_proj4text (p, 3, - "378283,-1.87740163998045,4.0725 +units=m +no_defs"); + "5 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Amersfoort / RD Old\",GEOGCS[\"Amersfoort\",DAT"); add_srs_wkt (p, 1, "UM[\"Amersfoort\",SPHEROID[\"Bessel 1841\",6377397.155,2"); add_srs_wkt (p, 2, "99.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.417"); add_srs_wkt (p, 3, - "1,50.3319,465.5524,-0.398957388243134,0.343987817378283,"); - add_srs_wkt (p, 4, - "-1.87740163998045,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],"); - add_srs_wkt (p, 5, - "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); - add_srs_wkt (p, 6, - "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912"); - add_srs_wkt (p, 7, - "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],"); - add_srs_wkt (p, 8, - "AUTHORITY[\"EPSG\",\"4289\"]],PROJECTION[\"Oblique_Stere"); - add_srs_wkt (p, 9, - "ographic\"],PARAMETER[\"latitude_of_origin\",52.15616055"); - add_srs_wkt (p, 10, - "555555],PARAMETER[\"central_meridian\",5.38763888888889]"); - add_srs_wkt (p, 11, - ",PARAMETER[\"scale_factor\",0.9999079],PARAMETER[\"false"); - add_srs_wkt (p, 12, - "_easting\",0],PARAMETER[\"false_northing\",0],UNIT[\"met"); - add_srs_wkt (p, 13, - "re\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AX"); + ",50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725],AUTH"); + add_srs_wkt (p, 4, + "ORITY[\"EPSG\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORI"); + add_srs_wkt (p, 5, + "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943"); + add_srs_wkt (p, 6, + "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]"); + add_srs_wkt (p, 7, + ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4289\"]],"); + add_srs_wkt (p, 8, + "PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",52.15616055555555],PARAMETER[\"central_me"); + add_srs_wkt (p, 10, + "ridian\",5.38763888888889],PARAMETER[\"scale_factor\",0."); + add_srs_wkt (p, 11, + "9999079],PARAMETER[\"false_easting\",0],PARAMETER[\"fals"); + add_srs_wkt (p, 12, + "e_northing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"90"); + add_srs_wkt (p, 13, + "01\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EP"); add_srs_wkt (p, 14, - "IS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28991\"]]"); + "SG\",\"28991\"]]"); p = add_epsg_def_ex (filter, first, last, 28992, "epsg", 28992, "Amersfoort / RD New", 0, 0, "Bessel 1841", "Greenwich", "Amersfoort", "Oblique_Stereographic", "metre", "X", "East", "Y", "North"); @@ -891,45 +887,43 @@ add_proj4text (p, 0, "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.387638888"); add_proj4text (p, 1, "88889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel"); add_proj4text (p, 2, - " +towgs84=565.4171,50.3319,465.5524,-0.398957388243134,0"); + " +towgs84=565.417,50.3319,465.552,-0.398957,0.343988,-1."); add_proj4text (p, 3, - ".343987817378283,-1.87740163998045,4.0725 +units=m +no_d"); - add_proj4text (p, 4, - "efs"); + "8774,4.0725 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Amersfoort / RD New\",GEOGCS[\"Amersfoort\",DAT"); add_srs_wkt (p, 1, "UM[\"Amersfoort\",SPHEROID[\"Bessel 1841\",6377397.155,2"); add_srs_wkt (p, 2, "99.1528128,AUTHORITY[\"EPSG\",\"7004\"]],TOWGS84[565.417"); add_srs_wkt (p, 3, - "1,50.3319,465.5524,-0.398957388243134,0.343987817378283,"); - add_srs_wkt (p, 4, - "-1.87740163998045,4.0725],AUTHORITY[\"EPSG\",\"6289\"]],"); - add_srs_wkt (p, 5, - "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNI"); - add_srs_wkt (p, 6, - "T[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"912"); - add_srs_wkt (p, 7, - "2\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],"); - add_srs_wkt (p, 8, - "AUTHORITY[\"EPSG\",\"4289\"]],PROJECTION[\"Oblique_Stere"); - add_srs_wkt (p, 9, - "ographic\"],PARAMETER[\"latitude_of_origin\",52.15616055"); - add_srs_wkt (p, 10, - "555555],PARAMETER[\"central_meridian\",5.38763888888889]"); - add_srs_wkt (p, 11, - ",PARAMETER[\"scale_factor\",0.9999079],PARAMETER[\"false"); - add_srs_wkt (p, 12, - "_easting\",155000],PARAMETER[\"false_northing\",463000],"); - add_srs_wkt (p, 13, - "UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\""); + ",50.3319,465.552,-0.398957,0.343988,-1.8774,4.0725],AUTH"); + add_srs_wkt (p, 4, + "ORITY[\"EPSG\",\"6289\"]],PRIMEM[\"Greenwich\",0,AUTHORI"); + add_srs_wkt (p, 5, + "TY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519943"); + add_srs_wkt (p, 6, + "3,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\",NORTH]"); + add_srs_wkt (p, 7, + ",AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"4289\"]],"); + add_srs_wkt (p, 8, + "PROJECTION[\"Oblique_Stereographic\"],PARAMETER[\"latitu"); + add_srs_wkt (p, 9, + "de_of_origin\",52.15616055555555],PARAMETER[\"central_me"); + add_srs_wkt (p, 10, + "ridian\",5.38763888888889],PARAMETER[\"scale_factor\",0."); + add_srs_wkt (p, 11, + "9999079],PARAMETER[\"false_easting\",155000],PARAMETER[\""); + add_srs_wkt (p, 12, + "false_northing\",463000],UNIT[\"metre\",1,AUTHORITY[\"EP"); + add_srs_wkt (p, 13, + "SG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHO"); add_srs_wkt (p, 14, - ",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"28992\"]]"); + "RITY[\"EPSG\",\"28992\"]]"); p = add_epsg_def_ex (filter, first, last, 29100, "epsg", 29100, "SAD69 / Brazil Polyconic (deprecated)", 0, 0, "GRS 1967", "Greenwich", "South_American_Datum_1969", "Polyconic", "metre", "X", "East", "Y", "North"); @@ -2473,11 +2467,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Sudan / UTM zone 35N (deprecated)\",GEOGCS[\"Su"); add_srs_wkt (p, 1, "dan\",DATUM[\"Sudan\",SPHEROID[\"Clarke 1880 (IGN)\",637"); add_srs_wkt (p, 2, - "8249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],A"); + "8249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6296\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2510,11 +2504,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Sudan / UTM zone 36N (deprecated)\",GEOGCS[\"Su"); add_srs_wkt (p, 1, "dan\",DATUM[\"Sudan\",SPHEROID[\"Clarke 1880 (IGN)\",637"); add_srs_wkt (p, 2, - "8249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"7011\"]],A"); + "8249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"7011\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6296\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -3831,11 +3825,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Trinidad 1903 / Trinidad Grid\",GEOGCS[\"Trinid"); add_srs_wkt (p, 1, "ad 1903\",DATUM[\"Trinidad_1903\",SPHEROID[\"Clarke 1858"); add_srs_wkt (p, 2, - "\",6378293.645208759,294.2606763692606,AUTHORITY[\"EPSG\""); + "\",6378293.645208759,294.2606763692569,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7007\"]],TOWGS84[-61.702,284.488,472.052,0,0,0,0],AUT"); add_srs_wkt (p, 4, "HORITY[\"EPSG\",\"6302\"]],PRIMEM[\"Greenwich\",0,AUTHOR"); add_srs_wkt (p, 5, @@ -3938,11 +3932,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Voirol 1875 / Nord Algerie (ancienne)\",GEOGCS["); add_srs_wkt (p, 1, "\"Voirol 1875\",DATUM[\"Voirol_1875\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, - "1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPS"); + "1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7011\"]],TOWGS84[-73,-247,227,0,0,0,0],AUTHORITY[\""); add_srs_wkt (p, 4, "EPSG\",\"6304\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPS"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_42.c ================================================================== --- src/srsinit/epsg_inlined_42.c +++ src/srsinit/epsg_inlined_42.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -72,11 +68,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Voirol 1875 / Sud Algerie (ancienne)\",GEOGCS[\""); add_srs_wkt (p, 1, "Voirol 1875\",DATUM[\"Voirol_1875\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "80 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\""); + "80 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7011\"]],TOWGS84[-73,-247,227,0,0,0,0],AUTHORITY[\"EP"); add_srs_wkt (p, 4, "SG\",\"6304\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 5, @@ -111,11 +107,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Voirol 1879 / Nord Algerie (ancienne)\",GEOGCS["); add_srs_wkt (p, 1, "\"Voirol 1879\",DATUM[\"Voirol_1879\",SPHEROID[\"Clarke "); add_srs_wkt (p, 2, - "1880 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPS"); + "1880 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7011\"]],AUTHORITY[\"EPSG\",\"6671\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -150,11 +146,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Voirol 1879 / Sud Algerie (ancienne)\",GEOGCS[\""); add_srs_wkt (p, 1, "Voirol 1879\",DATUM[\"Voirol_1879\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "80 (IGN)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\""); + "80 (IGN)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"7011\"]],AUTHORITY[\"EPSG\",\"6671\"]],PRIMEM[\"Green"); add_srs_wkt (p, 4, "wich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0"); add_srs_wkt (p, 5, @@ -179,168 +175,168 @@ "Nord Sahara 1959 / UTM zone 29N", 0, 0, "Clarke 1880 (RGS)", "Greenwich", "Nord_Sahara_1959", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-209.3622,-87."); + "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-209.362,-87.8"); add_proj4text (p, 1, - "8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_"); + "162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m +no_def"); add_proj4text (p, 2, - "defs"); + "s"); add_srs_wkt (p, 0, "PROJCS[\"Nord Sahara 1959 / UTM zone 29N\",GEOGCS[\"Nord"); add_srs_wkt (p, 1, " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, - "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3."); - add_srs_wkt (p, 4, - "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME"); - add_srs_wkt (p, 5, - "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); - add_srs_wkt (p, 6, - "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"); - add_srs_wkt (p, 7, - ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO"); - add_srs_wkt (p, 8, - "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercato"); - add_srs_wkt (p, 9, - "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen"); - add_srs_wkt (p, 10, - "tral_meridian\",-9],PARAMETER[\"scale_factor\",0.9996],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor"); - add_srs_wkt (p, 12, - "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]"); - add_srs_wkt (p, 13, - "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR"); - add_srs_wkt (p, 14, - "ITY[\"EPSG\",\"30729\"]]"); + "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478"); + add_srs_wkt (p, 4, + "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\""); + add_srs_wkt (p, 5, + "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); + add_srs_wkt (p, 6, + "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); + add_srs_wkt (p, 7, + "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); + add_srs_wkt (p, 8, + "[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercator\"]"); + add_srs_wkt (p, 9, + ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central"); + add_srs_wkt (p, 10, + "_meridian\",-9],PARAMETER[\"scale_factor\",0.9996],PARAM"); + add_srs_wkt (p, 11, + "ETER[\"false_easting\",500000],PARAMETER[\"false_northin"); + add_srs_wkt (p, 12, + "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX"); + add_srs_wkt (p, 13, + "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY["); + add_srs_wkt (p, 14, + "\"EPSG\",\"30729\"]]"); p = add_epsg_def_ex (filter, first, last, 30730, "epsg", 30730, "Nord Sahara 1959 / UTM zone 30N", 0, 0, "Clarke 1880 (RGS)", "Greenwich", "Nord_Sahara_1959", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-209.3622,-87."); + "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-209.362,-87.8"); add_proj4text (p, 1, - "8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_"); + "162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m +no_def"); add_proj4text (p, 2, - "defs"); + "s"); add_srs_wkt (p, 0, "PROJCS[\"Nord Sahara 1959 / UTM zone 30N\",GEOGCS[\"Nord"); add_srs_wkt (p, 1, " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, - "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3."); - add_srs_wkt (p, 4, - "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME"); - add_srs_wkt (p, 5, - "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); - add_srs_wkt (p, 6, - "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"); - add_srs_wkt (p, 7, - ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO"); - add_srs_wkt (p, 8, - "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercato"); - add_srs_wkt (p, 9, - "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen"); - add_srs_wkt (p, 10, - "tral_meridian\",-3],PARAMETER[\"scale_factor\",0.9996],P"); - add_srs_wkt (p, 11, - "ARAMETER[\"false_easting\",500000],PARAMETER[\"false_nor"); - add_srs_wkt (p, 12, - "thing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]"); - add_srs_wkt (p, 13, - "],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHOR"); - add_srs_wkt (p, 14, - "ITY[\"EPSG\",\"30730\"]]"); + "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478"); + add_srs_wkt (p, 4, + "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\""); + add_srs_wkt (p, 5, + "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); + add_srs_wkt (p, 6, + "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); + add_srs_wkt (p, 7, + "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); + add_srs_wkt (p, 8, + "[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercator\"]"); + add_srs_wkt (p, 9, + ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central"); + add_srs_wkt (p, 10, + "_meridian\",-3],PARAMETER[\"scale_factor\",0.9996],PARAM"); + add_srs_wkt (p, 11, + "ETER[\"false_easting\",500000],PARAMETER[\"false_northin"); + add_srs_wkt (p, 12, + "g\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AX"); + add_srs_wkt (p, 13, + "IS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY["); + add_srs_wkt (p, 14, + "\"EPSG\",\"30730\"]]"); p = add_epsg_def_ex (filter, first, last, 30731, "epsg", 30731, "Nord Sahara 1959 / UTM zone 31N", 0, 0, "Clarke 1880 (RGS)", "Greenwich", "Nord_Sahara_1959", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=31 +ellps=clrk80 +towgs84=-209.3622,-87."); + "+proj=utm +zone=31 +ellps=clrk80 +towgs84=-209.362,-87.8"); add_proj4text (p, 1, - "8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_"); + "162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m +no_def"); add_proj4text (p, 2, - "defs"); + "s"); add_srs_wkt (p, 0, "PROJCS[\"Nord Sahara 1959 / UTM zone 31N\",GEOGCS[\"Nord"); add_srs_wkt (p, 1, " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, - "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3."); - add_srs_wkt (p, 4, - "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME"); - add_srs_wkt (p, 5, - "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); - add_srs_wkt (p, 6, - "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"); - add_srs_wkt (p, 7, - ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO"); - add_srs_wkt (p, 8, - "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercato"); - add_srs_wkt (p, 9, - "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen"); - add_srs_wkt (p, 10, - "tral_meridian\",3],PARAMETER[\"scale_factor\",0.9996],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort"); - add_srs_wkt (p, 12, - "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]"); - add_srs_wkt (p, 13, - ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI"); - add_srs_wkt (p, 14, - "TY[\"EPSG\",\"30731\"]]"); + "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478"); + add_srs_wkt (p, 4, + "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\""); + add_srs_wkt (p, 5, + "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); + add_srs_wkt (p, 6, + "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); + add_srs_wkt (p, 7, + "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); + add_srs_wkt (p, 8, + "[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercator\"]"); + add_srs_wkt (p, 9, + ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central"); + add_srs_wkt (p, 10, + "_meridian\",3],PARAMETER[\"scale_factor\",0.9996],PARAME"); + add_srs_wkt (p, 11, + "TER[\"false_easting\",500000],PARAMETER[\"false_northing"); + add_srs_wkt (p, 12, + "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI"); + add_srs_wkt (p, 13, + "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\""); + add_srs_wkt (p, 14, + "EPSG\",\"30731\"]]"); p = add_epsg_def_ex (filter, first, last, 30732, "epsg", 30732, "Nord Sahara 1959 / UTM zone 32N", 0, 0, "Clarke 1880 (RGS)", "Greenwich", "Nord_Sahara_1959", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); add_proj4text (p, 0, - "+proj=utm +zone=32 +ellps=clrk80 +towgs84=-209.3622,-87."); + "+proj=utm +zone=32 +ellps=clrk80 +towgs84=-209.362,-87.8"); add_proj4text (p, 1, - "8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_"); + "162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m +no_def"); add_proj4text (p, 2, - "defs"); + "s"); add_srs_wkt (p, 0, "PROJCS[\"Nord Sahara 1959 / UTM zone 32N\",GEOGCS[\"Nord"); add_srs_wkt (p, 1, " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, - "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3."); - add_srs_wkt (p, 4, - "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME"); - add_srs_wkt (p, 5, - "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); - add_srs_wkt (p, 6, - "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"); - add_srs_wkt (p, 7, - ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO"); - add_srs_wkt (p, 8, - "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercato"); - add_srs_wkt (p, 9, - "r\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"cen"); - add_srs_wkt (p, 10, - "tral_meridian\",9],PARAMETER[\"scale_factor\",0.9996],PA"); - add_srs_wkt (p, 11, - "RAMETER[\"false_easting\",500000],PARAMETER[\"false_nort"); - add_srs_wkt (p, 12, - "hing\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]]"); - add_srs_wkt (p, 13, - ",AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORI"); - add_srs_wkt (p, 14, - "TY[\"EPSG\",\"30732\"]]"); + "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478"); + add_srs_wkt (p, 4, + "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\""); + add_srs_wkt (p, 5, + "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); + add_srs_wkt (p, 6, + "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); + add_srs_wkt (p, 7, + "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); + add_srs_wkt (p, 8, + "[\"EPSG\",\"4307\"]],PROJECTION[\"Transverse_Mercator\"]"); + add_srs_wkt (p, 9, + ",PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central"); + add_srs_wkt (p, 10, + "_meridian\",9],PARAMETER[\"scale_factor\",0.9996],PARAME"); + add_srs_wkt (p, 11, + "TER[\"false_easting\",500000],PARAMETER[\"false_northing"); + add_srs_wkt (p, 12, + "\",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXI"); + add_srs_wkt (p, 13, + "S[\"Easting\",EAST],AXIS[\"Northing\",NORTH],AUTHORITY[\""); + add_srs_wkt (p, 14, + "EPSG\",\"30732\"]]"); p = add_epsg_def_ex (filter, first, last, 30791, "epsg", 30791, "Nord Sahara 1959 / Nord Algerie", 0, 0, "Clarke 1880 (RGS)", "Greenwich", "Nord_Sahara_1959", "Lambert_Conformal_Conic_1SP", "metre", "X", "East", "Y", "North"); @@ -347,43 +343,43 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.99962554"); add_proj4text (p, 1, "4 +x_0=500135 +y_0=300090 +ellps=clrk80 +towgs84=-209.36"); add_proj4text (p, 2, - "22,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units"); + "2,-87.8162,404.62,0.0046,3.4784,0.5805,-1.4547 +units=m "); add_proj4text (p, 3, - "=m +no_defs"); + "+no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Nord Sahara 1959 / Nord Algerie\",GEOGCS[\"Nord"); add_srs_wkt (p, 1, " Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Cla"); add_srs_wkt (p, 2, "rke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\","); add_srs_wkt (p, 3, - "\"7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3."); - add_srs_wkt (p, 4, - "4784,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIME"); - add_srs_wkt (p, 5, - "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); - add_srs_wkt (p, 6, - "egree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]]"); - add_srs_wkt (p, 7, - ",AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHO"); - add_srs_wkt (p, 8, - "RITY[\"EPSG\",\"4307\"]],PROJECTION[\"Lambert_Conformal_"); - add_srs_wkt (p, 9, - "Conic_1SP\"],PARAMETER[\"latitude_of_origin\",36],PARAME"); - add_srs_wkt (p, 10, - "TER[\"central_meridian\",2.7],PARAMETER[\"scale_factor\""); - add_srs_wkt (p, 11, - ",0.999625544],PARAMETER[\"false_easting\",500135],PARAME"); - add_srs_wkt (p, 12, - "TER[\"false_northing\",300090],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 13, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]"); - add_srs_wkt (p, 14, - ",AUTHORITY[\"EPSG\",\"30791\"]]"); + "\"7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.478"); + add_srs_wkt (p, 4, + "4,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\""); + add_srs_wkt (p, 5, + "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); + add_srs_wkt (p, 6, + "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); + add_srs_wkt (p, 7, + "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); + add_srs_wkt (p, 8, + "[\"EPSG\",\"4307\"]],PROJECTION[\"Lambert_Conformal_Coni"); + add_srs_wkt (p, 9, + "c_1SP\"],PARAMETER[\"latitude_of_origin\",36],PARAMETER["); + add_srs_wkt (p, 10, + "\"central_meridian\",2.7],PARAMETER[\"scale_factor\",0.9"); + add_srs_wkt (p, 11, + "99625544],PARAMETER[\"false_easting\",500135],PARAMETER["); + add_srs_wkt (p, 12, + "\"false_northing\",300090],UNIT[\"metre\",1,AUTHORITY[\""); + add_srs_wkt (p, 13, + "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); + add_srs_wkt (p, 14, + "HORITY[\"EPSG\",\"30791\"]]"); p = add_epsg_def_ex (filter, first, last, 30792, "epsg", 30792, "Nord Sahara 1959 / Sud Algerie", 0, 0, "Clarke 1880 (RGS)", "Greenwich", "Nord_Sahara_1959", "Lambert_Conformal_Conic_1SP", "metre", "X", "East", "Y", "North"); @@ -390,43 +386,43 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.9996"); add_proj4text (p, 1, "25769 +x_0=500135 +y_0=300090 +ellps=clrk80 +towgs84=-20"); add_proj4text (p, 2, - "9.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +u"); + "9.362,-87.8162,404.62,0.0046,3.4784,0.5805,-1.4547 +unit"); add_proj4text (p, 3, - "nits=m +no_defs"); + "s=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Nord Sahara 1959 / Sud Algerie\",GEOGCS[\"Nord "); add_srs_wkt (p, 1, "Sahara 1959\",DATUM[\"Nord_Sahara_1959\",SPHEROID[\"Clar"); add_srs_wkt (p, 2, "ke 1880 (RGS)\",6378249.145,293.465,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, - "7012\"]],TOWGS84[-209.3622,-87.8162,404.6198,0.0046,3.47"); - add_srs_wkt (p, 4, - "84,0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM["); - add_srs_wkt (p, 5, - "\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"deg"); - add_srs_wkt (p, 6, - "ree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],A"); - add_srs_wkt (p, 7, - "XIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORI"); - add_srs_wkt (p, 8, - "TY[\"EPSG\",\"4307\"]],PROJECTION[\"Lambert_Conformal_Co"); - add_srs_wkt (p, 9, - "nic_1SP\"],PARAMETER[\"latitude_of_origin\",33.3],PARAME"); - add_srs_wkt (p, 10, - "TER[\"central_meridian\",2.7],PARAMETER[\"scale_factor\""); - add_srs_wkt (p, 11, - ",0.999625769],PARAMETER[\"false_easting\",500135],PARAME"); - add_srs_wkt (p, 12, - "TER[\"false_northing\",300090],UNIT[\"metre\",1,AUTHORIT"); - add_srs_wkt (p, 13, - "Y[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH]"); - add_srs_wkt (p, 14, - ",AUTHORITY[\"EPSG\",\"30792\"]]"); + "7012\"]],TOWGS84[-209.362,-87.8162,404.62,0.0046,3.4784,"); + add_srs_wkt (p, 4, + "0.5805,-1.4547],AUTHORITY[\"EPSG\",\"6307\"]],PRIMEM[\"G"); + add_srs_wkt (p, 5, + "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree"); + add_srs_wkt (p, 6, + "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS"); + add_srs_wkt (p, 7, + "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY["); + add_srs_wkt (p, 8, + "\"EPSG\",\"4307\"]],PROJECTION[\"Lambert_Conformal_Conic"); + add_srs_wkt (p, 9, + "_1SP\"],PARAMETER[\"latitude_of_origin\",33.3],PARAMETER"); + add_srs_wkt (p, 10, + "[\"central_meridian\",2.7],PARAMETER[\"scale_factor\",0."); + add_srs_wkt (p, 11, + "999625769],PARAMETER[\"false_easting\",500135],PARAMETER"); + add_srs_wkt (p, 12, + "[\"false_northing\",300090],UNIT[\"metre\",1,AUTHORITY[\""); + add_srs_wkt (p, 13, + "EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUT"); + add_srs_wkt (p, 14, + "HORITY[\"EPSG\",\"30792\"]]"); p = add_epsg_def_ex (filter, first, last, 30800, "epsg", 30800, "RT38 2.5 gon W (deprecated)", 0, 1, "Bessel 1841", "Greenwich", "Stockholm_1938", "Transverse_Mercator", "metre", "X", "North", "Y", "East"); @@ -472,11 +468,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Yoff / UTM zone 28N\",GEOGCS[\"Yoff\",DATUM[\"Y"); add_srs_wkt (p, 1, "off\",SPHEROID[\"Clarke 1880 (IGN)\",6378249.2,293.46602"); add_srs_wkt (p, 2, - "12936269,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\""); + "12936265,AUTHORITY[\"EPSG\",\"7011\"]],AUTHORITY[\"EPSG\""); add_srs_wkt (p, 3, ",\"6310\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, "8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\""); add_srs_wkt (p, 5, @@ -2078,49 +2074,47 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666"); add_proj4text (p, 1, "666 +lat_0=90 +lon_0=4.356939722222222 +x_0=150000.01256"); add_proj4text (p, 2, - " +y_0=5400088.4378 +ellps=intl +towgs84=-106.8686,52.297"); + " +y_0=5400088.4378 +ellps=intl +towgs84=-106.869,52.2978"); add_proj4text (p, 3, - "8,-103.7239,0.3366,-0.457,1.8422,-1.2747 +units=m +no_de"); - add_proj4text (p, 4, - "fs"); + ",-103.724,0.3366,-0.457,1.8422,-1.2747 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Belge 1972 / Belge Lambert 72\",GEOGCS[\"Belge "); add_srs_wkt (p, 1, "1972\",DATUM[\"Reseau_National_Belge_1972\",SPHEROID[\"I"); add_srs_wkt (p, 2, "nternational 1924\",6378388,297,AUTHORITY[\"EPSG\",\"702"); add_srs_wkt (p, 3, - "2\"]],TOWGS84[-106.8686,52.2978,-103.7239,0.3366,-0.457,"); - add_srs_wkt (p, 4, - "1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM[\"G"); - add_srs_wkt (p, 5, - "reenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree"); - add_srs_wkt (p, 6, - "\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS"); - add_srs_wkt (p, 7, - "[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY["); - add_srs_wkt (p, 8, - "\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_Conic"); - add_srs_wkt (p, 9, - "_2SP_Belgium\"],PARAMETER[\"standard_parallel_1\",49.833"); - add_srs_wkt (p, 10, - "33333333334],PARAMETER[\"standard_parallel_2\",51.166666"); - add_srs_wkt (p, 11, - "66666666],PARAMETER[\"latitude_of_origin\",90],PARAMETER"); - add_srs_wkt (p, 12, - "[\"central_meridian\",4.356939722222222],PARAMETER[\"fal"); - add_srs_wkt (p, 13, - "se_easting\",150000.01256],PARAMETER[\"false_northing\","); - add_srs_wkt (p, 14, - "5400088.4378],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001"); + "2\"]],TOWGS84[-106.869,52.2978,-103.724,0.3366,-0.457,1."); + add_srs_wkt (p, 4, + "8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM[\"Gre"); + add_srs_wkt (p, 5, + "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); + add_srs_wkt (p, 6, + ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\""); + add_srs_wkt (p, 7, + "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E"); + add_srs_wkt (p, 8, + "PSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_Conic_2S"); + add_srs_wkt (p, 9, + "P_Belgium\"],PARAMETER[\"standard_parallel_1\",49.833333"); + add_srs_wkt (p, 10, + "33333334],PARAMETER[\"standard_parallel_2\",51.166666666"); + add_srs_wkt (p, 11, + "66666],PARAMETER[\"latitude_of_origin\",90],PARAMETER[\""); + add_srs_wkt (p, 12, + "central_meridian\",4.356939722222222],PARAMETER[\"false_"); + add_srs_wkt (p, 13, + "easting\",150000.01256],PARAMETER[\"false_northing\",540"); + add_srs_wkt (p, 14, + "0088.4378],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]"); add_srs_wkt (p, 15, - "\"]],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG"); + "],AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\","); add_srs_wkt (p, 16, - "\",\"31300\"]]"); + "\"31300\"]]"); p = add_epsg_def_ex (filter, first, last, 31370, "epsg", 31370, "Belge 1972 / Belgian Lambert 72", 0, 0, "International 1924", "Greenwich", "Reseau_National_Belge_1972", "Lambert_Conformal_Conic_2SP", "metre", "X", "East", "Y", "North"); @@ -2127,45 +2121,45 @@ add_proj4text (p, 0, "+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +la"); add_proj4text (p, 1, "t_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=540"); add_proj4text (p, 2, - "0088.438 +ellps=intl +towgs84=-106.8686,52.2978,-103.723"); + "0088.438 +ellps=intl +towgs84=-106.869,52.2978,-103.724,"); add_proj4text (p, 3, - "9,0.3366,-0.457,1.8422,-1.2747 +units=m +no_defs"); + "0.3366,-0.457,1.8422,-1.2747 +units=m +no_defs"); add_srs_wkt (p, 0, "PROJCS[\"Belge 1972 / Belgian Lambert 72\",GEOGCS[\"Belg"); add_srs_wkt (p, 1, "e 1972\",DATUM[\"Reseau_National_Belge_1972\",SPHEROID[\""); add_srs_wkt (p, 2, "International 1924\",6378388,297,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, - "22\"]],TOWGS84[-106.8686,52.2978,-103.7239,0.3366,-0.457"); - add_srs_wkt (p, 4, - ",1.8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM[\""); - add_srs_wkt (p, 5, - "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); - add_srs_wkt (p, 6, - "e\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXI"); - add_srs_wkt (p, 7, - "S[\"Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY"); - add_srs_wkt (p, 8, - "[\"EPSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_Coni"); - add_srs_wkt (p, 9, - "c_2SP\"],PARAMETER[\"standard_parallel_1\",51.1666672333"); - add_srs_wkt (p, 10, - "3333],PARAMETER[\"standard_parallel_2\",49.8333339],PARA"); - add_srs_wkt (p, 11, - "METER[\"latitude_of_origin\",90],PARAMETER[\"central_mer"); - add_srs_wkt (p, 12, - "idian\",4.367486666666666],PARAMETER[\"false_easting\",1"); - add_srs_wkt (p, 13, - "50000.013],PARAMETER[\"false_northing\",5400088.438],UNI"); - add_srs_wkt (p, 14, - "T[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",E"); + "22\"]],TOWGS84[-106.869,52.2978,-103.724,0.3366,-0.457,1"); + add_srs_wkt (p, 4, + ".8422,-1.2747],AUTHORITY[\"EPSG\",\"6313\"]],PRIMEM[\"Gr"); + add_srs_wkt (p, 5, + "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); + add_srs_wkt (p, 6, + ",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\""); + add_srs_wkt (p, 7, + "Latitude\",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"E"); + add_srs_wkt (p, 8, + "PSG\",\"4313\"]],PROJECTION[\"Lambert_Conformal_Conic_2S"); + add_srs_wkt (p, 9, + "P\"],PARAMETER[\"standard_parallel_1\",51.16666723333333"); + add_srs_wkt (p, 10, + "],PARAMETER[\"standard_parallel_2\",49.8333339],PARAMETE"); + add_srs_wkt (p, 11, + "R[\"latitude_of_origin\",90],PARAMETER[\"central_meridia"); + add_srs_wkt (p, 12, + "n\",4.367486666666666],PARAMETER[\"false_easting\",15000"); + add_srs_wkt (p, 13, + "0.013],PARAMETER[\"false_northing\",5400088.438],UNIT[\""); + add_srs_wkt (p, 14, + "metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST]"); add_srs_wkt (p, 15, - "AST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31370\"]]"); + ",AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"31370\"]]"); p = add_epsg_def_ex (filter, first, last, 31461, "epsg", 31461, "DHDN / 3-degree Gauss zone 1 (deprecated)", 0, 0, "Bessel 1841", "Greenwich", "Deutsches_Hauptdreiecksnetz", "Transverse_Mercator", "metre", "X", "East", "Y", "North"); @@ -2662,11 +2656,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Conakry 1905 / UTM zone 28N\",GEOGCS[\"Conakry "); add_srs_wkt (p, 1, "1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Clarke 1880 (IG"); add_srs_wkt (p, 2, - "N)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"70"); + "N)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, "11\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, "6315\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); add_srs_wkt (p, 5, @@ -2699,11 +2693,11 @@ add_srs_wkt (p, 0, "PROJCS[\"Conakry 1905 / UTM zone 29N\",GEOGCS[\"Conakry "); add_srs_wkt (p, 1, "1905\",DATUM[\"Conakry_1905\",SPHEROID[\"Clarke 1880 (IG"); add_srs_wkt (p, 2, - "N)\",6378249.2,293.4660212936269,AUTHORITY[\"EPSG\",\"70"); + "N)\",6378249.2,293.4660212936265,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, "11\"]],TOWGS84[-23,259,-9,0,0,0,0],AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 4, "6315\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"890"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_43.c ================================================================== --- src/srsinit/epsg_inlined_43.c +++ src/srsinit/epsg_inlined_43.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -423,11 +419,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Montana North\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -464,11 +460,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Montana Central\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -505,11 +501,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Montana South\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -546,11 +542,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Nebraska North\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -587,11 +583,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Nebraska South\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -630,11 +626,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Nevada East\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -669,11 +665,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Nevada Central\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -708,11 +704,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Nevada West\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -747,11 +743,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New Hampshire\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -786,11 +782,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New Jersey\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -825,11 +821,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New Mexico East\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -862,11 +858,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New Mexico Central\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -901,11 +897,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New Mexico West\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -940,11 +936,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New York East\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -979,11 +975,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New York Central\",GEOGCS[\"NAD27\",DAT"); add_srs_wkt (p, 1, "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -1018,11 +1014,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New York West\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -1057,11 +1053,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / New York Long Island (deprecated)\",GEO"); add_srs_wkt (p, 1, "GCS[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHERO"); add_srs_wkt (p, 2, - "ID[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY"); + "ID[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY"); add_srs_wkt (p, 3, "[\"EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIME"); add_srs_wkt (p, 4, "M[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"d"); add_srs_wkt (p, 5, @@ -1100,11 +1096,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / North Carolina\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -1141,11 +1137,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / North Dakota North\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -1182,11 +1178,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / North Dakota South\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -1225,11 +1221,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Ohio North\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -1266,11 +1262,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Ohio South\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -1307,11 +1303,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Oklahoma North\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -1348,11 +1344,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Oklahoma South\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -1391,11 +1387,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Oregon North\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1432,11 +1428,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Oregon South\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1473,11 +1469,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Pennsylvania North\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -1514,11 +1510,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Pennsylvania South (deprecated)\",GEOGC"); add_srs_wkt (p, 1, "S[\"NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID"); add_srs_wkt (p, 2, - "[\"Clarke 1866\",6378206.4,294.9786982138982,AUTHORITY[\""); + "[\"Clarke 1866\",6378206.4,294.9786982139006,AUTHORITY[\""); add_srs_wkt (p, 3, "EPSG\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\""); add_srs_wkt (p, 4, "Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degre"); add_srs_wkt (p, 5, @@ -1557,11 +1553,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Rhode Island\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1596,11 +1592,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / South Carolina North\",GEOGCS[\"NAD27\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1"); add_srs_wkt (p, 2, - "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7"); + "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -1637,11 +1633,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / South Carolina South\",GEOGCS[\"NAD27\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1"); add_srs_wkt (p, 2, - "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7"); + "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -1680,11 +1676,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / South Dakota North\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -1723,11 +1719,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / South Dakota South\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -1766,11 +1762,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Tennessee (deprecated)\",GEOGCS[\"NAD27"); add_srs_wkt (p, 1, "\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke"); add_srs_wkt (p, 2, - " 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\""); + " 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\""); add_srs_wkt (p, 3, "7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwic"); add_srs_wkt (p, 4, "h\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01"); add_srs_wkt (p, 5, @@ -1807,11 +1803,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Texas North\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -1848,11 +1844,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Texas North Central\",GEOGCS[\"NAD27\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70"); + "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -1893,11 +1889,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Texas Central\",GEOGCS[\"NAD27\",DATUM["); add_srs_wkt (p, 1, "\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6"); add_srs_wkt (p, 2, - "378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]]"); + "378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]]"); add_srs_wkt (p, 3, ",AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AU"); add_srs_wkt (p, 4, "THORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925"); add_srs_wkt (p, 5, @@ -1936,11 +1932,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Texas South Central\",GEOGCS[\"NAD27\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70"); + "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -1979,11 +1975,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Texas South\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2022,11 +2018,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Utah North\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -2065,11 +2061,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Utah Central\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2106,11 +2102,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Utah South\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -2147,11 +2143,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Vermont\",GEOGCS[\"NAD27\",DATUM[\"Nort"); add_srs_wkt (p, 1, "h_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378206"); add_srs_wkt (p, 2, - ".4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AUTHO"); + ".4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AUTHO"); add_srs_wkt (p, 3, "RITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHORIT"); add_srs_wkt (p, 4, "Y[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433"); add_srs_wkt (p, 5, @@ -2186,11 +2182,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Virginia North\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -2227,11 +2223,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Virginia South\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -2270,11 +2266,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Washington North\",GEOGCS[\"NAD27\",DAT"); add_srs_wkt (p, 1, "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -2311,11 +2307,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Washington South\",GEOGCS[\"NAD27\",DAT"); add_srs_wkt (p, 1, "UM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -2354,11 +2350,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / West Virginia North\",GEOGCS[\"NAD27\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70"); + "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -2395,11 +2391,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / West Virginia South\",GEOGCS[\"NAD27\","); add_srs_wkt (p, 1, "DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 18"); add_srs_wkt (p, 2, - "66\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"70"); + "66\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"70"); add_srs_wkt (p, 3, "08\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, @@ -2436,11 +2432,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Wisconsin North\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -2479,11 +2475,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Wisconsin Central\",GEOGCS[\"NAD27\",DA"); add_srs_wkt (p, 1, "TUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866"); add_srs_wkt (p, 2, - "\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008"); + "\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008"); add_srs_wkt (p, 3, "\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\","); add_srs_wkt (p, 4, "0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453"); add_srs_wkt (p, 5, @@ -2520,11 +2516,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Wisconsin South\",GEOGCS[\"NAD27\",DATU"); add_srs_wkt (p, 1, "M[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\""); add_srs_wkt (p, 2, - ",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\""); + ",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\""); add_srs_wkt (p, 3, "]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,"); add_srs_wkt (p, 4, "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); add_srs_wkt (p, 5, @@ -2561,11 +2557,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Wyoming East\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2600,11 +2596,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Wyoming East Central\",GEOGCS[\"NAD27\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1"); add_srs_wkt (p, 2, - "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7"); + "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -2641,11 +2637,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Wyoming West Central\",GEOGCS[\"NAD27\""); add_srs_wkt (p, 1, ",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1"); add_srs_wkt (p, 2, - "866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7"); + "866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7"); add_srs_wkt (p, 3, "008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich"); add_srs_wkt (p, 4, "\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017"); add_srs_wkt (p, 5, @@ -2680,11 +2676,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Wyoming West\",GEOGCS[\"NAD27\",DATUM[\""); add_srs_wkt (p, 1, "North_American_Datum_1927\",SPHEROID[\"Clarke 1866\",637"); add_srs_wkt (p, 2, - "8206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],A"); + "8206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],A"); add_srs_wkt (p, 3, "UTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTH"); add_srs_wkt (p, 4, "ORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292519"); add_srs_wkt (p, 5, @@ -2719,11 +2715,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Guatemala Norte (deprecated)\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -2758,11 +2754,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Guatemala Sur (deprecated)\",GEOGCS[\"N"); add_srs_wkt (p, 1, "AD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"Cl"); add_srs_wkt (p, 2, - "arke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG"); + "arke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG"); add_srs_wkt (p, 3, "\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gre"); add_srs_wkt (p, 4, "enwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -2795,11 +2791,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 14N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -2832,11 +2828,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 15N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -2869,11 +2865,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 16N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -2906,11 +2902,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 17N (ftUS)\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -2943,11 +2939,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 14N (feet) (deprecated)\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -2980,11 +2976,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 15N (feet) (deprecated)\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -3017,11 +3013,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 16N (feet) (deprecated)\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -3054,11 +3050,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / BLM 17N (feet) (deprecated)\",GEOGCS[\""); add_srs_wkt (p, 1, "NAD27\",DATUM[\"North_American_Datum_1927\",SPHEROID[\"C"); add_srs_wkt (p, 2, - "larke 1866\",6378206.4,294.9786982138982,AUTHORITY[\"EPS"); + "larke 1866\",6378206.4,294.9786982139006,AUTHORITY[\"EPS"); add_srs_wkt (p, 3, "G\",\"7008\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Gr"); add_srs_wkt (p, 4, "eenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\""); add_srs_wkt (p, 5, @@ -3091,11 +3087,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / MTM zone 1\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -3128,11 +3124,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / MTM zone 2\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -3165,11 +3161,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / MTM zone 3\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -3202,11 +3198,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / MTM zone 4\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -3239,11 +3235,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / MTM zone 5\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -3276,11 +3272,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / MTM zone 6\",GEOGCS[\"NAD27\",DATUM[\"N"); add_srs_wkt (p, 1, "orth_American_Datum_1927\",SPHEROID[\"Clarke 1866\",6378"); add_srs_wkt (p, 2, - "206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]],AU"); + "206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]],AU"); add_srs_wkt (p, 3, "THORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,AUTHO"); add_srs_wkt (p, 4, "RITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199"); add_srs_wkt (p, 5, @@ -3313,11 +3309,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Quebec Lambert\",GEOGCS[\"NAD27\",DATUM"); add_srs_wkt (p, 1, "[\"North_American_Datum_1927\",SPHEROID[\"Clarke 1866\","); add_srs_wkt (p, 2, - "6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"7008\"]"); + "6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"7008\"]"); add_srs_wkt (p, 3, "],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\",0,A"); add_srs_wkt (p, 4, "UTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.017453292"); add_srs_wkt (p, 5, @@ -3354,11 +3350,11 @@ add_srs_wkt (p, 0, "PROJCS[\"NAD27 / Louisiana Offshore\",GEOGCS[\"NAD27\",D"); add_srs_wkt (p, 1, "ATUM[\"North_American_Datum_1927\",SPHEROID[\"Clarke 186"); add_srs_wkt (p, 2, - "6\",6378206.4,294.9786982138982,AUTHORITY[\"EPSG\",\"700"); + "6\",6378206.4,294.9786982139006,AUTHORITY[\"EPSG\",\"700"); add_srs_wkt (p, 3, "8\"]],AUTHORITY[\"EPSG\",\"6267\"]],PRIMEM[\"Greenwich\""); add_srs_wkt (p, 4, ",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745"); add_srs_wkt (p, 5, Index: src/srsinit/epsg_inlined_44.c ================================================================== --- src/srsinit/epsg_inlined_44.c +++ src/srsinit/epsg_inlined_44.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ Index: src/srsinit/epsg_inlined_45.c ================================================================== --- src/srsinit/epsg_inlined_45.c +++ src/srsinit/epsg_inlined_45.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ Index: src/srsinit/epsg_inlined_46.c ================================================================== --- src/srsinit/epsg_inlined_46.c +++ src/srsinit/epsg_inlined_46.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ Index: src/srsinit/epsg_inlined_extra.c ================================================================== --- src/srsinit/epsg_inlined_extra.c +++ src/srsinit/epsg_inlined_extra.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include /* declaring prototypes */ SPATIALITE_PRIVATE void initialize_epsg_00 ( @@ -162,11 +158,11 @@ /* initializing the EPSG defs list [EXTRA] */ struct epsg_defs *p; p = add_epsg_def (filter, first, last, 40000, "gfoss.it", 1, "Italy mainland zone 1 GB Roma40"); add_proj4text (p, 0, - "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_"); + "+proj=tmerc+lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_"); add_proj4text (p, 1, "0=0 +ellps=intl +units=m +towgs84=-104.1,-49.1,-9.9,0.97"); add_proj4text (p, 2, "1,-2.917,0.714,-11.68 +no_defs"); add_srs_wkt (p, 0, ""); p = add_epsg_def (filter, first, last, 40001, "gfoss.it", 2, Index: src/srsinit/epsg_inlined_prussian.c ================================================================== --- src/srsinit/epsg_inlined_prussian.c +++ src/srsinit/epsg_inlined_prussian.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,15 +41,11 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else #include "config.h" -#endif #include #ifndef OMIT_EPSG /* full EPSG initialization enabled */ @@ -736,15 +732,15 @@ add_srs_wkt(p,1,"GEOGCS[\"DHDN\","); add_srs_wkt(p,2,"DATUM[\"Deutsches_Hauptdreiecksnetz\","); add_srs_wkt(p,3,"SPHEROID[\"Bessel 1841\",6377397.155,299.1528128,"); add_srs_wkt(p,4,"AUTHORITY[\"EPSG\",\"7004\"]], AUTHORITY[\"EPSG\",\"6314\"]],"); add_srs_wkt(p,5,"PRIMEM[\"ferro\",-17.66666666666667],UNIT[\"Degree\",0.017453292519943295,"); - add_srs_wkt(p,6,"AUTHORITY[\"mj10777.de\",\"187998\"]],AUTHORITY[\"EPSG\",\"4314\"]]]"); -/* mj10777: Not existing System, used for testing purposes. */ + add_srs_wkt(p,6,"AUTHORITY[\"mj10777.de\",\"187998\"]],AUTHORITY[\"EPSG\",\"4314\"]]"); +/* mj10777: Not exsiting System, used for testing purposes. */ p = add_epsg_def(filter,first,last,187999,"mj10777.de",187999,"DHDN / Brandenburger Tor"); add_proj4text(p,0,"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 "); - add_proj4text(p,1,"+x_0=16816.615499858 +y_0=-11047.322499366 +ellps=bessel +datum=potsdam +units=m +no_defs"); + add_proj4text(p,1,"+x_0=16819.76033675660074 +y_0=-11046.08218553455117 +ellps=bessel +datum=potsdam +units=m +no_defs"); add_srs_wkt(p,0,"PROJCS[\"DHDN / Soldner Brandenburger Tor\","); add_srs_wkt(p,1,"GEOGCS[\"DHDN\","); add_srs_wkt(p,2,"DATUM[\"Deutsches_Hauptdreiecksnetz\",SPHEROID[\"Bessel 1841\","); add_srs_wkt(p,3,"6377397.155,299.1528128,AUTHORITY[\"EPSG\",\"7004\"]],"); add_srs_wkt(p,4,"AUTHORITY[\"EPSG\",\"6314\"]],PRIMEM[\"Greenwich\",0,"); @@ -752,11 +748,11 @@ add_srs_wkt(p,6,"AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4314\"]],"); add_srs_wkt(p,7,"UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],"); add_srs_wkt(p,8,"PROJECTION[\"Cassini_Soldner\"],"); add_srs_wkt(p,9,"PARAMETER[\"latitude_of_origin\",52.41864827777778],"); add_srs_wkt(p,10,"PARAMETER[\"central_meridian\",13.62720366666667],"); - add_srs_wkt(p,11,"PARAMETER[\"false_easting\",16816.615499858],PARAMETER[\"false_northing\",-11047.322499366],"); + add_srs_wkt(p,11,"PARAMETER[\"false_easting\",16819.76033675660074],PARAMETER[\"false_northing\",-11046.08218553455117],"); add_srs_wkt(p,12,"AUTHORITY[\"mj10777.de\",\"187999\"],AXIS[\"x\",NORTH],AXIS[\"y\",EAST]]"); p = add_epsg_def (filter,first, last, 325833, "mj10777.de", 325833,"ETRS89 / UTM zone 33N (Brandenburg)"); add_proj4text(p,0,"+proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs"); add_srs_wkt(p,0,"PROJCS[\"ETRS89 / UTM zone 33N (Brandenburg)\",GEOGCS[\"ETRS89\","); add_srs_wkt(p,1,"DATUM[\"European_Terrestrial_Reference_System_1989\","); Index: src/srsinit/epsg_inlined_wgs84_00.c ================================================================== --- src/srsinit/epsg_inlined_wgs84_00.c +++ src/srsinit/epsg_inlined_wgs84_00.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,16 +41,10 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - #include SPATIALITE_PRIVATE void initialize_epsg_wgs84_00 (int filter, struct epsg_defs **first, struct epsg_defs **last) { @@ -2121,45 +2115,10 @@ "asting\",0],PARAMETER[\"false_northing\",0],UNIT[\"metre"); add_srs_wkt (p, 10, "\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS[\"X\",EAST],AXIS"); add_srs_wkt (p, 11, "[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32662\"]]"); - p = add_epsg_def_ex (filter, first, last, 32663, "epsg", 32663, - "WGS 84 / World Equidistant Cylindrical (deprecated)", 0, 0, - "WGS 84", "Greenwich", - "WGS_1984", "Equirectangular", "metre", - "X", "East", "Y", "North"); - add_proj4text (p, 0, - "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +dat"); - add_proj4text (p, 1, - "um=WGS84 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"WGS 84 / World Equidistant Cylindrical (depreca"); - add_srs_wkt (p, 1, - "ted)\",GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"W"); - add_srs_wkt (p, 2, - "GS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\""); - add_srs_wkt (p, 3, - "]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,"); - add_srs_wkt (p, 4, - "AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329"); - add_srs_wkt (p, 5, - "25199433,AUTHORITY[\"EPSG\",\"9122\"]],AXIS[\"Latitude\""); - add_srs_wkt (p, 6, - ",NORTH],AXIS[\"Longitude\",EAST],AUTHORITY[\"EPSG\",\"43"); - add_srs_wkt (p, 7, - "26\"]],PROJECTION[\"Equirectangular\"],PARAMETER[\"latit"); - add_srs_wkt (p, 8, - "ude_of_origin\",0],PARAMETER[\"central_meridian\",0],PAR"); - add_srs_wkt (p, 9, - "AMETER[\"false_easting\",0],PARAMETER[\"false_northing\""); - add_srs_wkt (p, 10, - ",0],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],AXIS["); - add_srs_wkt (p, 11, - "\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32663"); - add_srs_wkt (p, 12, - "\"]]"); p = add_epsg_def_ex (filter, first, last, 32664, "epsg", 32664, "WGS 84 / BLM 14N (ftUS)", 0, 0, "WGS 84", "Greenwich", "WGS_1984", "Transverse_Mercator", "US survey foot", "X", "East", "Y", "North"); @@ -3385,7 +3344,40 @@ "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E"); add_srs_wkt (p, 11, "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\""); add_srs_wkt (p, 12, ",NORTH],AUTHORITY[\"EPSG\",\"32733\"]]"); + p = add_epsg_def_ex (filter, first, last, 32734, "epsg", 32734, + "WGS 84 / UTM zone 34S", 0, 0, + "WGS 84", "Greenwich", + "WGS_1984", "Transverse_Mercator", "metre", + "Easting", "East", "Northing", "North"); + add_proj4text (p, 0, + "+proj=utm +zone=34 +south +datum=WGS84 +units=m +no_defs"); + add_srs_wkt (p, 0, + "PROJCS[\"WGS 84 / UTM zone 34S\",GEOGCS[\"WGS 84\",DATUM"); + add_srs_wkt (p, 1, + "[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,"); + add_srs_wkt (p, 2, + "AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\""); + add_srs_wkt (p, 3, + "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); + add_srs_wkt (p, 4, + "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\""); + add_srs_wkt (p, 5, + "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS"); + add_srs_wkt (p, 6, + "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse"); + add_srs_wkt (p, 7, + "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET"); + add_srs_wkt (p, 8, + "ER[\"central_meridian\",21],PARAMETER[\"scale_factor\",0"); + add_srs_wkt (p, 9, + ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f"); + add_srs_wkt (p, 10, + "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E"); + add_srs_wkt (p, 11, + "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\""); + add_srs_wkt (p, 12, + ",NORTH],AUTHORITY[\"EPSG\",\"32734\"]]"); } Index: src/srsinit/epsg_inlined_wgs84_01.c ================================================================== --- src/srsinit/epsg_inlined_wgs84_01.c +++ src/srsinit/epsg_inlined_wgs84_01.c @@ -1,10 +1,10 @@ /* helper function for srs_init.c -- populating the SPATIAL_REF_SYS table - this code was autogenerated by "auto_epsg_ext" on Wed May 27 18:50:23 2015 + this code was autogenerated by "auto_epsg_ext" on Fri Dec 5 11:07:13 2014 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -41,56 +41,17 @@ the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - #include SPATIALITE_PRIVATE void initialize_epsg_wgs84_01 (int filter, struct epsg_defs **first, struct epsg_defs **last) { /* initializing the EPSG defs list [WGS84] */ struct epsg_defs *p; - p = add_epsg_def_ex (filter, first, last, 32734, "epsg", 32734, - "WGS 84 / UTM zone 34S", 0, 0, - "WGS 84", "Greenwich", - "WGS_1984", "Transverse_Mercator", "metre", - "Easting", "East", "Northing", "North"); - add_proj4text (p, 0, - "+proj=utm +zone=34 +south +datum=WGS84 +units=m +no_defs"); - add_srs_wkt (p, 0, - "PROJCS[\"WGS 84 / UTM zone 34S\",GEOGCS[\"WGS 84\",DATUM"); - add_srs_wkt (p, 1, - "[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,"); - add_srs_wkt (p, 2, - "AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\""); - add_srs_wkt (p, 3, - "]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"); - add_srs_wkt (p, 4, - "UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\""); - add_srs_wkt (p, 5, - "9122\"]],AXIS[\"Latitude\",NORTH],AXIS[\"Longitude\",EAS"); - add_srs_wkt (p, 6, - "T],AUTHORITY[\"EPSG\",\"4326\"]],PROJECTION[\"Transverse"); - add_srs_wkt (p, 7, - "_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMET"); - add_srs_wkt (p, 8, - "ER[\"central_meridian\",21],PARAMETER[\"scale_factor\",0"); - add_srs_wkt (p, 9, - ".9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"f"); - add_srs_wkt (p, 10, - "alse_northing\",10000000],UNIT[\"metre\",1,AUTHORITY[\"E"); - add_srs_wkt (p, 11, - "PSG\",\"9001\"]],AXIS[\"Easting\",EAST],AXIS[\"Northing\""); - add_srs_wkt (p, 12, - ",NORTH],AUTHORITY[\"EPSG\",\"32734\"]]"); p = add_epsg_def_ex (filter, first, last, 32735, "epsg", 32735, "WGS 84 / UTM zone 35S", 0, 0, "WGS 84", "Greenwich", "WGS_1984", "Transverse_Mercator", "metre", "Easting", "East", "Northing", "North"); Index: src/srsinit/epsg_update/Makefile.am ================================================================== --- src/srsinit/epsg_update/Makefile.am +++ src/srsinit/epsg_update/Makefile.am @@ -1,4 +1,4 @@ EXTRA_DIST = README.txt README-obsolete.txt auto_epsg.c \ - epsg_from_gdal.c auto_epsg_ext.c check_srid_spatialite.sh + epsg_from_gdal.c auto_epsg_ext.c Index: src/srsinit/epsg_update/Makefile.in ================================================================== --- src/srsinit/epsg_update/Makefile.in +++ src/srsinit/epsg_update/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/srsinit/epsg_update +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -250,11 +239,11 @@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = README.txt README-obsolete.txt auto_epsg.c \ - epsg_from_gdal.c auto_epsg_ext.c check_srid_spatialite.sh + epsg_from_gdal.c auto_epsg_ext.c all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @@ -267,10 +256,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/srsinit/epsg_update/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/srsinit/epsg_update/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -441,11 +431,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/srsinit/epsg_update/README.txt ================================================================== --- src/srsinit/epsg_update/README.txt +++ src/srsinit/epsg_update/README.txt @@ -18,11 +18,11 @@ Linux: # gcc epsg_from_gdal.c -o epsg_from_gdal -lgdal Windows [MinGW]: -# gcc -I/usr/local/include epsg_from_gdal.c -o epsg_from_gdal.exe \ +# gcc -I/usr/local/include epsg_from_gdal.c -o epsg_from_gdal,exe \ -L/usr/local/lib -lgdal STEP #2: getting the basic EPSG file @@ -62,18 +62,5 @@ rm ../epsg_inlined*.c cp epsg_inlined*.c .. - be sure to update as required the repository (ADD/DEL) - be sure to update as required Makefile.am - and finally commit into the repository - - - -STEP #6: pre-release final check --------- -- after building and installing the new libspatialite - incorporating the most recent SRSes defined by GDAL - always remember to run from the shell the test script: - ./check_srid_spatialite.sh - -- then carefully check for any possible error detected - by the above mentioned test script - Index: src/srsinit/epsg_update/auto_epsg.c ================================================================== --- src/srsinit/epsg_update/auto_epsg.c +++ src/srsinit/epsg_update/auto_epsg.c @@ -1700,19 +1700,19 @@ fprintf (out, " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]], AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],\");\n"); fprintf (out, " add_srs_wkt(p,5,\"PRIMEM[\\\"ferro\\\",-17.66666666666667],UNIT[\\\"Degree\\\",0.017453292519943295,\");\n"); fprintf (out, - " add_srs_wkt(p,6,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187998\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]]]\");\n"); + " add_srs_wkt(p,6,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187998\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]]\");\n"); fprintf (out, - "/* mj10777: Not existing System, used for testing purposes. */\n"); + "/* mj10777: Not exsiting System, used for testing purposes. */\n"); fprintf (out, " p = add_epsg_def(filter,first,last,187999,\"mj10777.de\",187999,\"DHDN / Brandenburger Tor\");\n"); fprintf (out, " add_proj4text(p,0,\"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 \");\n"); fprintf (out, - " add_proj4text(p,1,\"+x_0=16816.615499858 +y_0=-11047.322499366 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n"); + " add_proj4text(p,1,\"+x_0=16819.76033675660074 +y_0=-11046.08218553455117 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n"); fprintf (out, " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner Brandenburger Tor\\\",\");\n"); fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n"); fprintf (out, " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n"); @@ -1731,11 +1731,11 @@ fprintf (out, " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.41864827777778],\");\n"); fprintf (out, " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.62720366666667],\");\n"); fprintf (out, - " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",16816.615499858],PARAMETER[\\\"false_northing\\\",-11047.322499366],\");\n"); + " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",16819.76033675660074],PARAMETER[\\\"false_northing\\\",-11046.08218553455117],\");\n"); fprintf (out, " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187999\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n"); fprintf (out, " p = add_epsg_def (filter,first, last, 325833, \"mj10777.de\", 325833,\"ETRS89 / UTM zone 33N (Brandenburg)\");\n"); fprintf (out, Index: src/srsinit/epsg_update/auto_epsg_ext.c ================================================================== --- src/srsinit/epsg_update/auto_epsg_ext.c +++ src/srsinit/epsg_update/auto_epsg_ext.c @@ -70,12 +70,12 @@ free (p->proj4text); if (p->srtext) free (p->srtext); if (p->spheroid) free (p->spheroid); - if (p->prime_meridian) - free (p->prime_meridian); + if (p->prime_meridian) + free(p->prime_meridian); if (p->datum) free (p->datum); if (p->projection) free (p->projection); if (p->unit) @@ -110,12 +110,11 @@ static void epsg_insert (struct epsg_dict *epsg, int srid, int is_geographic, int flipped_axes, const char *unit, const char *axis_1, const char *orientation_1, const char *axis_2, - const char *orientation_2, const char *spheroid, - const char *prime_meridian, const char *datum, + const char *orientation_2, const char *spheroid, const char *prime_meridian, const char *datum, const char *projection, const char *name, const char *proj4text, const char *srtext) { /* inserting an entry into the EPSG dictionary */ int len; @@ -148,13 +147,13 @@ p->orientation_2 = malloc (len + 1); strcpy (p->orientation_2, orientation_2); len = strlen (spheroid); p->spheroid = malloc (len + 1); strcpy (p->spheroid, spheroid); - len = strlen (prime_meridian); - p->prime_meridian = malloc (len + 1); - strcpy (p->prime_meridian, prime_meridian); + len = strlen(prime_meridian); + p->prime_meridian = malloc(len + 1); + strcpy(p->prime_meridian, prime_meridian); len = strlen (datum); p->datum = malloc (len + 1); strcpy (p->datum, datum); len = strlen (projection); p->projection = malloc (len + 1); @@ -259,13 +258,12 @@ if (out != NULL) *out = '\0'; if (!err) epsg_insert (epsg, atoi (srid), atoi (is_geographic), atoi (flipped_axes), unit, axis_1, - orientation_1, axis_2, orientation_2, spheroid, - prime_meridian, datum, projection, name, - proj4text, srtext); + orientation_1, axis_2, orientation_2, spheroid, prime_meridian, + datum, projection, name, proj4text, srtext); row_no++; *srid = '\0'; *is_geographic = '\0'; *flipped_axes = '\0'; *unit = '\0'; @@ -1730,19 +1728,19 @@ fprintf (out, " add_srs_wkt(p,4,\"AUTHORITY[\\\"EPSG\\\",\\\"7004\\\"]], AUTHORITY[\\\"EPSG\\\",\\\"6314\\\"]],\");\n"); fprintf (out, " add_srs_wkt(p,5,\"PRIMEM[\\\"ferro\\\",-17.66666666666667],UNIT[\\\"Degree\\\",0.017453292519943295,\");\n"); fprintf (out, - " add_srs_wkt(p,6,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187998\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]]]\");\n"); + " add_srs_wkt(p,6,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187998\\\"]],AUTHORITY[\\\"EPSG\\\",\\\"4314\\\"]]\");\n"); fprintf (out, - "/* mj10777: Not existing System, used for testing purposes. */\n"); + "/* mj10777: Not exsiting System, used for testing purposes. */\n"); fprintf (out, " p = add_epsg_def(filter,first,last,187999,\"mj10777.de\",187999,\"DHDN / Brandenburger Tor\");\n"); fprintf (out, " add_proj4text(p,0,\"+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 \");\n"); fprintf (out, - " add_proj4text(p,1,\"+x_0=16816.615499858 +y_0=-11047.322499366 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n"); + " add_proj4text(p,1,\"+x_0=16819.76033675660074 +y_0=-11046.08218553455117 +ellps=bessel +datum=potsdam +units=m +no_defs\");\n"); fprintf (out, " add_srs_wkt(p,0,\"PROJCS[\\\"DHDN / Soldner Brandenburger Tor\\\",\");\n"); fprintf (out, " add_srs_wkt(p,1,\"GEOGCS[\\\"DHDN\\\",\");\n"); fprintf (out, " add_srs_wkt(p,2,\"DATUM[\\\"Deutsches_Hauptdreiecksnetz\\\",SPHEROID[\\\"Bessel 1841\\\",\");\n"); @@ -1761,11 +1759,11 @@ fprintf (out, " add_srs_wkt(p,9,\"PARAMETER[\\\"latitude_of_origin\\\",52.41864827777778],\");\n"); fprintf (out, " add_srs_wkt(p,10,\"PARAMETER[\\\"central_meridian\\\",13.62720366666667],\");\n"); fprintf (out, - " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",16816.615499858],PARAMETER[\\\"false_northing\\\",-11047.322499366],\");\n"); + " add_srs_wkt(p,11,\"PARAMETER[\\\"false_easting\\\",16819.76033675660074],PARAMETER[\\\"false_northing\\\",-11046.08218553455117],\");\n"); fprintf (out, " add_srs_wkt(p,12,\"AUTHORITY[\\\"mj10777.de\\\",\\\"187999\\\"],AXIS[\\\"x\\\",NORTH],AXIS[\\\"y\\\",EAST]]\");\n"); fprintf (out, " p = add_epsg_def (filter,first, last, 325833, \"mj10777.de\", 325833,\"ETRS89 / UTM zone 33N (Brandenburg)\");\n"); fprintf (out, @@ -1853,13 +1851,11 @@ "and other provisions required by the GPL or the LGPL. If you do not delete\n"); fprintf (out, "the provisions above, a recipient may use your version of this file under\n"); fprintf (out, "the terms of any one of the MPL, the GPL or the LGPL.\n\n*/\n\n"); - fprintf (out, "#if defined(_WIN32) && !defined(__MINGW32__)\n"); - fprintf (out, "#include \"config-msvc.h\"\n#else\n"); - fprintf (out, "#include \"config.h\"\n#endif\n\n"); + fprintf (out, "#include \"config.h\"\n\n"); fprintf (out, "#include \n\n"); if (macro) fprintf (out, "#ifndef OMIT_EPSG /* full EPSG initialization enabled */\n\n"); @@ -1938,11 +1934,12 @@ p->srid, p->srid); fprintf (out, " \"%s\", %d, %d,\n", p->ref_sys_name, p->is_geographic, p->flipped_axes); fprintf (out, - " \"%s\", \"%s\",\n", p->spheroid, p->prime_meridian); + " \"%s\", \"%s\",\n", + p->spheroid, p->prime_meridian); fprintf (out, " \"%s\", \"%s\", \"%s\",\n", p->datum, p->projection, p->unit); fprintf (out, " \"%s\", \"%s\", \"%s\", \"%s\");\n", @@ -2072,11 +2069,12 @@ p->srid, p->srid); fprintf (out, " \"%s\", %d, %d,\n", p->ref_sys_name, p->is_geographic, p->flipped_axes); fprintf (out, - " \"%s\", \"%s\",\n", p->spheroid, p->prime_meridian); + " \"%s\", \"%s\",\n", + p->spheroid, p->prime_meridian); fprintf (out, " \"%s\", \"%s\", \"%s\",\n", p->datum, p->projection, p->unit); fprintf (out, " \"%s\", \"%s\", \"%s\", \"%s\");\n", DELETED src/srsinit/epsg_update/check_srid_spatialite.sh Index: src/srsinit/epsg_update/check_srid_spatialite.sh ================================================================== --- src/srsinit/epsg_update/check_srid_spatialite.sh +++ src/srsinit/epsg_update/check_srid_spatialite.sh @@ -1,240 +0,0 @@ -#"/bin/bash -# ./check_srid_spatialite.sh -#------------------------------------------------------------------------------- -RED='\033[0;31m'; -BRED='\033[1;31m' # Red -BOLD='\033[1m' # \x1B[31m -CYAN='\033[0;36m'; -BCYAN='\033[1;36m' # Cyan -BROWN='\033[0;33m'; -BBROWN='\033[1;33m' # Cyan -GREEN='\033[0;32m'; -BGREEN='\033[1;32m' # Green -NC='\033[0m' # No Color -# echo -e "\033[1mThis is bold text.\033[0m" -#------------------------------------------------------------------------------- -BENE="'${GREEN}Tutto bene!${NC}'"; -BENENO="'${BRED}No bene!${NC}'"; -HABE_FERTIG="${BOLD}Ich habe fertig.${NC}"; -BASE_NAME=`basename $0`; -BASE_NAME_CUT=`basename $0 | cut -d '.' -f1`; -MTI="${GREEN}-I->${NC}"; -MTW="${BROWN}-W->${NC}"; -MTE="${BRED}-E->${NC}"; -MESSAGE_TYPE=${MTI}; -FORCE_CREATE_DB=0; -VALGRIND_USE=0; -CMD_SPATIALITE=`which spatialite`; -CMD_GDALSRSINFO=`which gdalsrsinfo`; -CMD_SQLITE3=`which sqlite3`; -CMD_VALGRIND=`which valgrind`; -exit_rc=0; -# export "SPATIALITE_SECURITY=relaxed" -#------------------------------------------------------------------------------- -# DateTime functions -# - convert a date into a UNIX timestamp -# dt_unix_start=$(date2stamp "now"); -# echo "convert a date into a UNIX timestamp [" $dt_unix_start "]"; -#------------------------------------------------------------------------------- -date2stamp() -{ - date --utc --date "$1" +%s -} -#------------------------------------------------------------------------------- -# DateTime functions -# calculate different in seconds from 2 timestamps -# dt_diff=$(daterun $dt_unix_start $dt_unix_end); -# echo "difference [" $dt_diff "]"; -#------------------------------------------------------------------------------- -daterun() -{ - let diffSec=${2}-${1}; - echo $diffSec; -} -#------------------------------------------------------------------------------- -# DateTime functions -# from from seconds from 2 timestamps -# dt_diff=$(daterun $1 $2); -# echo $(displaytime $dt_diff); -#------------------------------------------------------------------------------- -function displaytime -{ - local T=$1; - local D=$((T/60/60/24)); - local H=$((T/60/60%24)); - local M=$((T/60%60)); - local S=$((T%60)); - RESULT=""; - if [ $D -gt 0 ] - then - RESULT="${RESULT}$D days "; - fi - if [ $H -gt 0 ] || [ ! -z "${RESULT}" ] - then - RESULT="${RESULT}$H hrs "; - fi - if [ $M -gt 0 ] || [ ! -z "${RESULT}" ] - then - RESULT="${RESULT}$M min "; - fi - RESULT="${RESULT}$S sec"; - echo ${RESULT}; -} -#------------------------------------------------------------------------------- -# DateTime functions -# calculate different in seconds from 2 timestamps -# echo "run_time [" $(run_time $dt_diff) "]" -#------------------------------------------------------------------------------- -run_time() -{ - dt_diff=$(daterun $1 $2); - echo $(displaytime "$dt_diff"); -} -#------------------------------------------------------------------------------- -# Start of script -#------------------------------------------------------------------------------- -dt_unix_start=$(date2stamp "now"); -#------------------------------------------------------------------------------- -# Adapt db/sql diretory path where needed -#------------------------------------------------------------------------------- -DIR_ERROR_SRID="srid_error"; -DB_FILE="check_srid.db"; -CSV_FILE="check_srid.csv"; -SQL_CHECK="SELECT srid||'#'||srtext||'\n' FROM spatial_ref_sys WHERE srtext <> 'Undefined';"; -SQL_FILE="check_srid.sql"; -#------------------------------------------------------------------------------- -if [ -f "${DB_FILE}" ] -then - rm ${DB_FILE}; -fi -if [ -f "${CSV_FILE}" ] -then - rm ${CSV_FILE}; -fi -if [ -f "${SQL_FILE}" ] -then - rm ${SQL_FILE}; -fi -#------------------------------------------------------------------------------- -exit_rc=100; -if [ ! -f "${DB_DB_FILE}" ] -then - if [ ! -f "${SQL_FILE}" ] - then - echo ${SQL_CHECK} > ${SQL_FILE}; - fi - echo -e "${MTI} Database will be created[${DB_PATH}] and a dump of spatial_ref_sys made [${CSV_FILE}]."; - RESULT_TEST=`${CMD_SPATIALITE} ${DB_PATH} < ${SQL_FILE}`; - if [ ! -z "${RESULT_TEST}" ] - then - echo -e ${RESULT_TEST} > ${CSV_FILE}; - else - echo -e "${MTE} db-creation failed rc[${DB_PATH}]"; - fi - if [ -f "${CSV_FILE}" ] - then - exit_rc=0; - fi -fi -#------------------------------------------------------------------------------- -count_line=0; -count_srid=0; -count_srid_error=0; -count_srid_ok=0; -declare -a ARRAY_SRID=( ); -declare -a ARRAY_SRTEXT=( ); -OUTPUT_FILE_SRID="srid_check.txt"; -if [ "$exit_rc" -eq "0" ] -then - while read line - do - # line=${CONFIG_FILE_READ_ARRAY[$Config_File_Line_Nr]} - ((count_line++)); - IFS_SAVE=$IFS; - IFS='#' - INPUT_STR_ARRAY=( ${line} ); - IFS=$IFS_SAVE; - SRID_TEXT="${INPUT_STR_ARRAY[0]}"; - SRTEXT_TEXT="${INPUT_STR_ARRAY[1]}"; - if [ ! -z "${SRID_TEXT}" ] && [ ! -z "${SRTEXT_TEXT}" ] - then - ((count_srid++)); - echo -e ${SRTEXT_TEXT} > ${OUTPUT_FILE_SRID}; - if [ -f "${OUTPUT_FILE_SRID}" ] - then - RESULT_TEST=`${CMD_GDALSRSINFO} ${OUTPUT_FILE_SRID} 2>&1`; - exit_rc=$? - # echo "-I-> result_text[${RESULT_TEST}]"; - if [ ! -z "${RESULT_TEST}" ] - then - srid_rc=0; - case ${RESULT_TEST} in ERROR*) - srid_rc=1; - esac - if [ "$srid_rc" -eq "0" ] - then - echo -e "${MTI} gdalsrsinfo for srid[${SRID_TEXT}] rc[${srid_rc}] "; - ((count_srid_ok++)); - else - ((count_srid_error++)); - if [ ! -d "$DIR_ERROR_SRID" ] - then - echo -e "${MTW} creating srid-error directory[${DIR_ERROR_SRID}]"; - mkdir $DIR_ERROR_SRID - fi - OUTPUT_FILE_SRID_ERROR="${DIR_ERROR_SRID}/srid_${SRID_TEXT}.txt"; - echo -e ${SRTEXT_TEXT} > ${OUTPUT_FILE_SRID_ERROR}; - echo -e "${MTE} srid[${SRID_TEXT}] srtext['${SRTEXT_TEXT}'] "; - fi - fi - fi - fi - #------------------------------------------------------------------------------ - line_prev=$line; - #------------------------------------------------------------------------------ - done < "${CSV_FILE}"; - #------------------------------------------------------------------------------ -fi -#------------------------------------------------------------------------------- -echo -e "${MTI} removing work files (database, sql, csv and srid-output)"; -if [ -f "${DB_DB_FILE}" ] -then - rm ${DB_DB_FILE}M -fi -if [ -f "${SQL_FILE}" ] -then - rm ${SQL_FILE}; -fi -if [ -f "${CSV_FILE}" ] -then - rm ${CSV_FILE}; -fi -if [ -f "${OUTPUT_FILE_SRID}" ] -then - rm ${OUTPUT_FILE_SRID}; -fi -#------------------------------------------------------------------------------- -if [ "$count_srid_error" -eq "0" ] -then - exit_rc=0; - echo -e "${MTI} gdalsrsinfo checked ${count_srid} srids. correct[${count_srid_ok}] errors[${count_srid_error}] "; -else - exit_rc=10; - echo -e "${MTE} gdalsrsinfo checked ${count_srid} srids. correct[${count_srid_ok}] errors[${count_srid_error}] "; -fi -#------------------------------------------------------------------------------- -dt_unix_end=$(date2stamp "now"); -dt_run=$(run_time $dt_unix_start $dt_unix_end) -if [ "$exit_rc" -eq "0" ] -then - RC_TEXT=$BENE; - TIME_RUN="time_run[${GREEN}$dt_run${NC}]" -else - TIME_RUN="time_run[${BRED}$dt_run${NC}]" - RC_TEXT="$BENENO"; - MESSAGE_TYPE=${MTE}; -fi -echo -e "${MESSAGE_TYPE} ${BASE_NAME_CUT} rc=$exit_rc - ${TIME_RUN} - [${RC_TEXT}] - ${HABE_FERTIG}"; -exit $exit_rc; -#------------------------------------------------------------------------------- - Index: src/srsinit/epsg_update/epsg_from_gdal.c ================================================================== --- src/srsinit/epsg_update/epsg_from_gdal.c +++ src/srsinit/epsg_update/epsg_from_gdal.c @@ -6,11 +6,11 @@ / / version 1.0, 2014 December 2014 / / Author: Sandro Furieri a.furieri@lqt.it / -/ Copyright (C) 2014 Alessandro Furieri +/ Copyright (C) 20141 Alessandro Furieri / / This program is free software: you can redistribute it and/or modify / it under the terms of the GNU General Public License as published by / the Free Software Foundation, either version 3 of the License, or / (at your option) any later version. Index: src/srsinit/srs_init.c ================================================================== --- src/srsinit/srs_init.c +++ src/srsinit/srs_init.c @@ -1,10 +1,10 @@ /* srs_init.c -- populating the SPATIAL_REF_SYS table - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -69,12 +69,12 @@ free (ptr->proj4text); if (ptr->srs_wkt) free (ptr->srs_wkt); if (ptr->spheroid) free (ptr->spheroid); - if (ptr->prime_meridian) - free (ptr->prime_meridian); + if (ptr->prime_meridian) + free(ptr->prime_meridian); if (ptr->datum) free (ptr->datum); if (ptr->projection) free (ptr->projection); if (ptr->unit) @@ -160,12 +160,11 @@ SPATIALITE_PRIVATE struct epsg_defs * add_epsg_def_ex (int filter_srid, struct epsg_defs **first, struct epsg_defs **last, int srid, const char *auth_name, int auth_srid, const char *ref_sys_name, int is_geographic, - int flipped_axes, const char *spheroid, - const char *prime_meridian, const char *datum, + int flipped_axes, const char *spheroid, const char *prime_meridian, const char *datum, const char *projection, const char *unit, const char *axis_1, const char *orientation_1, const char *axis_2, const char *orientation_2) { /* appending an EPSG def to the list */ @@ -442,12 +441,11 @@ spatialite_e ("%s\n", sqlite3_errmsg (handle)); goto error; } /* preparing the SQL parameterized statement (aux) */ strcpy (sql, "INSERT INTO spatial_ref_sys_aux "); - strcat (sql, - "(srid, is_geographic, has_flipped_axes, spheroid, prime_meridian, "); + strcat (sql, "(srid, is_geographic, has_flipped_axes, spheroid, prime_meridian, "); strcat (sql, "datum, projection, unit, axis_1_name, axis_1_orientation, "); strcat (sql, "axis_2_name, axis_2_orientation) "); strcat (sql, "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_aux, NULL); if (ret != SQLITE_OK) @@ -606,12 +604,12 @@ free_epsg (first); return 0; } -SPATIALITE_PRIVATE int -exists_spatial_ref_sys (void *p_sqlite) +static int +exists_spatial_ref_sys (sqlite3 * handle) { /* checking if the SPATIAL_REF_SYS table exists */ int ret; int ok = 0; char sql[1024]; @@ -618,12 +616,10 @@ char **results; int n_rows; int n_columns; char *err_msg = NULL; - sqlite3 *handle = (sqlite3 *) p_sqlite; - strcpy (sql, "SELECT name FROM sqlite_master WHERE type = 'table' AND name LIKE 'spatial_ref_sys'"); ret = sqlite3_get_table (handle, sql, &results, &n_rows, &n_columns, &err_msg); @@ -829,12 +825,11 @@ error = 1; goto stop; } /* preparing the SQL parameterized statement (aux) */ strcpy (sql, "INSERT INTO spatial_ref_sys_aux "); - strcat (sql, - "(srid, is_geographic, has_flipped_axes, spheroid, prime_meridian, "); + strcat (sql, "(srid, is_geographic, has_flipped_axes, spheroid, prime_meridian, "); strcat (sql, "datum, projection, unit, axis_1_name, axis_1_orientation, "); strcat (sql, "axis_2_name, axis_2_orientation) "); strcat (sql, "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt_aux, NULL); if (ret != SQLITE_OK) DELETED src/topology/Makefile.am Index: src/topology/Makefile.am ================================================================== --- src/topology/Makefile.am +++ src/topology/Makefile.am @@ -1,39 +0,0 @@ - -AM_CPPFLAGS = @CFLAGS@ -AM_CPPFLAGS += -I$(top_srcdir)/src/headers -I. - -noinst_HEADERS = topology_private.h \ - network_private.h \ - lwn_network.h \ - lwn_network_private.h -noinst_LTLIBRARIES = libtopology.la topology.la - -libtopology_la_SOURCES = gaia_topology.c \ - gaia_auxtopo.c \ - gaia_auxtopo_table.c \ - gaia_topostmts.c \ - topo_callbacks.c \ - lwn_network.c \ - gaia_network.c \ - gaia_auxnet.c \ - gaia_netstmts.c \ - net_callbacks.c - -topology_la_SOURCES = gaia_topology.c \ - gaia_auxtopo.c \ - gaia_auxtopo_table.c \ - gaia_topostmts.c \ - topo_callbacks.c \ - lwn_network.c \ - gaia_network.c \ - gaia_auxnet.c \ - gaia_netstmts.c \ - net_callbacks.c - -topology_la_CPPFLAGS = @CFLAGS@ -topology_la_CPPFLAGS += -I$(top_srcdir)/src/headers -I. -topology_la_CPPFLAGS += -DLOADABLE_EXTENSION -topology_la_LDFLAGS = -module -topology_la_LIBTOOLFLAGS = --tag=disable-static - -MOSTLYCLEANFILES = *.gcna *.gcno *.gcda DELETED src/topology/Makefile.in Index: src/topology/Makefile.in ================================================================== --- src/topology/Makefile.in +++ src/topology/Makefile.in @@ -1,739 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/topology -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \ - $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LTLIBRARIES = $(noinst_LTLIBRARIES) -libtopology_la_LIBADD = -am_libtopology_la_OBJECTS = gaia_topology.lo gaia_auxtopo.lo \ - gaia_auxtopo_table.lo gaia_topostmts.lo topo_callbacks.lo \ - lwn_network.lo gaia_network.lo gaia_auxnet.lo gaia_netstmts.lo \ - net_callbacks.lo -libtopology_la_OBJECTS = $(am_libtopology_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -topology_la_LIBADD = -am_topology_la_OBJECTS = topology_la-gaia_topology.lo \ - topology_la-gaia_auxtopo.lo topology_la-gaia_auxtopo_table.lo \ - topology_la-gaia_topostmts.lo topology_la-topo_callbacks.lo \ - topology_la-lwn_network.lo topology_la-gaia_network.lo \ - topology_la-gaia_auxnet.lo topology_la-gaia_netstmts.lo \ - topology_la-net_callbacks.lo -topology_la_OBJECTS = $(am_topology_la_OBJECTS) -topology_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ - $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ - $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(topology_la_LDFLAGS) \ - $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libtopology_la_SOURCES) $(topology_la_SOURCES) -DIST_SOURCES = $(libtopology_la_SOURCES) $(topology_la_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -HEADERS = $(noinst_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -AM_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I. -noinst_HEADERS = topology_private.h \ - network_private.h \ - lwn_network.h \ - lwn_network_private.h - -noinst_LTLIBRARIES = libtopology.la topology.la -libtopology_la_SOURCES = gaia_topology.c \ - gaia_auxtopo.c \ - gaia_auxtopo_table.c \ - gaia_topostmts.c \ - topo_callbacks.c \ - lwn_network.c \ - gaia_network.c \ - gaia_auxnet.c \ - gaia_netstmts.c \ - net_callbacks.c - -topology_la_SOURCES = gaia_topology.c \ - gaia_auxtopo.c \ - gaia_auxtopo_table.c \ - gaia_topostmts.c \ - topo_callbacks.c \ - lwn_network.c \ - gaia_network.c \ - gaia_auxnet.c \ - gaia_netstmts.c \ - net_callbacks.c - -topology_la_CPPFLAGS = @CFLAGS@ -I$(top_srcdir)/src/headers -I. \ - -DLOADABLE_EXTENSION -topology_la_LDFLAGS = -module -topology_la_LIBTOOLFLAGS = --tag=disable-static -MOSTLYCLEANFILES = *.gcna *.gcno *.gcda -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/topology/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/topology/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLTLIBRARIES: - -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) - @list='$(noinst_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -libtopology.la: $(libtopology_la_OBJECTS) $(libtopology_la_DEPENDENCIES) $(EXTRA_libtopology_la_DEPENDENCIES) - $(AM_V_CCLD)$(LINK) $(libtopology_la_OBJECTS) $(libtopology_la_LIBADD) $(LIBS) - -topology.la: $(topology_la_OBJECTS) $(topology_la_DEPENDENCIES) $(EXTRA_topology_la_DEPENDENCIES) - $(AM_V_CCLD)$(topology_la_LINK) $(topology_la_OBJECTS) $(topology_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaia_auxnet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaia_auxtopo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaia_auxtopo_table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaia_netstmts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaia_network.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaia_topology.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gaia_topostmts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lwn_network.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/net_callbacks.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topo_callbacks.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-gaia_auxnet.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-gaia_auxtopo.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-gaia_auxtopo_table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-gaia_netstmts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-gaia_network.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-gaia_topology.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-gaia_topostmts.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-lwn_network.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-net_callbacks.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/topology_la-topo_callbacks.Plo@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -topology_la-gaia_topology.lo: gaia_topology.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-gaia_topology.lo -MD -MP -MF $(DEPDIR)/topology_la-gaia_topology.Tpo -c -o topology_la-gaia_topology.lo `test -f 'gaia_topology.c' || echo '$(srcdir)/'`gaia_topology.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-gaia_topology.Tpo $(DEPDIR)/topology_la-gaia_topology.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gaia_topology.c' object='topology_la-gaia_topology.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-gaia_topology.lo `test -f 'gaia_topology.c' || echo '$(srcdir)/'`gaia_topology.c - -topology_la-gaia_auxtopo.lo: gaia_auxtopo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-gaia_auxtopo.lo -MD -MP -MF $(DEPDIR)/topology_la-gaia_auxtopo.Tpo -c -o topology_la-gaia_auxtopo.lo `test -f 'gaia_auxtopo.c' || echo '$(srcdir)/'`gaia_auxtopo.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-gaia_auxtopo.Tpo $(DEPDIR)/topology_la-gaia_auxtopo.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gaia_auxtopo.c' object='topology_la-gaia_auxtopo.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-gaia_auxtopo.lo `test -f 'gaia_auxtopo.c' || echo '$(srcdir)/'`gaia_auxtopo.c - -topology_la-gaia_auxtopo_table.lo: gaia_auxtopo_table.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-gaia_auxtopo_table.lo -MD -MP -MF $(DEPDIR)/topology_la-gaia_auxtopo_table.Tpo -c -o topology_la-gaia_auxtopo_table.lo `test -f 'gaia_auxtopo_table.c' || echo '$(srcdir)/'`gaia_auxtopo_table.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-gaia_auxtopo_table.Tpo $(DEPDIR)/topology_la-gaia_auxtopo_table.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gaia_auxtopo_table.c' object='topology_la-gaia_auxtopo_table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-gaia_auxtopo_table.lo `test -f 'gaia_auxtopo_table.c' || echo '$(srcdir)/'`gaia_auxtopo_table.c - -topology_la-gaia_topostmts.lo: gaia_topostmts.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-gaia_topostmts.lo -MD -MP -MF $(DEPDIR)/topology_la-gaia_topostmts.Tpo -c -o topology_la-gaia_topostmts.lo `test -f 'gaia_topostmts.c' || echo '$(srcdir)/'`gaia_topostmts.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-gaia_topostmts.Tpo $(DEPDIR)/topology_la-gaia_topostmts.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gaia_topostmts.c' object='topology_la-gaia_topostmts.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-gaia_topostmts.lo `test -f 'gaia_topostmts.c' || echo '$(srcdir)/'`gaia_topostmts.c - -topology_la-topo_callbacks.lo: topo_callbacks.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-topo_callbacks.lo -MD -MP -MF $(DEPDIR)/topology_la-topo_callbacks.Tpo -c -o topology_la-topo_callbacks.lo `test -f 'topo_callbacks.c' || echo '$(srcdir)/'`topo_callbacks.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-topo_callbacks.Tpo $(DEPDIR)/topology_la-topo_callbacks.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='topo_callbacks.c' object='topology_la-topo_callbacks.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-topo_callbacks.lo `test -f 'topo_callbacks.c' || echo '$(srcdir)/'`topo_callbacks.c - -topology_la-lwn_network.lo: lwn_network.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-lwn_network.lo -MD -MP -MF $(DEPDIR)/topology_la-lwn_network.Tpo -c -o topology_la-lwn_network.lo `test -f 'lwn_network.c' || echo '$(srcdir)/'`lwn_network.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-lwn_network.Tpo $(DEPDIR)/topology_la-lwn_network.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lwn_network.c' object='topology_la-lwn_network.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-lwn_network.lo `test -f 'lwn_network.c' || echo '$(srcdir)/'`lwn_network.c - -topology_la-gaia_network.lo: gaia_network.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-gaia_network.lo -MD -MP -MF $(DEPDIR)/topology_la-gaia_network.Tpo -c -o topology_la-gaia_network.lo `test -f 'gaia_network.c' || echo '$(srcdir)/'`gaia_network.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-gaia_network.Tpo $(DEPDIR)/topology_la-gaia_network.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gaia_network.c' object='topology_la-gaia_network.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-gaia_network.lo `test -f 'gaia_network.c' || echo '$(srcdir)/'`gaia_network.c - -topology_la-gaia_auxnet.lo: gaia_auxnet.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-gaia_auxnet.lo -MD -MP -MF $(DEPDIR)/topology_la-gaia_auxnet.Tpo -c -o topology_la-gaia_auxnet.lo `test -f 'gaia_auxnet.c' || echo '$(srcdir)/'`gaia_auxnet.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-gaia_auxnet.Tpo $(DEPDIR)/topology_la-gaia_auxnet.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gaia_auxnet.c' object='topology_la-gaia_auxnet.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-gaia_auxnet.lo `test -f 'gaia_auxnet.c' || echo '$(srcdir)/'`gaia_auxnet.c - -topology_la-gaia_netstmts.lo: gaia_netstmts.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-gaia_netstmts.lo -MD -MP -MF $(DEPDIR)/topology_la-gaia_netstmts.Tpo -c -o topology_la-gaia_netstmts.lo `test -f 'gaia_netstmts.c' || echo '$(srcdir)/'`gaia_netstmts.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-gaia_netstmts.Tpo $(DEPDIR)/topology_la-gaia_netstmts.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gaia_netstmts.c' object='topology_la-gaia_netstmts.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-gaia_netstmts.lo `test -f 'gaia_netstmts.c' || echo '$(srcdir)/'`gaia_netstmts.c - -topology_la-net_callbacks.lo: net_callbacks.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT topology_la-net_callbacks.lo -MD -MP -MF $(DEPDIR)/topology_la-net_callbacks.Tpo -c -o topology_la-net_callbacks.lo `test -f 'net_callbacks.c' || echo '$(srcdir)/'`net_callbacks.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/topology_la-net_callbacks.Tpo $(DEPDIR)/topology_la-net_callbacks.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='net_callbacks.c' object='topology_la-net_callbacks.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(topology_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(topology_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o topology_la-net_callbacks.lo `test -f 'net_callbacks.c' || echo '$(srcdir)/'`net_callbacks.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(LTLIBRARIES) $(HEADERS) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED src/topology/gaia_auxnet.c Index: src/topology/gaia_auxnet.c ================================================================== --- src/topology/gaia_auxnet.c +++ src/topology/gaia_auxnet.c @@ -1,3844 +0,0 @@ -/* - - gaia_auxnet.c -- implementation of the Topology-Network module methods - - version 4.3, 2015 August 12 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#include "network_private.h" -#include "topology_private.h" - -#ifdef _WIN32 -#define strcasecmp _stricmp -#endif /* not WIN32 */ - -#define GAIA_UNUSED() if (argc || argv) argc = argc; - -SPATIALITE_PRIVATE void -free_internal_cache_networks (void *firstNetwork) -{ -/* destroying all Networks registered into the Internal Connection Cache */ - struct gaia_network *p_net = (struct gaia_network *) firstNetwork; - struct gaia_network *p_net_n; - - while (p_net != NULL) - { - p_net_n = p_net->next; - gaiaNetworkDestroy ((GaiaNetworkAccessorPtr) p_net); - p_net = p_net_n; - } -} - -static int -do_create_networks (sqlite3 * handle) -{ -/* attempting to create the Networks table (if not already existing) */ - const char *sql; - char *err_msg = NULL; - int ret; - - sql = "CREATE TABLE IF NOT EXISTS networks (\n" - "\tnetwork_name TEXT NOT NULL PRIMARY KEY,\n" - "\tspatial INTEGER NOT NULL,\n" - "\tsrid INTEGER NOT NULL,\n" - "\thas_z INTEGER NOT NULL,\n" - "\tallow_coincident INTEGER NOT NULL,\n" - "\tnext_node_id INTEGER NOT NULL DEFAULT 1,\n" - "\tnext_link_id INTEGER NOT NULL DEFAULT 1,\n" - "\tCONSTRAINT net_srid_fk FOREIGN KEY (srid) " - "REFERENCES spatial_ref_sys (srid))"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE networks - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating Networks triggers */ - sql = "CREATE TRIGGER IF NOT EXISTS network_name_insert\n" - "BEFORE INSERT ON 'networks'\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'insert on networks violates constraint: " - "network_name value must not contain a single quote')\n" - "WHERE NEW.network_name LIKE ('%''%');\n" - "SELECT RAISE(ABORT,'insert on networks violates constraint: " - "network_name value must not contain a double quote')\n" - "WHERE NEW.network_name LIKE ('%\"%');\n" - "SELECT RAISE(ABORT,'insert on networks violates constraint: " - "network_name value must be lower case')\n" - "WHERE NEW.network_name <> lower(NEW.network_name);\nEND"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - sql = "CREATE TRIGGER IF NOT EXISTS network_name_update\n" - "BEFORE UPDATE OF 'network_name' ON 'networks'\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'update on networks violates constraint: " - "network_name value must not contain a single quote')\n" - "WHERE NEW.network_name LIKE ('%''%');\n" - "SELECT RAISE(ABORT,'update on networks violates constraint: " - "network_name value must not contain a double quote')\n" - "WHERE NEW.network_name LIKE ('%\"%');\n" - "SELECT RAISE(ABORT,'update on networks violates constraint: " - "network_name value must be lower case')\n" - "WHERE NEW.network_name <> lower(NEW.network_name);\nEND"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -check_new_network (sqlite3 * handle, const char *network_name) -{ -/* testing if some already defined DB object forbids creating the new Network */ - char *sql; - char *prev; - char *table; - int ret; - int i; - char **results; - int rows; - int columns; - const char *value; - int error = 0; - -/* testing if the same Network is already defined */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.networks WHERE " - "Lower(network_name) = Lower(%Q)", network_name); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - -/* testing if some table/geom is already defined in geometry_columns */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.geometry_columns WHERE"); - prev = sql; - table = sqlite3_mprintf ("%s_node", network_name); - sql = - sqlite3_mprintf - ("%s (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geometry')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_link", network_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geometry')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - -/* testing if some table is already defined */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM sqlite_master WHERE"); - prev = sql; - table = sqlite3_mprintf ("%s_node", network_name); - sql = sqlite3_mprintf ("%s Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_link", network_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_node_geometry", network_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_link_geometry", network_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - - return 1; -} - -NETWORK_PRIVATE LWN_LINE * -gaianet_convert_linestring_to_lwnline (gaiaLinestringPtr ln, int srid, - int has_z) -{ -/* converting a Linestring into an LWN_LINE */ - int iv; - LWN_LINE *line = lwn_alloc_line (ln->Points, srid, has_z); - for (iv = 0; iv < ln->Points; iv++) - { - double x; - double y; - double z; - double m; - if (ln->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (ln->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (ln->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - line->x[iv] = x; - line->y[iv] = y; - if (has_z) - line->z[iv] = z; - } - return line; -} - -static int -do_create_node (sqlite3 * handle, const char *network_name, int srid, int has_z) -{ -/* attempting to create the Network Node table */ - char *sql; - char *table; - char *xtable; - char *trigger; - char *xtrigger; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_node", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\tnode_id INTEGER PRIMARY KEY AUTOINCREMENT)", - xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE network-NODE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "next_node_ins" trigger */ - trigger = sqlite3_mprintf ("%s_node_next_ins", network_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_node", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER INSERT ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE networks SET next_node_id = NEW.node_id + 1 " - "WHERE Lower(network_name) = Lower(%Q) AND next_node_id < NEW.node_id + 1;\n" - "END", xtrigger, xtable, network_name); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER network-NODE next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "next_node_upd" trigger */ - trigger = sqlite3_mprintf ("%s_node_next_upd", network_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_node", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("CREATE TRIGGER \"%s\" AFTER UPDATE OF node_id ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE networks SET next_node_id = NEW.node_id + 1 " - "WHERE Lower(network_name) = Lower(%Q) AND next_node_id < NEW.node_id + 1;\n" - "END", xtrigger, xtable, network_name); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER network-NODE next UPDATE - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating the Node Geometry */ - table = sqlite3_mprintf ("%s_node", network_name); - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(%Q, 'geometry', %d, 'POINT', %Q)", table, - srid, has_z ? "XYZ" : "XY"); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("AddGeometryColumn network-NODE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating a Spatial Index supporting Node Geometry */ - table = sqlite3_mprintf ("%s_node", network_name); - sql = sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'geometry')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CreateSpatialIndex network-NODE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_link (sqlite3 * handle, const char *network_name, int srid, int has_z) -{ -/* attempting to create the Network Link table */ - char *sql; - char *table; - char *xtable; - char *xconstraint1; - char *xconstraint2; - char *xnodes; - char *trigger; - char *xtrigger; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_link", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_link_node_start_fk", network_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_link_node_end_fk", network_name); - xconstraint2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", network_name); - xnodes = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\tlink_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "\tstart_node INTEGER NOT NULL,\n" - "\tend_node INTEGER NOT NULL,\n" - "\ttimestamp DATETIME,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (start_node) " - "REFERENCES \"%s\" (node_id),\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (end_node) " - "REFERENCES \"%s\" (node_id))", - xtable, xconstraint1, xnodes, xconstraint2, xnodes); - free (xtable); - free (xconstraint1); - free (xconstraint2); - free (xnodes); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE network-LINK - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "next_link_ins" trigger */ - trigger = sqlite3_mprintf ("%s_link_next_ins", network_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_link", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER INSERT ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE networks SET next_link_id = NEW.link_id + 1 " - "WHERE Lower(network_name) = Lower(%Q) AND next_link_id < NEW.link_id + 1;\n" - "\tUPDATE \"%s\" SET timestamp = strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now') " - "WHERE link_id = NEW.link_id;" - "END", xtrigger, xtable, network_name, xtable); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER network-LINK next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "link_update" trigger */ - trigger = sqlite3_mprintf ("%s_link_update", network_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_link", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER UPDATE ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE \"%s\" SET timestamp = strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now') " - "WHERE link_id = NEW.link_id;" - "END", xtrigger, xtable, xtable); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER topology-LINK next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "next_link_upd" trigger */ - trigger = sqlite3_mprintf ("%s_link_next_upd", network_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_link", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("CREATE TRIGGER \"%s\" AFTER UPDATE OF link_id ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE networks SET next_link_id = NEW.link_id + 1 " - "WHERE Lower(network_name) = Lower(%Q) AND next_link_id < NEW.link_id + 1;\n" - "END", xtrigger, xtable, network_name); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER network-LINK next UPDATE - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating the Link Geometry */ - table = sqlite3_mprintf ("%s_link", network_name); - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(%Q, 'geometry', %d, 'LINESTRING', %Q)", - table, srid, has_z ? "XYZ" : "XY"); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("AddGeometryColumn network-LINK - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating a Spatial Index supporting Link Geometry */ - table = sqlite3_mprintf ("%s_link", network_name); - sql = sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'geometry')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CreateSpatialIndex network-LINK - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "start_node" */ - table = sqlite3_mprintf ("%s_link", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_start_node", network_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (start_node)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX link-startnode - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "end_node" */ - table = sqlite3_mprintf ("%s_link", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_end_node", network_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (end_node)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX link-endnode - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "timestamp" */ - table = sqlite3_mprintf ("%s_link", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_timestamp", network_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (timestamp)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX link-timestamps - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_seeds (sqlite3 * handle, const char *network_name, int srid, - int has_z) -{ -/* attempting to create the Network Seeds table */ - char *sql; - char *table; - char *xtable; - char *xconstraint; - char *xlinks; - char *trigger; - char *xtrigger; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_seeds", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_seeds_link_fk", network_name); - xconstraint = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_link", network_name); - xlinks = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\tseed_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "\tlink_id INTEGER NOT NULL,\n" - "\ttimestamp DATETIME,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (link_id) " - "REFERENCES \"%s\" (link_id) ON DELETE CASCADE)", - xtable, xconstraint, xlinks); - free (xtable); - free (xconstraint); - free (xlinks); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE network-SEEDS - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "seeds_ins" trigger */ - trigger = sqlite3_mprintf ("%s_seeds_ins", network_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_seeds", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER INSERT ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE \"%s\" SET timestamp = strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now') " - "WHERE seed_id = NEW.seed_id;" - "END", xtrigger, xtable, xtable); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER network-SEEDS next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "seeds_update" trigger */ - trigger = sqlite3_mprintf ("%s_seeds_update", network_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_seeds", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER UPDATE ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE \"%s\" SET timestamp = strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now') " - "WHERE seed_id = NEW.seed_id;" - "END", xtrigger, xtable, xtable); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER network-SEED next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating the Seeds Geometry */ - table = sqlite3_mprintf ("%s_seeds", network_name); - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(%Q, 'geometry', %d, 'POINT', %Q, 1)", - table, srid, has_z ? "XYZ" : "XY"); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("AddGeometryColumn network-SEEDS - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating a Spatial Index supporting Seeds Geometry */ - table = sqlite3_mprintf ("%s_seeds", network_name); - sql = sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'geometry')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CreateSpatialIndex network-SEEDS - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "link_id" */ - table = sqlite3_mprintf ("%s_seeds", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_link", network_name); - xconstraint = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (link_id)", - xconstraint, xtable); - free (xtable); - free (xconstraint); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX seeds-link - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "timestamp" */ - table = sqlite3_mprintf ("%s_seeds", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_seeds_timestamp", network_name); - xconstraint = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (timestamp)", - xconstraint, xtable); - free (xtable); - free (xconstraint); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX seeds-timestamps - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -GAIANET_DECLARE int -gaiaNetworkCreate (sqlite3 * handle, const char *network_name, int spatial, - int srid, int has_z, int allow_coincident) -{ -/* attempting to create a new Network */ - int ret; - char *sql; - -/* creating the Networks table (just in case) */ - if (!do_create_networks (handle)) - return 0; - -/* testing for forbidding objects */ - if (!check_new_network (handle, network_name)) - return 0; - -/* creating the Network own Tables */ - if (!do_create_node (handle, network_name, srid, has_z)) - goto error; - if (!do_create_link (handle, network_name, srid, has_z)) - goto error; - if (!do_create_seeds (handle, network_name, srid, has_z)) - goto error; - -/* registering the Network */ - sql = sqlite3_mprintf ("INSERT INTO MAIN.networks (network_name, " - "spatial, srid, has_z, allow_coincident) VALUES (Lower(%Q), %d, %d, %d, %d)", - network_name, spatial, srid, has_z, - allow_coincident); - ret = sqlite3_exec (handle, sql, NULL, NULL, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - - return 1; - - error: - return 0; -} - -static int -check_existing_network (sqlite3 * handle, const char *network_name, - int full_check) -{ -/* testing if a Network is already defined */ - char *sql; - char *prev; - char *table; - int ret; - int i; - char **results; - int rows; - int columns; - const char *value; - int error = 0; - -/* testing if the Network is already defined */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.networks WHERE " - "Lower(network_name) = Lower(%Q)", network_name); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 1) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - if (!full_check) - return 1; - -/* testing if all table/geom are correctly defined in geometry_columns */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.geometry_columns WHERE"); - prev = sql; - table = sqlite3_mprintf ("%s_node", network_name); - sql = - sqlite3_mprintf - ("%s (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geometry')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_link", network_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geometry')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 2) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - -/* testing if all tables are already defined */ - sql = - sqlite3_mprintf - ("SELECT Count(*) FROM sqlite_master WHERE type = 'table' AND ("); - prev = sql; - table = sqlite3_mprintf ("%s_node", network_name); - sql = sqlite3_mprintf ("%s Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_link", network_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_node_geometry", network_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_link_geometry", network_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q))", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 4) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - - return 1; -} - -static int -do_drop_network_table (sqlite3 * handle, const char *network_name, - const char *which) -{ -/* attempting to drop some Network table */ - char *sql; - char *table; - char *xtable; - char *err_msg = NULL; - int ret; - -/* disabling the corresponding Spatial Index */ - table = sqlite3_mprintf ("%s_%s", network_name, which); - sql = sqlite3_mprintf ("SELECT DisableSpatialIndex(%Q, 'geometry')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DisableSpatialIndex network-%s - error: %s\n", which, err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* discarding the Geometry column */ - table = sqlite3_mprintf ("%s_%s", network_name, which); - sql = - sqlite3_mprintf ("SELECT DiscardGeometryColumn(%Q, 'geometry')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DisableGeometryColumn network-%s - error: %s\n", which, - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* dropping the main table */ - table = sqlite3_mprintf ("%s_%s", network_name, which); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS \"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("DROP network-%s - error: %s\n", which, err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* dropping the corresponding Spatial Index */ - table = sqlite3_mprintf ("idx_%s_%s_geometry", network_name, which); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS \"%s\"", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DROP SpatialIndex network-%s - error: %s\n", which, err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_get_network (sqlite3 * handle, const char *net_name, char **network_name, - int *spatial, int *srid, int *has_z, int *allow_coincident) -{ -/* retrieving a Network configuration */ - char *sql; - int ret; - sqlite3_stmt *stmt = NULL; - int ok = 0; - char *xnetwork_name = NULL; - int xsrid; - int xhas_z; - int xspatial; - int xallow_coincident; - -/* preparing the SQL query */ - sql = - sqlite3_mprintf - ("SELECT network_name, spatial, srid, has_z, allow_coincident " - "FROM MAIN.networks WHERE Lower(network_name) = Lower(%Q)", net_name); - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM networks error: \"%s\"\n", - sqlite3_errmsg (handle)); - return 0; - } - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int ok_name = 0; - int ok_srid = 0; - int ok_z = 0; - int ok_spatial = 0; - int ok_allow_coincident = 0; - if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT) - { - const char *str = - (const char *) sqlite3_column_text (stmt, 0); - if (xnetwork_name != NULL) - free (xnetwork_name); - xnetwork_name = malloc (strlen (str) + 1); - strcpy (xnetwork_name, str); - ok_name = 1; - } - if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER) - { - xspatial = sqlite3_column_int (stmt, 1); - ok_spatial = 1; - } - if (sqlite3_column_type (stmt, 2) == SQLITE_INTEGER) - { - xsrid = sqlite3_column_int (stmt, 2); - ok_srid = 1; - } - if (sqlite3_column_type (stmt, 3) == SQLITE_INTEGER) - { - xhas_z = sqlite3_column_int (stmt, 3); - ok_z = 1; - } - if (sqlite3_column_type (stmt, 4) == SQLITE_INTEGER) - { - xallow_coincident = sqlite3_column_int (stmt, 4); - ok_allow_coincident = 1; - } - if (ok_name && ok_spatial && ok_srid && ok_z - && ok_allow_coincident) - { - ok = 1; - break; - } - } - else - { - spatialite_e - ("step: SELECT FROM networks error: \"%s\"\n", - sqlite3_errmsg (handle)); - sqlite3_finalize (stmt); - return 0; - } - } - sqlite3_finalize (stmt); - - if (ok) - { - *network_name = xnetwork_name; - *srid = xsrid; - *has_z = xhas_z; - *spatial = xspatial; - *allow_coincident = xallow_coincident; - return 1; - } - - if (xnetwork_name != NULL) - free (xnetwork_name); - return 0; -} - -GAIANET_DECLARE GaiaNetworkAccessorPtr -gaiaGetNetwork (sqlite3 * handle, const void *cache, const char *network_name) -{ -/* attempting to get a reference to some Network Accessor Object */ - GaiaNetworkAccessorPtr accessor; - -/* attempting to retrieve an alredy cached definition */ - accessor = gaiaNetworkFromCache (cache, network_name); - if (accessor != NULL) - return accessor; - -/* attempting to create a new Network Accessor */ - accessor = gaiaNetworkFromDBMS (handle, cache, network_name); - return accessor; -} - -GAIANET_DECLARE GaiaNetworkAccessorPtr -gaiaNetworkFromCache (const void *p_cache, const char *network_name) -{ -/* attempting to retrieve an already defined Network Accessor Object from the Connection Cache */ - struct gaia_network *ptr; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == 0) - return NULL; - - ptr = (struct gaia_network *) (cache->firstNetwork); - while (ptr != NULL) - { - /* checking for an already registered Network */ - if (strcasecmp (network_name, ptr->network_name) == 0) - return (GaiaNetworkAccessorPtr) ptr; - ptr = ptr->next; - } - return NULL; -} - -GAIANET_DECLARE int -gaiaReadNetworkFromDBMS (sqlite3 * - handle, - const char - *net_name, char **network_name, int *spatial, - int *srid, int *has_z, int *allow_coincident) -{ -/* testing for existing DBMS objects */ - if (!check_existing_network (handle, net_name, 1)) - return 0; - -/* retrieving the Network configuration */ - if (!do_get_network - (handle, net_name, network_name, spatial, srid, has_z, - allow_coincident)) - return 0; - return 1; -} - -GAIANET_DECLARE GaiaNetworkAccessorPtr -gaiaNetworkFromDBMS (sqlite3 * handle, const void *p_cache, - const char *network_name) -{ -/* attempting to create a Network Accessor Object into the Connection Cache */ - const RTCTX *ctx = NULL; - LWN_BE_CALLBACKS *callbacks; - struct gaia_network *ptr; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == 0) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - -/* allocating and initializing the opaque object */ - ptr = malloc (sizeof (struct gaia_network)); - ptr->db_handle = handle; - ptr->cache = cache; - ptr->network_name = NULL; - ptr->srid = -1; - ptr->has_z = 0; - ptr->spatial = 0; - ptr->allow_coincident = 0; - ptr->last_error_message = NULL; - ptr->lwn_iface = lwn_CreateBackendIface (ctx, (const LWN_BE_DATA *) ptr); - ptr->prev = cache->lastNetwork; - ptr->next = NULL; - - callbacks = malloc (sizeof (LWN_BE_CALLBACKS)); - callbacks->netGetSRID = netcallback_netGetSRID; - callbacks->netHasZ = netcallback_netHasZ; - callbacks->netIsSpatial = netcallback_netIsSpatial; - callbacks->netAllowCoincident = netcallback_netAllowCoincident; - callbacks->netGetGEOS = netcallback_netGetGEOS; - callbacks->createNetwork = NULL; - callbacks->loadNetworkByName = netcallback_loadNetworkByName; - callbacks->freeNetwork = netcallback_freeNetwork; - callbacks->getNetNodeWithinDistance2D = - netcallback_getNetNodeWithinDistance2D; - callbacks->getLinkWithinDistance2D = netcallback_getLinkWithinDistance2D; - callbacks->insertNetNodes = netcallback_insertNetNodes; - callbacks->getNetNodeById = netcallback_getNetNodeById; - callbacks->updateNetNodesById = netcallback_updateNetNodesById; - callbacks->deleteNetNodesById = netcallback_deleteNetNodesById; - callbacks->getLinkByNetNode = netcallback_getLinkByNetNode; - callbacks->getNextLinkId = netcallback_getNextLinkId; - callbacks->getNetNodeWithinBox2D = netcallback_getNetNodeWithinBox2D; - callbacks->getNextLinkId = netcallback_getNextLinkId; - callbacks->insertLinks = netcallback_insertLinks; - callbacks->updateLinksById = netcallback_updateLinksById; - callbacks->getLinkById = netcallback_getLinkById; - callbacks->deleteLinksById = netcallback_deleteLinksById; - ptr->callbacks = callbacks; - - lwn_BackendIfaceRegisterCallbacks (ptr->lwn_iface, callbacks); - ptr->lwn_network = lwn_LoadNetwork (ptr->lwn_iface, network_name); - - ptr->stmt_getNetNodeWithinDistance2D = NULL; - ptr->stmt_getLinkWithinDistance2D = NULL; - ptr->stmt_insertNetNodes = NULL; - ptr->stmt_deleteNetNodesById = NULL; - ptr->stmt_getNetNodeWithinBox2D = NULL; - ptr->stmt_getNextLinkId = NULL; - ptr->stmt_setNextLinkId = NULL; - ptr->stmt_insertLinks = NULL; - ptr->stmt_deleteLinksById = NULL; - if (ptr->lwn_network == NULL) - goto invalid; - -/* creating the SQL prepared statements */ - create_toponet_prepared_stmts ((GaiaNetworkAccessorPtr) ptr); - return (GaiaNetworkAccessorPtr) ptr; - - invalid: - gaiaNetworkDestroy ((GaiaNetworkAccessorPtr) ptr); - return NULL; -} - -GAIANET_DECLARE void -gaiaNetworkDestroy (GaiaNetworkAccessorPtr net_ptr) -{ -/* destroying a Network Accessor Object */ - struct gaia_network *prev; - struct gaia_network *next; - struct splite_internal_cache *cache; - struct gaia_network *ptr = (struct gaia_network *) net_ptr; - if (ptr == NULL) - return; - - prev = ptr->prev; - next = ptr->next; - cache = (struct splite_internal_cache *) (ptr->cache); - if (ptr->lwn_network != NULL) - lwn_FreeNetwork ((LWN_NETWORK *) (ptr->lwn_network)); - if (ptr->lwn_iface != NULL) - lwn_FreeBackendIface ((LWN_BE_IFACE *) (ptr->lwn_iface)); - if (ptr->callbacks != NULL) - free (ptr->callbacks); - if (ptr->network_name != NULL) - free (ptr->network_name); - if (ptr->last_error_message != NULL) - free (ptr->last_error_message); - - finalize_toponet_prepared_stmts (net_ptr); - free (ptr); - -/* unregistering from the Internal Cache double linked list */ - if (prev != NULL) - prev->next = next; - if (next != NULL) - next->prev = prev; - if (cache->firstNetwork == ptr) - cache->firstNetwork = next; - if (cache->lastNetwork == ptr) - cache->lastNetwork = prev; -} - -NETWORK_PRIVATE void -finalize_toponet_prepared_stmts (GaiaNetworkAccessorPtr accessor) -{ -/* finalizing the SQL prepared statements */ - struct gaia_network *ptr = (struct gaia_network *) accessor; - if (ptr->stmt_getNetNodeWithinDistance2D != NULL) - sqlite3_finalize (ptr->stmt_getNetNodeWithinDistance2D); - if (ptr->stmt_getLinkWithinDistance2D != NULL) - sqlite3_finalize (ptr->stmt_getLinkWithinDistance2D); - if (ptr->stmt_insertNetNodes != NULL) - sqlite3_finalize (ptr->stmt_insertNetNodes); - if (ptr->stmt_deleteNetNodesById != NULL) - sqlite3_finalize (ptr->stmt_deleteNetNodesById); - if (ptr->stmt_getNetNodeWithinBox2D != NULL) - sqlite3_finalize (ptr->stmt_getNetNodeWithinBox2D); - if (ptr->stmt_getNextLinkId != NULL) - sqlite3_finalize (ptr->stmt_getNextLinkId); - if (ptr->stmt_setNextLinkId != NULL) - sqlite3_finalize (ptr->stmt_setNextLinkId); - if (ptr->stmt_insertLinks != NULL) - sqlite3_finalize (ptr->stmt_insertLinks); - if (ptr->stmt_deleteLinksById != NULL) - sqlite3_finalize (ptr->stmt_deleteLinksById); - ptr->stmt_getNetNodeWithinDistance2D = NULL; - ptr->stmt_getLinkWithinDistance2D = NULL; - ptr->stmt_insertNetNodes = NULL; - ptr->stmt_deleteNetNodesById = NULL; - ptr->stmt_getNetNodeWithinBox2D = NULL; - ptr->stmt_getNextLinkId = NULL; - ptr->stmt_setNextLinkId = NULL; - ptr->stmt_insertLinks = NULL; - ptr->stmt_deleteLinksById = NULL; -} - -NETWORK_PRIVATE void -create_toponet_prepared_stmts (GaiaNetworkAccessorPtr accessor) -{ -/* creating the SQL prepared statements */ - struct gaia_network *ptr = (struct gaia_network *) accessor; - finalize_toponet_prepared_stmts (accessor); - ptr->stmt_getNetNodeWithinDistance2D = - do_create_stmt_getNetNodeWithinDistance2D (accessor); - ptr->stmt_getLinkWithinDistance2D = - do_create_stmt_getLinkWithinDistance2D (accessor); - ptr->stmt_deleteNetNodesById = do_create_stmt_deleteNetNodesById (accessor); - ptr->stmt_insertNetNodes = do_create_stmt_insertNetNodes (accessor); - ptr->stmt_getNetNodeWithinBox2D = - do_create_stmt_getNetNodeWithinBox2D (accessor); - ptr->stmt_getNextLinkId = do_create_stmt_getNextLinkId (accessor); - ptr->stmt_setNextLinkId = do_create_stmt_setNextLinkId (accessor); - ptr->stmt_insertLinks = do_create_stmt_insertLinks (accessor); - ptr->stmt_deleteLinksById = do_create_stmt_deleteLinksById (accessor); -} - -NETWORK_PRIVATE void -gaianet_reset_last_error_msg (GaiaNetworkAccessorPtr accessor) -{ -/* resets the last Network error message */ - struct gaia_network *net = (struct gaia_network *) accessor; - if (net == NULL) - return; - - if (net->last_error_message != NULL) - free (net->last_error_message); - net->last_error_message = NULL; -} - -NETWORK_PRIVATE void -gaianet_set_last_error_msg (GaiaNetworkAccessorPtr accessor, const char *msg) -{ -/* sets the last Network error message */ - int len; - struct gaia_network *net = (struct gaia_network *) accessor; - if (msg == NULL) - msg = "no message available"; - - spatialite_e ("%s\n", msg); - if (net == NULL) - return; - - if (net->last_error_message != NULL) - return; - - len = strlen (msg); - net->last_error_message = malloc (len + 1); - strcpy (net->last_error_message, msg); -} - -NETWORK_PRIVATE const char * -gaianet_get_last_exception (GaiaNetworkAccessorPtr accessor) -{ -/* returns the last Network error message */ - struct gaia_network *net = (struct gaia_network *) accessor; - if (net == NULL) - return NULL; - - return net->last_error_message; -} - -GAIANET_DECLARE int -gaiaNetworkDrop (sqlite3 * handle, const char *network_name) -{ -/* attempting to drop an already existing Network */ - int ret; - char *sql; - int i; - char **results; - int rows; - int columns; - int count = 1; - -/* creating the Networks table (just in case) */ - if (!do_create_networks (handle)) - return 0; - -/* testing for existing DBMS objects */ - if (!check_existing_network (handle, network_name, 0)) - return 0; - -/* dropping the Network own Tables */ - if (!do_drop_network_table (handle, network_name, "seeds")) - goto error; - if (!do_drop_network_table (handle, network_name, "link")) - goto error; - if (!do_drop_network_table (handle, network_name, "node")) - goto error; - -/* unregistering the Network */ - sql = - sqlite3_mprintf - ("DELETE FROM MAIN.networks WHERE Lower(network_name) = Lower(%Q)", - network_name); - ret = sqlite3_exec (handle, sql, NULL, NULL, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - -/* counting how many Networks are still there */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.networks"); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 1; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - count = atoi (results[(i * columns) + 0]); - } - sqlite3_free_table (results); - if (count == 0) - { - /* attempting to drop the master "networks" table */ - sql = sqlite3_mprintf ("DROP TABLE MAIN.networks"); - ret = sqlite3_exec (handle, sql, NULL, NULL, NULL); - sqlite3_free (sql); - } - - return 1; - - error: - return 0; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaAddIsoNetNode (GaiaNetworkAccessorPtr accessor, gaiaPointPtr pt) -{ -/* LWN wrapper - AddIsoNetNode */ - sqlite3_int64 ret; - LWN_POINT *point = NULL; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - if (pt != NULL) - { - if (pt->DimensionModel == GAIA_XY_Z - || pt->DimensionModel == GAIA_XY_Z_M) - point = lwn_create_point3d (network->srid, pt->X, pt->Y, pt->Z); - else - point = lwn_create_point2d (network->srid, pt->X, pt->Y); - } - lwn_ResetErrorMsg (network->lwn_iface); - ret = lwn_AddIsoNetNode ((LWN_NETWORK *) (network->lwn_network), point); - lwn_free_point (point); - - return ret; -} - -GAIANET_DECLARE int -gaiaMoveIsoNetNode (GaiaNetworkAccessorPtr accessor, - sqlite3_int64 node, gaiaPointPtr pt) -{ -/* LWN wrapper - MoveIsoNetNode */ - int ret; - LWN_POINT *point = NULL; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - if (pt != NULL) - { - if (pt->DimensionModel == GAIA_XY_Z - || pt->DimensionModel == GAIA_XY_Z_M) - point = lwn_create_point3d (network->srid, pt->X, pt->Y, pt->Z); - else - point = lwn_create_point2d (network->srid, pt->X, pt->Y); - } - lwn_ResetErrorMsg (network->lwn_iface); - ret = - lwn_MoveIsoNetNode ((LWN_NETWORK *) (network->lwn_network), node, - point); - lwn_free_point (point); - - if (ret == 0) - return 1; - return 0; -} - -GAIANET_DECLARE int -gaiaRemIsoNetNode (GaiaNetworkAccessorPtr accessor, sqlite3_int64 node) -{ -/* LWN wrapper - RemIsoNetNode */ - int ret; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - lwn_ResetErrorMsg (network->lwn_iface); - ret = lwn_RemIsoNetNode ((LWN_NETWORK *) (network->lwn_network), node); - - if (ret == 0) - return 1; - return 0; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaAddLink (GaiaNetworkAccessorPtr accessor, - sqlite3_int64 start_node, sqlite3_int64 end_node, - gaiaLinestringPtr ln) -{ -/* LWN wrapper - AddLink */ - sqlite3_int64 ret; - LWN_LINE *lwn_line = NULL; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - if (ln != NULL) - { - lwn_line = - gaianet_convert_linestring_to_lwnline (ln, network->srid, - network->has_z); - } - - lwn_ResetErrorMsg (network->lwn_iface); - ret = - lwn_AddLink ((LWN_NETWORK *) (network->lwn_network), start_node, - end_node, lwn_line); - - lwn_free_line (lwn_line); - return ret; -} - -GAIANET_DECLARE int -gaiaChangeLinkGeom (GaiaNetworkAccessorPtr accessor, - sqlite3_int64 link_id, gaiaLinestringPtr ln) -{ -/* LWN wrapper - ChangeLinkGeom */ - int ret; - LWN_LINE *lwn_line = NULL; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - if (ln != NULL) - { - lwn_line = - gaianet_convert_linestring_to_lwnline (ln, network->srid, - network->has_z); - } - - lwn_ResetErrorMsg (network->lwn_iface); - ret = - lwn_ChangeLinkGeom ((LWN_NETWORK *) (network->lwn_network), link_id, - lwn_line); - lwn_free_line (lwn_line); - - if (ret == 0) - return 1; - return 0; -} - -GAIANET_DECLARE int -gaiaRemoveLink (GaiaNetworkAccessorPtr accessor, sqlite3_int64 link) -{ -/* LWN wrapper - RemoveLink */ - int ret; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - lwn_ResetErrorMsg (network->lwn_iface); - ret = lwn_RemoveLink ((LWN_NETWORK *) (network->lwn_network), link); - - if (ret == 0) - return 1; - return 0; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaNewLogLinkSplit (GaiaNetworkAccessorPtr accessor, sqlite3_int64 link) -{ -/* LWN wrapper - NewLogLinkSplit */ - sqlite3_int64 ret; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - lwn_ResetErrorMsg (network->lwn_iface); - ret = lwn_NewLogLinkSplit ((LWN_NETWORK *) (network->lwn_network), link); - return ret; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaModLogLinkSplit (GaiaNetworkAccessorPtr accessor, sqlite3_int64 link) -{ -/* LWN wrapper - ModLogLinkSplit */ - sqlite3_int64 ret; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - lwn_ResetErrorMsg (network->lwn_iface); - ret = lwn_ModLogLinkSplit ((LWN_NETWORK *) (network->lwn_network), link); - return ret; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaNewGeoLinkSplit (GaiaNetworkAccessorPtr accessor, sqlite3_int64 link, - gaiaPointPtr pt) -{ -/* LWN wrapper - NewGeoLinkSplit */ - sqlite3_int64 ret; - LWN_POINT *point = NULL; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - if (pt != NULL) - { - if (pt->DimensionModel == GAIA_XY_Z - || pt->DimensionModel == GAIA_XY_Z_M) - point = lwn_create_point3d (network->srid, pt->X, pt->Y, pt->Z); - else - point = lwn_create_point2d (network->srid, pt->X, pt->Y); - } - lwn_ResetErrorMsg (network->lwn_iface); - ret = - lwn_NewGeoLinkSplit ((LWN_NETWORK *) (network->lwn_network), link, - point); - lwn_free_point (point); - return ret; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaModGeoLinkSplit (GaiaNetworkAccessorPtr accessor, sqlite3_int64 link, - gaiaPointPtr pt) -{ -/* LWN wrapper - ModGeoLinkSplit */ - sqlite3_int64 ret; - LWN_POINT *point = NULL; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - if (pt != NULL) - { - if (pt->DimensionModel == GAIA_XY_Z - || pt->DimensionModel == GAIA_XY_Z_M) - point = lwn_create_point3d (network->srid, pt->X, pt->Y, pt->Z); - else - point = lwn_create_point2d (network->srid, pt->X, pt->Y); - } - lwn_ResetErrorMsg (network->lwn_iface); - ret = - lwn_ModGeoLinkSplit ((LWN_NETWORK *) (network->lwn_network), link, - point); - lwn_free_point (point); - return ret; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaNewLinkHeal (GaiaNetworkAccessorPtr accessor, sqlite3_int64 link, - sqlite3_int64 anotherlink) -{ -/* LWN wrapper - NewLinkHeal */ - sqlite3_int64 ret; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - lwn_ResetErrorMsg (network->lwn_iface); - ret = - lwn_NewLinkHeal ((LWN_NETWORK *) (network->lwn_network), link, - anotherlink); - - return ret; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaModLinkHeal (GaiaNetworkAccessorPtr accessor, sqlite3_int64 link, - sqlite3_int64 anotherlink) -{ -/* LWN wrapper - ModLinkHeal */ - sqlite3_int64 ret; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - lwn_ResetErrorMsg (network->lwn_iface); - ret = - lwn_ModLinkHeal ((LWN_NETWORK *) (network->lwn_network), link, - anotherlink); - - return ret; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaGetNetNodeByPoint (GaiaNetworkAccessorPtr accessor, gaiaPointPtr pt, - double tolerance) -{ -/* LWN wrapper - GetNetNodeByPoint */ - sqlite3_int64 ret; - LWN_POINT *point = NULL; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - if (pt != NULL) - { - if (pt->DimensionModel == GAIA_XY_Z - || pt->DimensionModel == GAIA_XY_Z_M) - point = lwn_create_point3d (network->srid, pt->X, pt->Y, pt->Z); - else - point = lwn_create_point2d (network->srid, pt->X, pt->Y); - } - lwn_ResetErrorMsg (network->lwn_iface); - - ret = - lwn_GetNetNodeByPoint ((LWN_NETWORK *) (network->lwn_network), point, - tolerance); - - lwn_free_point (point); - return ret; -} - -GAIANET_DECLARE sqlite3_int64 -gaiaGetLinkByPoint (GaiaNetworkAccessorPtr accessor, gaiaPointPtr pt, - double tolerance) -{ -/* LWN wrapper - GetLinkByPoint */ - sqlite3_int64 ret; - LWN_POINT *point = NULL; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - if (pt != NULL) - { - if (pt->DimensionModel == GAIA_XY_Z - || pt->DimensionModel == GAIA_XY_Z_M) - point = lwn_create_point3d (network->srid, pt->X, pt->Y, pt->Z); - else - point = lwn_create_point2d (network->srid, pt->X, pt->Y); - } - lwn_ResetErrorMsg (network->lwn_iface); - - ret = - lwn_GetLinkByPoint ((LWN_NETWORK *) (network->lwn_network), point, - tolerance); - - lwn_free_point (point); - return ret; -} - -static int -do_check_create_valid_logicalnet_table (GaiaNetworkAccessorPtr accessor) -{ -/* attemtping to create or validate the target table */ - char *sql; - char *table; - char *xtable; - int ret; - char *errMsg = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - -/* finalizing all prepared Statements */ - finalize_all_topo_prepared_stmts (net->cache); - -/* attempting to drop the table (just in case if it already exists) */ - table = sqlite3_mprintf ("%s_valid_logicalnet", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS TEMP.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - create_all_topo_prepared_stmts (net->cache); /* recreating prepared stsms */ - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidLogicalNet exception: %s", errMsg); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - sqlite3_free (errMsg); - return 0; - } - -/* attempting to create the table */ - table = sqlite3_mprintf ("%s_valid_logicalnet", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("CREATE TEMP TABLE \"%s\" (\n\terror TEXT,\n" - "\tprimitive1 INTEGER,\n\tprimitive2 INTEGER)", xtable); - free (xtable); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidLogicalNet exception: %s", errMsg); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - sqlite3_free (errMsg); - return 0; - } - - return 1; -} - -static int -do_loginet_check_nodes (GaiaNetworkAccessorPtr accessor, sqlite3_stmt * stmt) -{ -/* checking for nodes with geometry */ - char *sql; - char *table; - char *xtable; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT node_id FROM MAIN.\"%s\" WHERE geometry IS NOT NULL", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidLogicalNet() - Nodes error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 node_id = sqlite3_column_int64 (stmt_in, 0); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "node has geometry", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, node_id); - sqlite3_bind_null (stmt, 3); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidLogicalNet() insert error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidLogicalNet() - Nodes step error: %s", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_loginet_check_links (GaiaNetworkAccessorPtr accessor, sqlite3_stmt * stmt) -{ -/* checking for links with geometry */ - char *sql; - char *table; - char *xtable; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT link_id FROM MAIN.\"%s\" WHERE geometry IS NOT NULL", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidLogicalNet() - Links error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 link_id = sqlite3_column_int64 (stmt_in, 0); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "link has geometry", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, link_id); - sqlite3_bind_null (stmt, 3); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidLogicalNet() insert error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidLogicalNet() - Links step error: %s", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -GAIANET_DECLARE int -gaiaValidLogicalNet (GaiaNetworkAccessorPtr accessor) -{ -/* generating a validity report for a given Logical Network */ - char *table; - char *xtable; - char *sql; - int ret; - sqlite3_stmt *stmt = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - if (net == NULL) - return 0; - - if (!do_check_create_valid_logicalnet_table (accessor)) - return 0; - - table = sqlite3_mprintf ("%s_valid_logicalnet", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO TEMP.\"%s\" (error, primitive1, primitive2) VALUES (?, ?, ?)", - xtable); - free (xtable); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("ST_ValidLogicalNet error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - if (!do_loginet_check_nodes (accessor, stmt)) - goto error; - - if (!do_loginet_check_links (accessor, stmt)) - goto error; - - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -static int -do_check_create_valid_spatialnet_table (GaiaNetworkAccessorPtr accessor) -{ -/* attemtping to create or validate the target table */ - char *sql; - char *table; - char *xtable; - int ret; - char *errMsg; - struct gaia_network *net = (struct gaia_network *) accessor; - -/* attempting to drop the table (just in case if it already exists) */ - table = sqlite3_mprintf ("%s_valid_spatialnet", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS temp.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidSpatialNet exception: %s", errMsg); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - sqlite3_free (errMsg); - return 0; - } - -/* attempting to create the table */ - table = sqlite3_mprintf ("%s_valid_spatialnet", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("CREATE TEMP TABLE \"%s\" (\n\terror TEXT,\n" - "\tprimitive1 INTEGER,\n\tprimitive2 INTEGER)", xtable); - free (xtable); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidSpatialNet exception: %s", errMsg); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - sqlite3_free (errMsg); - return 0; - } - - return 1; -} - -static int -do_spatnet_check_nodes (GaiaNetworkAccessorPtr accessor, sqlite3_stmt * stmt) -{ -/* checking for nodes without geometry */ - char *sql; - char *table; - char *xtable; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT node_id FROM MAIN.\"%s\" WHERE geometry IS NULL", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidSpatialNet() - Nodes error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 node_id = sqlite3_column_int64 (stmt_in, 0); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "missing node geometry", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, node_id); - sqlite3_bind_null (stmt, 3); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() insert error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() - Nodes step error: %s", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_spatnet_check_links (GaiaNetworkAccessorPtr accessor, sqlite3_stmt * stmt) -{ -/* checking for links without geometry */ - char *sql; - char *table; - char *xtable; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT link_id FROM MAIN.\"%s\" WHERE geometry IS NULL", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidSpatialNet() - Links error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 link_id = sqlite3_column_int64 (stmt_in, 0); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "missing link geometry", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, link_id); - sqlite3_bind_null (stmt, 3); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() insert error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() - Links step error: %s", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_spatnet_check_start_nodes (GaiaNetworkAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* checking for links mismatching start nodes */ - char *sql; - char *table; - char *xtable1; - char *xtable2; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT l.link_id, l.start_node FROM MAIN.\"%s\" AS l " - "JOIN MAIN.\"%s\" AS n ON (l.start_node = n.node_id) " - "WHERE ST_Disjoint(ST_StartPoint(l.geometry), n.geometry) = 1", - xtable1, xtable2); - free (xtable1); - free (xtable2); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() - StartNodes error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 link_id = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 node_id = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "geometry start mismatch", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, link_id); - sqlite3_bind_int64 (stmt, 3, node_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() insert error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() - StartNodes step error: %s", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_spatnet_check_end_nodes (GaiaNetworkAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* checking for links mismatching end nodes */ - char *sql; - char *table; - char *xtable1; - char *xtable2; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT l.link_id, l.end_node FROM MAIN.\"%s\" AS l " - "JOIN MAIN.\"%s\" AS n ON (l.end_node = n.node_id) " - "WHERE ST_Disjoint(ST_EndPoint(l.geometry), n.geometry) = 1", - xtable1, xtable2); - free (xtable1); - free (xtable2); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidSpatialNet() - EndNodes error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 link_id = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 node_id = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "geometry end mismatch", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, link_id); - sqlite3_bind_int64 (stmt, 3, node_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() insert error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidSpatialNet() - EndNodes step error: %s", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -GAIANET_DECLARE int -gaiaValidSpatialNet (GaiaNetworkAccessorPtr accessor) -{ -/* generating a validity report for a given Spatial Network */ - char *table; - char *xtable; - char *sql; - int ret; - sqlite3_stmt *stmt = NULL; - struct gaia_network *net = (struct gaia_network *) accessor; - if (net == NULL) - return 0; - - if (!do_check_create_valid_spatialnet_table (accessor)) - return 0; - - table = sqlite3_mprintf ("%s_valid_spatialnet", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO TEMP.\"%s\" (error, primitive1, primitive2) VALUES (?, ?, ?)", - xtable); - free (xtable); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("ST_ValidSpatialNet error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - if (!do_spatnet_check_nodes (accessor, stmt)) - goto error; - - if (!do_spatnet_check_links (accessor, stmt)) - goto error; - - if (!do_spatnet_check_start_nodes (accessor, stmt)) - goto error; - - if (!do_spatnet_check_end_nodes (accessor, stmt)) - goto error; - - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -NETWORK_PRIVATE int -auxnet_insert_into_network (GaiaNetworkAccessorPtr accessor, - gaiaGeomCollPtr geom) -{ -/* processing all individual geometry items */ - sqlite3_int64 ret; - gaiaLinestringPtr ln; - gaiaPoint pt; - struct gaia_network *network = (struct gaia_network *) accessor; - if (network == NULL) - return 0; - - ln = geom->FirstLinestring; - while (ln != NULL) - { - /* looping on Linestrings items */ - int last = ln->Points - 1; - double x; - double y; - double z = 0.0; - double m = 0.0; - sqlite3_int64 start_node; - sqlite3_int64 end_node; - LWN_LINE *lwn_line; - lwn_ResetErrorMsg (network->lwn_iface); - - /* attempting to retrieve or insert the Start Node */ - if (geom->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, 0, &x, &y, &z); - } - else if (geom->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, 0, &x, &y, &z, &m); - } - else if (geom->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, 0, &x, &y, &m); - } - else - { - gaiaGetPoint (ln->Coords, 0, &x, &y); - } - if (network->has_z) - { - pt.DimensionModel = GAIA_XY_Z; - pt.X = x; - pt.Y = y; - pt.Z = z; - } - else - { - pt.DimensionModel = GAIA_XY; - pt.X = x; - pt.Y = y; - } - start_node = gaiaGetNetNodeByPoint (accessor, &pt, 0.0); - if (start_node < 0) - start_node = gaiaAddIsoNetNode (accessor, &pt); - if (start_node < 0) - { - const char *msg = lwn_GetErrorMsg (network->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - goto error; - } - - /* attempting to retrieve or insert the End Node */ - if (geom->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, last, &x, &y, &z); - } - else if (geom->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, last, &x, &y, &z, &m); - } - else if (geom->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, last, &x, &y, &m); - } - else - { - gaiaGetPoint (ln->Coords, last, &x, &y); - } - if (network->has_z) - { - pt.DimensionModel = GAIA_XY_Z; - pt.X = x; - pt.Y = y; - pt.Z = z; - } - else - { - pt.DimensionModel = GAIA_XY; - pt.X = x; - pt.Y = y; - } - end_node = gaiaGetNetNodeByPoint (accessor, &pt, 0.0); - if (end_node < 0) - end_node = gaiaAddIsoNetNode (accessor, &pt); - if (end_node < 0) - { - const char *msg = lwn_GetErrorMsg (network->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - goto error; - } - - lwn_line = gaianet_convert_linestring_to_lwnline (ln, network->srid, - network->has_z); - ret = - lwn_AddLink ((LWN_NETWORK *) (network->lwn_network), start_node, - end_node, lwn_line); - lwn_free_line (lwn_line); - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (network->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - goto error; - } - - ln = ln->Next; - } - - return 1; - - error: - return 0; -} - -GAIANET_DECLARE int -gaiaTopoNet_FromGeoTable (GaiaNetworkAccessorPtr accessor, - const char *db_prefix, const char *table, - const char *column) -{ -/* attempting to import a whole GeoTable into a Topoology-Network */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *xprefix; - char *xtable; - char *xcolumn; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - - if (net == NULL) - return 0; - if (net->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (net->cache); - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - -/* building the SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - xcolumn = gaiaDoubleQuotedSql (column); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\"", xcolumn, - xprefix, xtable); - free (xprefix); - free (xtable); - free (xcolumn); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoNet_FromGeoTable error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_NULL) - continue; - if (sqlite3_column_type (stmt, 0) == SQLITE_BLOB) - { - const unsigned char *blob = sqlite3_column_blob (stmt, 0); - int blob_sz = sqlite3_column_bytes (stmt, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, gpkg_mode, - gpkg_amphibious); - if (geom != NULL) - { - if (!auxnet_insert_into_network (accessor, geom)) - { - gaiaFreeGeomColl (geom); - goto error; - } - gaiaFreeGeomColl (geom); - } - else - { - char *msg = - sqlite3_mprintf - ("TopoNet_FromGeoTable error: Invalid Geometry"); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoNet_FromGeoTable error: not a BLOB value"); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoNet_FromGeoTable error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -GAIANET_DECLARE gaiaGeomCollPtr -gaiaGetLinkSeed (GaiaNetworkAccessorPtr accessor, sqlite3_int64 link) -{ -/* attempting to get a Point (seed) identifying a Network Link */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - gaiaGeomCollPtr point = NULL; - if (net == NULL) - return NULL; - -/* building the SQL statement */ - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT geometry FROM MAIN.\"%s\" WHERE link_id = ?", - xtable); - free (xtable); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("GetLinkSeed error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, link); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_BLOB) - { - const unsigned char *blob = sqlite3_column_blob (stmt, 0); - int blob_sz = sqlite3_column_bytes (stmt, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - int iv; - double x; - double y; - double z = 0.0; - double m = 0.0; - gaiaLinestringPtr ln = geom->FirstLinestring; - if (ln == NULL) - { - char *msg = - sqlite3_mprintf - ("TopoNet_GetLinkSeed error: Invalid Geometry"); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - gaiaFreeGeomColl (geom); - goto error; - } - iv = ln->Points / 2; - if (ln->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (ln->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (ln->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, - &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - gaiaFreeGeomColl (geom); - if (net->has_z) - { - point = gaiaAllocGeomCollXYZ (); - gaiaAddPointToGeomCollXYZ (point, x, y, z); - } - else - { - point = gaiaAllocGeomColl (); - gaiaAddPointToGeomColl (point, x, y); - } - point->Srid = net->srid; - } - else - { - char *msg = - sqlite3_mprintf - ("TopoNet_GetLinkSeed error: Invalid Geometry"); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoNet_GetLinkSeed error: not a BLOB value"); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoNet_GetLinkSeed error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - return point; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return NULL; -} - -static int -delete_all_seeds (struct gaia_network *net) -{ -/* deleting all existing Seeds */ - char *table; - char *xtable; - char *sql; - char *errMsg; - int ret; - - table = sqlite3_mprintf ("%s_seeds", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoNet_UpdateSeeds() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return 0; - } - return 1; -} - -static int -update_outdated_link_seeds (struct gaia_network *net) -{ -/* updating all outdated Link Seeds */ - char *table; - char *xseeds; - char *xlinks; - char *sql; - int ret; - sqlite3_stmt *stmt_out; - sqlite3_stmt *stmt_in; - -/* preparing the UPDATE statement */ - table = sqlite3_mprintf ("%s_seeds", net->network_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET geometry = " - "TopoNet_GetLinkSeed(%Q, link_id) WHERE link_id = ?", - xseeds, net->network_name); - free (xseeds); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_out, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoNet_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the SELECT statement */ - table = sqlite3_mprintf ("%s_seeds", net->network_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_link", net->network_name); - xlinks = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT s.link_id FROM MAIN.\"%s\" AS s " - "JOIN MAIN.\"%s\" AS l ON (l.link_id = s.link_id) " - "WHERE s.link_id IS NOT NULL AND l.timestamp > s.timestamp", - xseeds, xlinks); - free (xseeds); - free (xlinks); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoNet_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - sqlite3_bind_int64 (stmt_out, 1, - sqlite3_column_int64 (stmt_in, 0)); - /* updating the Seeds table */ - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoNet_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) - net, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoNet_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -GAIANET_DECLARE int -gaiaTopoNetUpdateSeeds (GaiaNetworkAccessorPtr accessor, int incremental_mode) -{ -/* updating all TopoNet Seeds */ - char *table; - char *xseeds; - char *xlinks; - char *sql; - char *errMsg; - int ret; - struct gaia_network *net = (struct gaia_network *) accessor; - if (net == NULL) - return 0; - - if (!incremental_mode) - { - /* deleting all existing Seeds */ - if (!delete_all_seeds (net)) - return 0; - } - -/* paranoid precaution: deleting all orphan Link Seeds */ - table = sqlite3_mprintf ("%s_seeds", net->network_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_link", net->network_name); - xlinks = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\" WHERE link_id IN (" - "SELECT s.link_id FROM MAIN.\"%s\" AS s " - "LEFT JOIN MAIN.\"%s\" AS l ON (s.link_id = l.link_id) " - "WHERE l.link_id IS NULL)", xseeds, xseeds, xlinks); - free (xseeds); - free (xlinks); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoNet_UpdateSeeds() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return 0; - } - -/* updating all outdated Link Seeds */ - if (!update_outdated_link_seeds (net)) - return 0; - -/* inserting all missing Link Seeds */ - table = sqlite3_mprintf ("%s_seeds", net->network_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_link", net->network_name); - xlinks = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (seed_id, link_id, geometry) " - "SELECT NULL, l.link_id, TopoNet_GetLinkSeed(%Q, l.link_id) " - "FROM MAIN.\"%s\" AS l " - "LEFT JOIN MAIN.\"%s\" AS s ON (l.link_id = s.link_id) WHERE s.link_id IS NULL", - xseeds, net->network_name, xlinks, xseeds); - free (xseeds); - free (xlinks); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoNet_UpdateSeeds() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return 0; - } - - return 1; -} - -static void -do_eval_toponet_point (struct gaia_network *net, gaiaGeomCollPtr result, - gaiaGeomCollPtr reference, sqlite3_stmt * stmt_node) -{ -/* retrieving Points from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - -/* initializing the Topo-Node query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_node); - sqlite3_clear_bindings (stmt_node); - sqlite3_bind_blob (stmt_node, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_node, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_node); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const unsigned char *blob = sqlite3_column_blob (stmt_node, 0); - int blob_sz = sqlite3_column_bytes (stmt_node, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaPointPtr pt = geom->FirstPoint; - while (pt != NULL) - { - /* copying all Points into the result Geometry */ - if (net->has_z) - gaiaAddPointToGeomCollXYZ (result, pt->X, pt->Y, - pt->Z); - else - gaiaAddPointToGeomColl (result, pt->X, pt->Y); - pt = pt->Next; - } - gaiaFreeGeomColl (geom); - } - } - else - { - char *msg = sqlite3_mprintf ("TopoNet_ToGeoTable error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return; - } - } -} - -static void -do_collect_topo_links (struct gaia_network *net, gaiaGeomCollPtr sparse, - sqlite3_stmt * stmt_link, sqlite3_int64 link_id) -{ -/* collecting Link Geometries one by one */ - int ret; - -/* initializing the Topo-Link query */ - sqlite3_reset (stmt_link); - sqlite3_clear_bindings (stmt_link); - sqlite3_bind_int64 (stmt_link, 1, link_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_link); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const unsigned char *blob = sqlite3_column_blob (stmt_link, 0); - int blob_sz = sqlite3_column_bytes (stmt_link, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaLinestringPtr ln = geom->FirstLinestring; - while (ln != NULL) - { - if (net->has_z) - auxtopo_copy_linestring3d (ln, sparse); - else - auxtopo_copy_linestring (ln, sparse); - ln = ln->Next; - } - gaiaFreeGeomColl (geom); - } - } - else - { - char *msg = sqlite3_mprintf ("TopoNet_ToGeoTable error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return; - } - } -} - -static void -do_eval_toponet_line (struct gaia_network *net, gaiaGeomCollPtr result, - gaiaGeomCollPtr reference, sqlite3_stmt * stmt_seed_link, - sqlite3_stmt * stmt_link) -{ -/* retrieving Linestrings from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr sparse; - gaiaGeomCollPtr rearranged; - gaiaLinestringPtr ln; - - if (net->has_z) - sparse = gaiaAllocGeomCollXYZ (); - else - sparse = gaiaAllocGeomColl (); - sparse->Srid = net->srid; - -/* initializing the Topo-Seed-Link query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_seed_link); - sqlite3_clear_bindings (stmt_seed_link); - sqlite3_bind_blob (stmt_seed_link, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_seed_link, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_seed_link); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 link_id = - sqlite3_column_int64 (stmt_seed_link, 0); - do_collect_topo_links (net, sparse, stmt_link, link_id); - } - else - { - char *msg = sqlite3_mprintf ("TopoNet_ToGeoTable error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - gaiaFreeGeomColl (sparse); - return; - } - } - -/* attempting to rearrange sparse lines */ - rearranged = gaiaLineMerge_r (net->cache, sparse); - gaiaFreeGeomColl (sparse); - if (rearranged == NULL) - return; - ln = rearranged->FirstLinestring; - while (ln != NULL) - { - if (net->has_z) - auxtopo_copy_linestring3d (ln, result); - else - auxtopo_copy_linestring (ln, result); - ln = ln->Next; - } - gaiaFreeGeomColl (rearranged); -} - -static gaiaGeomCollPtr -do_eval_toponet_geom (struct gaia_network *net, gaiaGeomCollPtr geom, - sqlite3_stmt * stmt_seed_link, - sqlite3_stmt * stmt_node, sqlite3_stmt * stmt_link, - int out_type) -{ -/* retrieving Topology-Network geometries via matching Seeds */ - gaiaGeomCollPtr result; - - if (net->has_z) - result = gaiaAllocGeomCollXYZ (); - else - result = gaiaAllocGeomColl (); - result->Srid = net->srid; - result->DeclaredType = out_type; - - if (out_type == GAIA_POINT || out_type == GAIA_MULTIPOINT - || out_type == GAIA_GEOMETRYCOLLECTION || out_type == GAIA_UNKNOWN) - { - /* processing all Points */ - gaiaPointPtr pt = geom->FirstPoint; - while (pt != NULL) - { - gaiaPointPtr next = pt->Next; - gaiaGeomCollPtr reference = (gaiaGeomCollPtr) - auxtopo_make_geom_from_point (net->srid, net->has_z, pt); - do_eval_toponet_point (net, result, reference, stmt_node); - auxtopo_destroy_geom_from (reference); - pt->Next = next; - pt = pt->Next; - } - } - - if (out_type == GAIA_MULTILINESTRING || out_type == GAIA_GEOMETRYCOLLECTION - || out_type == GAIA_UNKNOWN) - { - /* processing all Linestrings */ - gaiaLinestringPtr ln = geom->FirstLinestring; - while (ln != NULL) - { - gaiaLinestringPtr next = ln->Next; - gaiaGeomCollPtr reference = (gaiaGeomCollPtr) - auxtopo_make_geom_from_line (net->srid, ln); - do_eval_toponet_line (net, result, reference, stmt_seed_link, - stmt_link); - auxtopo_destroy_geom_from (reference); - ln->Next = next; - ln = ln->Next; - } - } - - if (out_type == GAIA_MULTIPOLYGON || out_type == GAIA_GEOMETRYCOLLECTION - || out_type == GAIA_UNKNOWN) - { - /* processing all Polygons */ - if (geom->FirstPolygon != NULL) - goto error; - } - - if (result->FirstPoint == NULL && result->FirstLinestring == NULL - && result->FirstPolygon == NULL) - goto error; - return result; - - error: - gaiaFreeGeomColl (result); - return NULL; -} - -static int -do_eval_toponet_seeds (struct gaia_network *net, sqlite3_stmt * stmt_ref, - int ref_geom_col, sqlite3_stmt * stmt_ins, - sqlite3_stmt * stmt_seed_link, sqlite3_stmt * stmt_node, - sqlite3_stmt * stmt_link, int out_type) -{ -/* querying the ref-table */ - int ret; - - sqlite3_reset (stmt_ref); - sqlite3_clear_bindings (stmt_ref); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_ref); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int icol; - int ncol = sqlite3_column_count (stmt_ref); - sqlite3_reset (stmt_ins); - sqlite3_clear_bindings (stmt_ins); - for (icol = 0; icol < ncol; icol++) - { - int col_type = sqlite3_column_type (stmt_ref, icol); - if (icol == ref_geom_col) - { - /* the geometry column */ - const unsigned char *blob = - sqlite3_column_blob (stmt_ref, icol); - int blob_sz = sqlite3_column_bytes (stmt_ref, icol); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaGeomCollPtr result; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - if (net->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache - *) (net->cache); - gpkg_mode = cache->gpkg_mode; - } - result = - do_eval_toponet_geom (net, geom, - stmt_seed_link, - stmt_node, - stmt_link, - out_type); - gaiaFreeGeomColl (geom); - if (result != NULL) - { - gaiaToSpatiaLiteBlobWkbEx (result, - &p_blob, - &n_bytes, - gpkg_mode); - gaiaFreeGeomColl (result); - sqlite3_bind_blob (stmt_ins, icol + 1, - p_blob, n_bytes, - free); - } - else - sqlite3_bind_null (stmt_ins, icol + 1); - } - else - sqlite3_bind_null (stmt_ins, icol + 1); - continue; - } - switch (col_type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_ins, icol + 1, - sqlite3_column_int64 (stmt_ref, - icol)); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_ins, icol + 1, - sqlite3_column_double - (stmt_ref, icol)); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_ins, icol + 1, - (const char *) - sqlite3_column_text (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - case SQLITE_BLOB: - sqlite3_bind_blob (stmt_ins, icol + 1, - sqlite3_column_blob (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_ins, icol + 1); - break; - }; - } - ret = sqlite3_step (stmt_ins); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) - net, msg); - sqlite3_free (msg); - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return 0; - } - } - return 1; -} - -GAIANET_DECLARE int -gaiaTopoNet_ToGeoTableGeneralize (GaiaNetworkAccessorPtr accessor, - const char *db_prefix, const char *ref_table, - const char *ref_column, const char *out_table, - double tolerance, int with_spatial_index) -{ -/* -/ attempting to create and populate a new GeoTable out from a Topology-Network -/ (simplified/generalized version) -*/ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt_ref = NULL; - sqlite3_stmt *stmt_ins = NULL; - sqlite3_stmt *stmt_seed_link = NULL; - sqlite3_stmt *stmt_node = NULL; - sqlite3_stmt *stmt_link = NULL; - int ret; - char *create; - char *select; - char *insert; - char *sql; - char *errMsg; - char *xprefix; - char *xtable; - int ref_type; - const char *type; - int out_type; - int ref_geom_col; - if (net == NULL) - return 0; - -/* incrementally updating all Topology Seeds */ - if (!gaiaTopoNetUpdateSeeds (accessor, 1)) - return 0; - -/* composing the CREATE TABLE output-table statement */ - if (!auxtopo_create_togeotable_sql - (net->db_handle, db_prefix, ref_table, ref_column, out_table, &create, - &select, &insert, &ref_geom_col)) - goto error; - -/* creating the output-table */ - ret = sqlite3_exec (net->db_handle, create, NULL, NULL, &errMsg); - sqlite3_free (create); - create = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - -/* checking the Geometry Type */ - if (!auxtopo_retrieve_geometry_type - (net->db_handle, db_prefix, ref_table, ref_column, &ref_type)) - goto error; - switch (ref_type) - { - case GAIA_POINT: - case GAIA_POINTZ: - case GAIA_POINTM: - case GAIA_POINTZM: - type = "POINT"; - out_type = GAIA_POINT; - break; - case GAIA_MULTIPOINT: - case GAIA_MULTIPOINTZ: - case GAIA_MULTIPOINTM: - case GAIA_MULTIPOINTZM: - type = "MULTIPOINT"; - out_type = GAIA_MULTIPOINT; - break; - case GAIA_LINESTRING: - case GAIA_LINESTRINGZ: - case GAIA_LINESTRINGM: - case GAIA_LINESTRINGZM: - case GAIA_MULTILINESTRING: - case GAIA_MULTILINESTRINGZ: - case GAIA_MULTILINESTRINGM: - case GAIA_MULTILINESTRINGZM: - type = "MULTILINESTRING"; - out_type = GAIA_MULTILINESTRING; - break; - case GAIA_GEOMETRYCOLLECTION: - case GAIA_GEOMETRYCOLLECTIONZ: - case GAIA_GEOMETRYCOLLECTIONM: - case GAIA_GEOMETRYCOLLECTIONZM: - type = "GEOMETRYCOLLECTION"; - out_type = GAIA_GEOMETRYCOLLECTION; - break; - default: - type = "GEOMETRY"; - out_type = GAIA_UNKNOWN; - break; - }; - -/* creating the output Geometry Column */ - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(Lower(%Q), Lower(%Q), %d, '%s', '%s')", - out_table, ref_column, net->srid, type, - (net->has_z == 0) ? "XY" : "XYZ"); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - - if (with_spatial_index) - { - /* adding a Spatial Index supporting the Geometry Column */ - sql = - sqlite3_mprintf - ("SELECT CreateSpatialIndex(Lower(%Q), Lower(%Q))", - out_table, ref_column); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTable() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - } - -/* preparing the "SELECT * FROM ref-table" query */ - ret = - sqlite3_prepare_v2 (net->db_handle, select, strlen (select), &stmt_ref, - NULL); - sqlite3_free (select); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "INSERT INTO out-table" query */ - ret = - sqlite3_prepare_v2 (net->db_handle, insert, strlen (insert), &stmt_ins, - NULL); - sqlite3_free (insert); - insert = NULL; - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Seed-Links query */ - xprefix = sqlite3_mprintf ("%s_seeds", net->network_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT link_id FROM MAIN.\"%s\" " - "WHERE ST_Intersects(geometry, ?) = 1 AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ?)", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_seed_link, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Nodes query */ - xprefix = sqlite3_mprintf ("%s_node", net->network_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT geometry FROM MAIN.\"%s\" " - "WHERE ST_Intersects(geometry, ?) = 1 AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ?)", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_node, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Links query */ - xprefix = sqlite3_mprintf ("%s_link", net->network_name); - xtable = gaiaDoubleQuotedSql (xprefix); - if (tolerance > 0.0) - sql = - sqlite3_mprintf - ("SELECT ST_SimplifyPreserveTopology(geometry, %1.6f) FROM MAIN.\"%s\" WHERE link_id = ?", - tolerance, xtable, xprefix); - else - sql = - sqlite3_mprintf - ("SELECT geometry FROM MAIN.\"%s\" WHERE link_id = ?", xtable, - xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt_link, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoNet_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - goto error; - } - -/* evaluating feature/topology matching via coincident topo-seeds */ - if (!do_eval_toponet_seeds - (net, stmt_ref, ref_geom_col, stmt_ins, stmt_seed_link, stmt_node, - stmt_link, out_type)) - goto error; - - sqlite3_finalize (stmt_ref); - sqlite3_finalize (stmt_ins); - sqlite3_finalize (stmt_seed_link); - sqlite3_finalize (stmt_node); - sqlite3_finalize (stmt_link); - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - if (stmt_ref != NULL) - sqlite3_finalize (stmt_ref); - if (stmt_ins != NULL) - sqlite3_finalize (stmt_ins); - if (stmt_seed_link != NULL) - sqlite3_finalize (stmt_seed_link); - if (stmt_node != NULL) - sqlite3_finalize (stmt_node); - if (stmt_link != NULL) - sqlite3_finalize (stmt_link); - return 0; -} - -GAIANET_DECLARE int -gaiaTopoNet_ToGeoTable (GaiaNetworkAccessorPtr accessor, - const char *db_prefix, const char *ref_table, - const char *ref_column, const char *out_table, - int with_spatial_index) -{ -/* attempting to create and populate a new GeoTable out from a Topology-Network */ - return gaiaTopoNet_ToGeoTableGeneralize (accessor, db_prefix, ref_table, - ref_column, out_table, -1.0, - with_spatial_index); -} - -#endif /* end RTTOPO conditionals */ DELETED src/topology/gaia_auxtopo.c Index: src/topology/gaia_auxtopo.c ================================================================== --- src/topology/gaia_auxtopo.c +++ src/topology/gaia_auxtopo.c @@ -1,5921 +0,0 @@ -/* - - gaia_auxtopo.c -- implementation of the Topology module methods - - version 4.3, 2015 July 15 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/* - -CREDITS: - -this module has been completely funded by: -Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale -(Topology support) - -CIG: 6038019AE5 - -*/ - -#include -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#include "topology_private.h" -#include "network_private.h" - -#ifdef _WIN32 -#define strcasecmp _stricmp -#endif /* not WIN32 */ - -#define GAIA_UNUSED() if (argc || argv) argc = argc; - -SPATIALITE_PRIVATE void -free_internal_cache_topologies (void *firstTopology) -{ -/* destroying all Topologies registered into the Internal Connection Cache */ - struct gaia_topology *p_topo = (struct gaia_topology *) firstTopology; - struct gaia_topology *p_topo_n; - - while (p_topo != NULL) - { - p_topo_n = p_topo->next; - gaiaTopologyDestroy ((GaiaTopologyAccessorPtr) p_topo); - p_topo = p_topo_n; - } -} - -static int -do_create_topologies (sqlite3 * handle) -{ -/* attempting to create the Topologies table (if not already existing) */ - const char *sql; - char *err_msg = NULL; - int ret; - - sql = "CREATE TABLE IF NOT EXISTS topologies (\n" - "\ttopology_name TEXT NOT NULL PRIMARY KEY,\n" - "\tsrid INTEGER NOT NULL,\n" - "\ttolerance DOUBLE NOT NULL,\n" - "\thas_z INTEGER NOT NULL,\n" - "\tnext_edge_id INTEGER NOT NULL DEFAULT 1,\n" - "\tCONSTRAINT topo_srid_fk FOREIGN KEY (srid) " - "REFERENCES spatial_ref_sys (srid))"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE topologies - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating Topologies triggers */ - sql = "CREATE TRIGGER IF NOT EXISTS topology_name_insert\n" - "BEFORE INSERT ON 'topologies'\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'insert on topologies violates constraint: " - "topology_name value must not contain a single quote')\n" - "WHERE NEW.topology_name LIKE ('%''%');\n" - "SELECT RAISE(ABORT,'insert on topologies violates constraint: " - "topology_name value must not contain a double quote')\n" - "WHERE NEW.topology_name LIKE ('%\"%');\n" - "SELECT RAISE(ABORT,'insert on topologies violates constraint: " - "topology_name value must be lower case')\n" - "WHERE NEW.topology_name <> lower(NEW.topology_name);\nEND"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - sql = "CREATE TRIGGER IF NOT EXISTS topology_name_update\n" - "BEFORE UPDATE OF 'topology_name' ON 'topologies'\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'update on topologies violates constraint: " - "topology_name value must not contain a single quote')\n" - "WHERE NEW.topology_name LIKE ('%''%');\n" - "SELECT RAISE(ABORT,'update on topologies violates constraint: " - "topology_name value must not contain a double quote')\n" - "WHERE NEW.topology_name LIKE ('%\"%');\n" - "SELECT RAISE(ABORT,'update on topologies violates constraint: " - "topology_name value must be lower case')\n" - "WHERE NEW.topology_name <> lower(NEW.topology_name);\nEND"; - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -check_new_topology (sqlite3 * handle, const char *topo_name) -{ -/* testing if some already defined DB object forbids creating the new Topology */ - char *sql; - char *prev; - char *table; - int ret; - int i; - char **results; - int rows; - int columns; - const char *value; - int error = 0; - -/* testing if the same Topology is already defined */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.topologies WHERE " - "Lower(topology_name) = Lower(%Q)", topo_name); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - -/* testing if some table/geom is already defined in geometry_columns */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM geometry_columns WHERE"); - prev = sql; - table = sqlite3_mprintf ("%s_face", topo_name); - sql = - sqlite3_mprintf - ("%s (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'mbr')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_node", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_edge", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_seeds", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - -/* testing if some Spatial View is already defined in views_geometry_columns */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM views_geometry_columns WHERE"); - prev = sql; - table = sqlite3_mprintf ("%s_face_geoms", topo_name); - sql = - sqlite3_mprintf - ("%s (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'mbr')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face_seeds", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_edge_seeds", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - -/* testing if some table is already defined */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM sqlite_master WHERE"); - prev = sql; - table = sqlite3_mprintf ("%s_node", topo_name); - sql = sqlite3_mprintf ("%s Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_edge", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_seeds", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_topolayers", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_topofeatures", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_node_geom", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_edge_geom", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_face_mbr", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_seeds_geom", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face_geoms", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face_seeds", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_edge_seeds", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - - return 1; -} - -static int -do_create_face (sqlite3 * handle, const char *topo_name, int srid) -{ -/* attempting to create the Topology Face table */ - char *sql; - char *table; - char *xtable; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_face", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\tface_id INTEGER PRIMARY KEY AUTOINCREMENT)", - xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE topology-FACE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating the Face BBOX Geometry */ - table = sqlite3_mprintf ("%s_face", topo_name); - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(%Q, 'mbr', %d, 'POLYGON', 'XY')", - table, srid); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("AddGeometryColumn topology-FACE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating a Spatial Index supporting Face Geometry */ - table = sqlite3_mprintf ("%s_face", topo_name); - sql = sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'mbr')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CreateSpatialIndex topology-FACE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* inserting the default World Face */ - table = sqlite3_mprintf ("%s_face", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" VALUES (0, NULL)", xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("INSERT WorldFACE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_node (sqlite3 * handle, const char *topo_name, int srid, int has_z) -{ -/* attempting to create the Topology Node table */ - char *sql; - char *table; - char *xtable; - char *xconstraint; - char *xmother; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_node", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node_face_fk", topo_name); - xconstraint = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_face", topo_name); - xmother = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\tnode_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "\tcontaining_face INTEGER,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (containing_face) " - "REFERENCES \"%s\" (face_id))", xtable, xconstraint, - xmother); - free (xtable); - free (xconstraint); - free (xmother); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE topology-NODE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating the Node Geometry */ - table = sqlite3_mprintf ("%s_node", topo_name); - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(%Q, 'geom', %d, 'POINT', %Q, 1)", table, - srid, has_z ? "XYZ" : "XY"); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("AddGeometryColumn topology-NODE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating a Spatial Index supporting Node Geometry */ - table = sqlite3_mprintf ("%s_node", topo_name); - sql = sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'geom')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CreateSpatialIndex topology-NODE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "containing_face" */ - table = sqlite3_mprintf ("%s_node", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_node_contface", topo_name); - xconstraint = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (containing_face)", - xconstraint, xtable); - free (xtable); - free (xconstraint); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX node-contface - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_edge (sqlite3 * handle, const char *topo_name, int srid, int has_z) -{ -/* attempting to create the Topology Edge table */ - char *sql; - char *table; - char *xtable; - char *xconstraint1; - char *xconstraint2; - char *xconstraint3; - char *xconstraint4; - char *xnodes; - char *xfaces; - char *trigger; - char *xtrigger; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge_node_start_fk", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge_node_end_fk", topo_name); - xconstraint2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge_face_left_fk", topo_name); - xconstraint3 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge_face_right_fk", topo_name); - xconstraint4 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", topo_name); - xnodes = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_face", topo_name); - xfaces = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\tedge_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "\tstart_node INTEGER NOT NULL,\n" - "\tend_node INTEGER NOT NULL,\n" - "\tnext_left_edge INTEGER NOT NULL,\n" - "\tnext_right_edge INTEGER NOT NULL,\n" - "\tleft_face INTEGER,\n" - "\tright_face INTEGER,\n" - "\ttimestamp DATETIME,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (start_node) " - "REFERENCES \"%s\" (node_id),\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (end_node) " - "REFERENCES \"%s\" (node_id),\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (left_face) " - "REFERENCES \"%s\" (face_id),\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (right_face) " - "REFERENCES \"%s\" (face_id))", - xtable, xconstraint1, xnodes, xconstraint2, xnodes, - xconstraint3, xfaces, xconstraint4, xfaces); - free (xtable); - free (xconstraint1); - free (xconstraint2); - free (xconstraint3); - free (xconstraint4); - free (xnodes); - free (xfaces); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE topology-EDGE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "next_edge_ins" trigger */ - trigger = sqlite3_mprintf ("%s_edge_next_ins", topo_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER INSERT ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE topologies SET next_edge_id = NEW.edge_id + 1 " - "WHERE Lower(topology_name) = Lower(%Q) AND next_edge_id < NEW.edge_id + 1;\n" - "\tUPDATE \"%s\" SET timestamp = strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now') " - "WHERE edge_id = NEW.edge_id;" - "END", xtrigger, xtable, topo_name, xtable); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER topology-EDGE next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "edge_update" trigger */ - trigger = sqlite3_mprintf ("%s_edge_update", topo_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER UPDATE ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE \"%s\" SET timestamp = strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now') " - "WHERE edge_id = NEW.edge_id;" - "END", xtrigger, xtable, xtable); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER topology-EDGE next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "next_edge_upd" trigger */ - trigger = sqlite3_mprintf ("%s_edge_next_upd", topo_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("CREATE TRIGGER \"%s\" AFTER UPDATE OF edge_id ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE topologies SET next_edge_id = NEW.edge_id + 1 " - "WHERE Lower(topology_name) = Lower(%Q) AND next_edge_id < NEW.edge_id + 1;\n" - "END", xtrigger, xtable, topo_name); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER topology-EDGE next UPDATE - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating the Edge Geometry */ - table = sqlite3_mprintf ("%s_edge", topo_name); - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(%Q, 'geom', %d, 'LINESTRING', %Q, 1)", - table, srid, has_z ? "XYZ" : "XY"); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("AddGeometryColumn topology-EDGE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating a Spatial Index supporting Edge Geometry */ - table = sqlite3_mprintf ("%s_edge", topo_name); - sql = sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'geom')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CreateSpatialIndex topology-EDGE - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "start_node" */ - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_start_node", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (start_node)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX edge-startnode - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "end_node" */ - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_end_node", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (end_node)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX edge-endnode - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "left_face" */ - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_edge_leftface", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (left_face)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX edge-leftface - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "right_face" */ - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_edge_rightface", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (right_face)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX edge-rightface - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "timestamp" */ - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_timestamp", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (timestamp)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX edge-timestamps - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_seeds (sqlite3 * handle, const char *topo_name, int srid, int has_z) -{ -/* attempting to create the Topology Seeds table */ - char *sql; - char *table; - char *xtable; - char *xconstraint1; - char *xconstraint2; - char *xedges; - char *xfaces; - char *trigger; - char *xtrigger; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_seeds", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_seeds_edge_fk", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_seeds_face_fk", topo_name); - xconstraint2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo_name); - xedges = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_face", topo_name); - xfaces = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\tseed_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "\tedge_id INTEGER,\n" - "\tface_id INTEGER,\n" - "\ttimestamp DATETIME,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (edge_id) " - "REFERENCES \"%s\" (edge_id) ON DELETE CASCADE,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (face_id) " - "REFERENCES \"%s\" (face_id) ON DELETE CASCADE)", - xtable, xconstraint1, xedges, xconstraint2, xfaces); - free (xtable); - free (xconstraint1); - free (xconstraint2); - free (xedges); - free (xfaces); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE topology-SEEDS - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "seeds_ins" trigger */ - trigger = sqlite3_mprintf ("%s_seeds_ins", topo_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_seeds", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER INSERT ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE \"%s\" SET timestamp = strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now') " - "WHERE seed_id = NEW.seed_id;" - "END", xtrigger, xtable, xtable); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER topology-SEEDS next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* adding the "seeds_update" trigger */ - trigger = sqlite3_mprintf ("%s_seeds_update", topo_name); - xtrigger = gaiaDoubleQuotedSql (trigger); - sqlite3_free (trigger); - table = sqlite3_mprintf ("%s_seeds", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER \"%s\" AFTER UPDATE ON \"%s\"\n" - "FOR EACH ROW BEGIN\n" - "\tUPDATE \"%s\" SET timestamp = strftime('%%Y-%%m-%%dT%%H:%%M:%%fZ', 'now') " - "WHERE seed_id = NEW.seed_id;" - "END", xtrigger, xtable, xtable); - free (xtrigger); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CREATE TRIGGER topology-SEED next INSERT - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating the Seeds Geometry */ - table = sqlite3_mprintf ("%s_seeds", topo_name); - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(%Q, 'geom', %d, 'POINT', %Q, 1)", - table, srid, has_z ? "XYZ" : "XY"); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("AddGeometryColumn topology-SEEDS - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating a Spatial Index supporting Seeds Geometry */ - table = sqlite3_mprintf ("%s_seeds", topo_name); - sql = sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, 'geom')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("CreateSpatialIndex topology-SEEDS - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "edge_id" */ - table = sqlite3_mprintf ("%s_seeds", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_sdedge", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (edge_id)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX seeds-edge - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "face_id" */ - table = sqlite3_mprintf ("%s_seeds", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_sdface", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (face_id)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX seeds-face - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "timestamp" */ - table = sqlite3_mprintf ("%s_seeds", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_seeds_timestamp", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (timestamp)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX seeds-timestamps - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_edge_seeds (sqlite3 * handle, const char *topo_name) -{ -/* attempting to create the Edge Seeds view */ - char *sql; - char *table; - char *xtable; - char *xview; - char *err_msg = NULL; - int ret; - -/* creating the view */ - table = sqlite3_mprintf ("%s_edge_seeds", topo_name); - xview = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_seeds", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" - "SELECT seed_id AS rowid, edge_id AS edge_id, geom AS geom\n" - "FROM \"%s\"\n" - "WHERE edge_id IS NOT NULL", xview, xtable); - free (xtable); - free (xview); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE VIEW topology-EDGE-SEEDS - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* registering a Spatial View */ - xview = sqlite3_mprintf ("%s_edge_seeds", topo_name); - xtable = sqlite3_mprintf ("%s_seeds", topo_name); - sql = sqlite3_mprintf ("INSERT INTO views_geometry_columns (view_name, " - "view_geometry, view_rowid, f_table_name, f_geometry_column, read_only) " - "VALUES (Lower(%Q), 'geom', 'rowid', Lower(%Q), 'geom', 1)", - xview, xtable); - sqlite3_free (xview); - sqlite3_free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("Registering Spatial VIEW topology-EDGE-SEEDS - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_face_seeds (sqlite3 * handle, const char *topo_name) -{ -/* attempting to create the Face Seeds view */ - char *sql; - char *table; - char *xtable; - char *xview; - char *err_msg = NULL; - int ret; - -/* creating the view */ - table = sqlite3_mprintf ("%s_face_seeds", topo_name); - xview = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_seeds", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" - "SELECT seed_id AS rowid, face_id AS face_id, geom AS geom\n" - "FROM \"%s\"\n" - "WHERE face_id IS NOT NULL", xview, xtable); - free (xtable); - free (xview); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE VIEW topology-FACE-SEEDS - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* registering a Spatial View */ - xview = sqlite3_mprintf ("%s_face_seeds", topo_name); - xtable = sqlite3_mprintf ("%s_seeds", topo_name); - sql = sqlite3_mprintf ("INSERT INTO views_geometry_columns (view_name, " - "view_geometry, view_rowid, f_table_name, f_geometry_column, read_only) " - "VALUES (Lower(%Q), 'geom', 'rowid', Lower(%Q), 'geom', 1)", - xview, xtable); - sqlite3_free (xview); - sqlite3_free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("Registering Spatial VIEW topology-FACE-SEEDS - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_face_geoms (sqlite3 * handle, const char *topo_name) -{ -/* attempting to create the Face Geoms view */ - char *sql; - char *table; - char *xtable; - char *xview; - char *err_msg = NULL; - int ret; - -/* creating the view */ - table = sqlite3_mprintf ("%s_face_geoms", topo_name); - xview = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_face", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE VIEW \"%s\" AS\n" - "SELECT face_id AS rowid, ST_GetFaceGeometry(%Q, face_id) AS geom\n" - "FROM \"%s\"\n" - "WHERE face_id <> 0", xview, topo_name, xtable); - free (xtable); - free (xview); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE VIEW topology-FACE-GEOMS - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* registering a Spatial View */ - xview = sqlite3_mprintf ("%s_face_geoms", topo_name); - xtable = sqlite3_mprintf ("%s_face", topo_name); - sql = sqlite3_mprintf ("INSERT INTO views_geometry_columns (view_name, " - "view_geometry, view_rowid, f_table_name, f_geometry_column, read_only) " - "VALUES (Lower(%Q), 'geom', 'rowid', Lower(%Q), 'mbr', 1)", - xview, xtable); - sqlite3_free (xview); - sqlite3_free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("Registering Spatial VIEW topology-FACE-GEOMS - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_topolayers (sqlite3 * handle, const char *topo_name) -{ -/* attempting to create the TopoLayers table */ - char *sql; - char *table; - char *xtable; - char *xtrigger; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_topolayers", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\ttopolayer_id INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "\ttopolayer_name NOT NULL UNIQUE)", xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE topology-TOPOLAYERS - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating TopoLayers triggers */ - table = sqlite3_mprintf ("%s_topolayers", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_topolayer_name_insert", topo_name); - xtrigger = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER IF NOT EXISTS \"%s\"\n" - "BEFORE INSERT ON \"%s\"\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'insert on topolayers violates constraint: " - "topolayer_name value must not contain a single quote')\n" - "WHERE NEW.topolayer_name LIKE ('%%''%%');\n" - "SELECT RAISE(ABORT,'insert on topolayers violates constraint: " - "topolayers_name value must not contain a double quote')\n" - "WHERE NEW.topolayer_name LIKE ('%%\"%%');\n" - "SELECT RAISE(ABORT,'insert on topolayers violates constraint: " - "topolayer_name value must be lower case')\n" - "WHERE NEW.topolayer_name <> lower(NEW.topolayer_name);\nEND", - xtrigger, xtable); - free (xtable); - free (xtrigger); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - table = sqlite3_mprintf ("%s_topolayers", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_topolayer_name_update", topo_name); - xtrigger = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TRIGGER IF NOT EXISTS \"%s\"\n" - "BEFORE UPDATE OF 'topolayer_name' ON \"%s\"\nFOR EACH ROW BEGIN\n" - "SELECT RAISE(ABORT,'update on topolayers violates constraint: " - "topolayer_name value must not contain a single quote')\n" - "WHERE NEW.topolayer_name LIKE ('%%''%%');\n" - "SELECT RAISE(ABORT,'update on topolayers violates constraint: " - "topolayer_name value must not contain a double quote')\n" - "WHERE NEW.topolayer_name LIKE ('%%\"%%');\n" - "SELECT RAISE(ABORT,'update on topolayers violates constraint: " - "topolayer_name value must be lower case')\n" - "WHERE NEW.topolayer_name <> lower(NEW.topolayer_name);\nEND", - xtrigger, xtable); - free (xtable); - free (xtrigger); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SQL error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_create_topofeatures (sqlite3 * handle, const char *topo_name) -{ -/* attempting to create the TopoFeatures table */ - char *sql; - char *table; - char *xtable; - char *xtable1; - char *xtable2; - char *xtable3; - char *xtable4; - char *xconstraint1; - char *xconstraint2; - char *xconstraint3; - char *xconstraint4; - char *err_msg = NULL; - int ret; - -/* creating the main table */ - table = sqlite3_mprintf ("%s_topofeatures", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", topo_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_face", topo_name); - xtable3 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_topolayers", topo_name); - xtable4 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("fk_%s_ftnode", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("fk_%s_ftedge", topo_name); - xconstraint2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("fk_%s_ftface", topo_name); - xconstraint3 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("fk_%s_topolayer", topo_name); - xconstraint4 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\" (\n" - "\tuid INTEGER PRIMARY KEY AUTOINCREMENT,\n" - "\tnode_id INTEGER,\n\tedge_id INTEGER,\n" - "\tface_id INTEGER,\n\ttopolayer_id INTEGER NOT NULL,\n" - "\tfid INTEGER NOT NULL,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (node_id) " - "REFERENCES \"%s\" (node_id) ON DELETE CASCADE,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (edge_id) " - "REFERENCES \"%s\" (edge_id) ON DELETE CASCADE,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (face_id) " - "REFERENCES \"%s\" (face_id) ON DELETE CASCADE,\n" - "\tCONSTRAINT \"%s\" FOREIGN KEY (topolayer_id) " - "REFERENCES \"%s\" (topolayer_id) ON DELETE CASCADE)", - xtable, xconstraint1, xtable1, xconstraint2, xtable2, - xconstraint3, xtable3, xconstraint4, xtable4); - free (xtable); - free (xtable1); - free (xtable2); - free (xtable3); - free (xtable4); - free (xconstraint1); - free (xconstraint2); - free (xconstraint3); - free (xconstraint4); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE TABLE topology-TOPOFEATURES - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "node_id" */ - table = sqlite3_mprintf ("%s_topofeatures", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_ftnode", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (node_id)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX topofeatures-node - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "edge_id" */ - table = sqlite3_mprintf ("%s_topofeatures", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_ftedge", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (edge_id)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX topofeatures-edge - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "face_id" */ - table = sqlite3_mprintf ("%s_topofeatures", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_ftface", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (face_id)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX topofeatures-face - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* creating an Index supporting "topolayers_id" */ - table = sqlite3_mprintf ("%s_topofeatures", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("idx_%s_fttopolayers", topo_name); - xconstraint1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("CREATE INDEX \"%s\" ON \"%s\" (topolayer_id, fid)", - xconstraint1, xtable); - free (xtable); - free (xconstraint1); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("CREATE INDEX topofeatures-topolayers - error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopologyCreate (sqlite3 * handle, const char *topo_name, int srid, - double tolerance, int has_z) -{ -/* attempting to create a new Topology */ - int ret; - char *sql; - -/* creating the Topologies table (just in case) */ - if (!do_create_topologies (handle)) - return 0; - -/* testing for forbidding objects */ - if (!check_new_topology (handle, topo_name)) - return 0; - -/* creating the Topology own Tables */ - if (!do_create_face (handle, topo_name, srid)) - goto error; - if (!do_create_node (handle, topo_name, srid, has_z)) - goto error; - if (!do_create_edge (handle, topo_name, srid, has_z)) - goto error; - if (!do_create_seeds (handle, topo_name, srid, has_z)) - goto error; - if (!do_create_edge_seeds (handle, topo_name)) - goto error; - if (!do_create_face_seeds (handle, topo_name)) - goto error; - if (!do_create_face_geoms (handle, topo_name)) - goto error; - if (!do_create_topolayers (handle, topo_name)) - goto error; - if (!do_create_topofeatures (handle, topo_name)) - goto error; - -/* registering the Topology */ - sql = sqlite3_mprintf ("INSERT INTO MAIN.topologies (topology_name, " - "srid, tolerance, has_z) VALUES (Lower(%Q), %d, %f, %d)", - topo_name, srid, tolerance, has_z); - ret = sqlite3_exec (handle, sql, NULL, NULL, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - - return 1; - - error: - return 0; -} - -static int -check_existing_topology (sqlite3 * handle, const char *topo_name, - int full_check) -{ -/* testing if a Topology is already defined */ - char *sql; - char *prev; - char *table; - int ret; - int i; - char **results; - int rows; - int columns; - const char *value; - int error = 0; - -/* testing if the Topology is already defined */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.topologies WHERE " - "Lower(topology_name) = Lower(%Q)", topo_name); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 1) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - if (!full_check) - return 1; - -/* testing if all table/geom are correctly defined in geometry_columns */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM geometry_columns WHERE"); - prev = sql; - table = sqlite3_mprintf ("%s_node", topo_name); - sql = - sqlite3_mprintf - ("%s (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_edge", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(f_table_name) = Lower(%Q) AND f_geometry_column = 'mbr')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 3) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - -/* testing if all Spatial Views are correctly defined in geometry_columns */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM views_geometry_columns WHERE"); - prev = sql; - table = sqlite3_mprintf ("%s_edge_seeds", topo_name); - sql = - sqlite3_mprintf - ("%s (Lower(view_name) = Lower(%Q) AND view_geometry = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face_seeds", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(view_name) = Lower(%Q) AND view_geometry = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face_geoms", topo_name); - sql = - sqlite3_mprintf - ("%s OR (Lower(view_name) = Lower(%Q) AND view_geometry = 'geom')", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 3) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - - -/* testing if all tables are already defined */ - sql = - sqlite3_mprintf - ("SELECT Count(*) FROM sqlite_master WHERE (type = 'table' AND ("); - prev = sql; - table = sqlite3_mprintf ("%s_node", topo_name); - sql = sqlite3_mprintf ("%s Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_edge", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_node_geom", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_edge_geom", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("idx_%s_face_mbr", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)))", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_edge_seeds", topo_name); - sql = - sqlite3_mprintf ("%s OR (type = 'view' AND (Lower(name) = Lower(%Q)", - prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face_seeds", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - prev = sql; - table = sqlite3_mprintf ("%s_face_geoms", topo_name); - sql = sqlite3_mprintf ("%s OR Lower(name) = Lower(%Q)))", prev, table); - sqlite3_free (table); - sqlite3_free (prev); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 9) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - - return 1; -} - -static int -do_drop_topo_face (sqlite3 * handle, const char *topo_name) -{ -/* attempting to drop the Topology-Face table */ - char *sql; - char *table; - char *xtable; - char *err_msg = NULL; - int ret; - -/* disabling the corresponding Spatial Index */ - table = sqlite3_mprintf ("%s_face", topo_name); - sql = sqlite3_mprintf ("SELECT DisableSpatialIndex(%Q, 'mbr')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DisableSpatialIndex topology-face - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* discarding the Geometry column */ - table = sqlite3_mprintf ("%s_face", topo_name); - sql = sqlite3_mprintf ("SELECT DiscardGeometryColumn(%Q, 'mbr')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DisableGeometryColumn topology-face - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* dropping the main table */ - table = sqlite3_mprintf ("%s_face", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS \"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("DROP topology-face - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - -/* dropping the corresponding Spatial Index */ - table = sqlite3_mprintf ("idx_%s_face_mbr", topo_name); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS \"%s\"", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DROP SpatialIndex topology-face - error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_drop_topo_table (sqlite3 * handle, const char *topo_name, const char *which, - int spatial) -{ -/* attempting to drop some Topology table */ - char *sql; - char *table; - char *xtable; - char *err_msg = NULL; - int ret; - - if (strcmp (which, "face") == 0) - return do_drop_topo_face (handle, topo_name); - - if (spatial) - { - /* disabling the corresponding Spatial Index */ - table = sqlite3_mprintf ("%s_%s", topo_name, which); - sql = - sqlite3_mprintf ("SELECT DisableSpatialIndex(%Q, 'geom')", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DisableSpatialIndex topology-%s - error: %s\n", which, - err_msg); - sqlite3_free (err_msg); - return 0; - } - /* discarding the Geometry column */ - table = sqlite3_mprintf ("%s_%s", topo_name, which); - sql = - sqlite3_mprintf ("SELECT DiscardGeometryColumn(%Q, 'geom')", - table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DisableGeometryColumn topology-%s - error: %s\n", which, - err_msg); - sqlite3_free (err_msg); - return 0; - } - } - -/* dropping the main table */ - table = sqlite3_mprintf ("%s_%s", topo_name, which); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS MAIN.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("DROP topology-%s - error: %s\n", which, err_msg); - sqlite3_free (err_msg); - return 0; - } - - if (spatial) - { - /* dropping the corresponding Spatial Index */ - table = sqlite3_mprintf ("idx_%s_%s_geom", topo_name, which); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS MAIN.\"%s\"", table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (table); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("DROP SpatialIndex topology-%s - error: %s\n", which, - err_msg); - sqlite3_free (err_msg); - return 0; - } - } - - return 1; -} - -static int -do_drop_topo_view (sqlite3 * handle, const char *topo_name, const char *which) -{ -/* attempting to drop some Topology view */ - char *sql; - char *table; - char *xtable; - char *err_msg = NULL; - int ret; - -/* unregistering the Spatial View */ - table = sqlite3_mprintf ("%s_%s", topo_name, which); - sql = - sqlite3_mprintf - ("DELETE FROM views_geometry_columns WHERE view_name = Lower(%Q)", - table); - sqlite3_free (table); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("Unregister Spatial View -%s - error: %s\n", which, - err_msg); - sqlite3_free (err_msg); - } - -/* dropping the view */ - table = sqlite3_mprintf ("%s_%s", topo_name, which); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP VIEW IF EXISTS MAIN.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("DROP topology-%s - error: %s\n", which, err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -do_drop_topofeature_tables (sqlite3 * handle, const char *topo_name) -{ -/* dropping any eventual topofeatures table */ - char *table; - char *xtable; - char *sql; - char *err_msg = NULL; - int ret; - int i; - char **results; - int rows; - int columns; - - table = sqlite3_mprintf ("%s_topolayers", topo_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT topolayer_id FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 1; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - const char *id = results[(i * columns) + 0]; - table = sqlite3_mprintf ("%s_topofeatures_%s", topo_name, id); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("DROP TABLE IF EXISTS MAIN.\"%s\"", - xtable); - free (xtable); - ret = sqlite3_exec (handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("DROP topology-features (%s) - error: %s\n", - id, err_msg); - sqlite3_free (err_msg); - return 0; - } - } - } - sqlite3_free_table (results); - return 1; -} - -static int -do_get_topology (sqlite3 * handle, const char *topo_name, char **topology_name, - int *srid, double *tolerance, int *has_z) -{ -/* retrieving a Topology configuration */ - char *sql; - int ret; - sqlite3_stmt *stmt = NULL; - int ok = 0; - char *xtopology_name = NULL; - int xsrid; - double xtolerance; - int xhas_z; - -/* preparing the SQL query */ - sql = - sqlite3_mprintf - ("SELECT topology_name, srid, tolerance, has_z FROM MAIN.topologies WHERE " - "Lower(topology_name) = Lower(%Q)", topo_name); - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM topologys error: \"%s\"\n", - sqlite3_errmsg (handle)); - return 0; - } - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int ok_name = 0; - int ok_srid = 0; - int ok_tolerance = 0; - int ok_z = 0; - if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT) - { - const char *str = - (const char *) sqlite3_column_text (stmt, 0); - if (xtopology_name != NULL) - free (xtopology_name); - xtopology_name = malloc (strlen (str) + 1); - strcpy (xtopology_name, str); - ok_name = 1; - } - if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER) - { - xsrid = sqlite3_column_int (stmt, 1); - ok_srid = 1; - } - if (sqlite3_column_type (stmt, 2) == SQLITE_FLOAT) - { - xtolerance = sqlite3_column_double (stmt, 2); - ok_tolerance = 1; - } - if (sqlite3_column_type (stmt, 3) == SQLITE_INTEGER) - { - xhas_z = sqlite3_column_int (stmt, 3); - ok_z = 1; - } - if (ok_name && ok_srid && ok_tolerance && ok_z) - { - ok = 1; - break; - } - } - else - { - spatialite_e - ("step: SELECT FROM topologies error: \"%s\"\n", - sqlite3_errmsg (handle)); - sqlite3_finalize (stmt); - return 0; - } - } - sqlite3_finalize (stmt); - - if (ok) - { - *topology_name = xtopology_name; - *srid = xsrid; - *tolerance = xtolerance; - *has_z = xhas_z; - return 1; - } - - if (xtopology_name != NULL) - free (xtopology_name); - return 0; -} - -GAIATOPO_DECLARE GaiaTopologyAccessorPtr -gaiaGetTopology (sqlite3 * handle, const void *cache, const char *topo_name) -{ -/* attempting to get a reference to some Topology Accessor Object */ - GaiaTopologyAccessorPtr accessor; - -/* attempting to retrieve an alredy cached definition */ - accessor = gaiaTopologyFromCache (cache, topo_name); - if (accessor != NULL) - return accessor; - -/* attempting to create a new Topology Accessor */ - accessor = gaiaTopologyFromDBMS (handle, cache, topo_name); - return accessor; -} - -GAIATOPO_DECLARE GaiaTopologyAccessorPtr -gaiaTopologyFromCache (const void *p_cache, const char *topo_name) -{ -/* attempting to retrieve an already defined Topology Accessor Object from the Connection Cache */ - struct gaia_topology *ptr; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == 0) - return NULL; - - ptr = (struct gaia_topology *) (cache->firstTopology); - while (ptr != NULL) - { - /* checking for an already registered Topology */ - if (strcasecmp (topo_name, ptr->topology_name) == 0) - return (GaiaTopologyAccessorPtr) ptr; - ptr = ptr->next; - } - return NULL; -} - -GAIATOPO_DECLARE int -gaiaReadTopologyFromDBMS (sqlite3 * - handle, - const char - *topo_name, char **topology_name, int *srid, - double *tolerance, int *has_z) -{ -/* testing for existing DBMS objects */ - if (!check_existing_topology (handle, topo_name, 1)) - return 0; - -/* retrieving the Topology configuration */ - if (!do_get_topology - (handle, topo_name, topology_name, srid, tolerance, has_z)) - return 0; - return 1; -} - -GAIATOPO_DECLARE GaiaTopologyAccessorPtr -gaiaTopologyFromDBMS (sqlite3 * handle, const void *p_cache, - const char *topo_name) -{ -/* attempting to create a Topology Accessor Object into the Connection Cache */ - const RTCTX *ctx = NULL; - RTT_BE_CALLBACKS *callbacks; - struct gaia_topology *ptr; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == 0) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - -/* allocating and initializing the opaque object */ - ptr = malloc (sizeof (struct gaia_topology)); - ptr->db_handle = handle; - ptr->cache = cache; - ptr->topology_name = NULL; - ptr->srid = -1; - ptr->tolerance = 0; - ptr->has_z = 0; - ptr->last_error_message = NULL; - ptr->rtt_iface = rtt_CreateBackendIface (ctx, (const RTT_BE_DATA *) ptr); - ptr->prev = cache->lastTopology; - ptr->next = NULL; - - callbacks = malloc (sizeof (RTT_BE_CALLBACKS)); - callbacks->lastErrorMessage = callback_lastErrorMessage; - callbacks->topoGetSRID = callback_topoGetSRID; - callbacks->topoGetPrecision = callback_topoGetPrecision; - callbacks->topoHasZ = callback_topoHasZ; - callbacks->createTopology = NULL; - callbacks->loadTopologyByName = callback_loadTopologyByName; - callbacks->freeTopology = callback_freeTopology; - callbacks->getNodeById = callback_getNodeById; - callbacks->getNodeWithinDistance2D = callback_getNodeWithinDistance2D; - callbacks->insertNodes = callback_insertNodes; - callbacks->getEdgeById = callback_getEdgeById; - callbacks->getEdgeWithinDistance2D = callback_getEdgeWithinDistance2D; - callbacks->getNextEdgeId = callback_getNextEdgeId; - callbacks->insertEdges = callback_insertEdges; - callbacks->updateEdges = callback_updateEdges; - callbacks->getFaceById = callback_getFaceById; - callbacks->getFaceContainingPoint = callback_getFaceContainingPoint; - callbacks->deleteEdges = callback_deleteEdges; - callbacks->getNodeWithinBox2D = callback_getNodeWithinBox2D; - callbacks->getEdgeWithinBox2D = callback_getEdgeWithinBox2D; - callbacks->getEdgeByNode = callback_getEdgeByNode; - callbacks->updateNodes = callback_updateNodes; - callbacks->insertFaces = callback_insertFaces; - callbacks->updateFacesById = callback_updateFacesById; - callbacks->deleteFacesById = callback_deleteFacesById; - callbacks->getRingEdges = callback_getRingEdges; - callbacks->updateEdgesById = callback_updateEdgesById; - callbacks->getEdgeByFace = callback_getEdgeByFace; - callbacks->getNodeByFace = callback_getNodeByFace; - callbacks->updateNodesById = callback_updateNodesById; - callbacks->deleteNodesById = callback_deleteNodesById; - callbacks->updateTopoGeomEdgeSplit = callback_updateTopoGeomEdgeSplit; - callbacks->updateTopoGeomFaceSplit = callback_updateTopoGeomFaceSplit; - callbacks->checkTopoGeomRemEdge = callback_checkTopoGeomRemEdge; - callbacks->updateTopoGeomFaceHeal = callback_updateTopoGeomFaceHeal; - callbacks->checkTopoGeomRemNode = callback_checkTopoGeomRemNode; - callbacks->updateTopoGeomEdgeHeal = callback_updateTopoGeomEdgeHeal; - callbacks->getFaceWithinBox2D = callback_getFaceWithinBox2D; - ptr->callbacks = callbacks; - - rtt_BackendIfaceRegisterCallbacks (ptr->rtt_iface, callbacks); - ptr->rtt_topology = rtt_LoadTopology (ptr->rtt_iface, topo_name); - - ptr->stmt_getNodeWithinDistance2D = NULL; - ptr->stmt_insertNodes = NULL; - ptr->stmt_getEdgeWithinDistance2D = NULL; - ptr->stmt_getNextEdgeId = NULL; - ptr->stmt_setNextEdgeId = NULL; - ptr->stmt_insertEdges = NULL; - ptr->stmt_getFaceContainingPoint_1 = NULL; - ptr->stmt_getFaceContainingPoint_2 = NULL; - ptr->stmt_deleteEdges = NULL; - ptr->stmt_getNodeWithinBox2D = NULL; - ptr->stmt_getEdgeWithinBox2D = NULL; - ptr->stmt_getFaceWithinBox2D = NULL; - ptr->stmt_getAllEdges = NULL; - ptr->stmt_updateNodes = NULL; - ptr->stmt_insertFaces = NULL; - ptr->stmt_updateFacesById = NULL; - ptr->stmt_deleteFacesById = NULL; - ptr->stmt_deleteNodesById = NULL; - ptr->stmt_getRingEdges = NULL; - if (ptr->rtt_topology == NULL) - { - char *msg = - sqlite3_mprintf ("Topology \"%s\" is undefined !!!", topo_name); - gaiaSetRtTopoErrorMsg (p_cache, msg); - goto invalid; - } - -/* creating the SQL prepared statements */ - create_topogeo_prepared_stmts ((GaiaTopologyAccessorPtr) ptr); - - return (GaiaTopologyAccessorPtr) ptr; - - invalid: - gaiaTopologyDestroy ((GaiaTopologyAccessorPtr) ptr); - return NULL; -} - -GAIATOPO_DECLARE void -gaiaTopologyDestroy (GaiaTopologyAccessorPtr topo_ptr) -{ -/* destroying a Topology Accessor Object */ - struct gaia_topology *prev; - struct gaia_topology *next; - struct splite_internal_cache *cache; - struct gaia_topology *ptr = (struct gaia_topology *) topo_ptr; - if (ptr == NULL) - return; - - prev = ptr->prev; - next = ptr->next; - cache = (struct splite_internal_cache *) (ptr->cache); - if (ptr->rtt_topology != NULL) - rtt_FreeTopology ((RTT_TOPOLOGY *) (ptr->rtt_topology)); - if (ptr->rtt_iface != NULL) - rtt_FreeBackendIface ((RTT_BE_IFACE *) (ptr->rtt_iface)); - if (ptr->callbacks != NULL) - free (ptr->callbacks); - if (ptr->topology_name != NULL) - free (ptr->topology_name); - if (ptr->last_error_message != NULL) - free (ptr->last_error_message); - - finalize_topogeo_prepared_stmts (topo_ptr); - free (ptr); - -/* unregistering from the Internal Cache double linked list */ - if (prev != NULL) - prev->next = next; - if (next != NULL) - next->prev = prev; - if (cache->firstTopology == ptr) - cache->firstTopology = next; - if (cache->lastTopology == ptr) - cache->lastTopology = prev; -} - -TOPOLOGY_PRIVATE void -finalize_topogeo_prepared_stmts (GaiaTopologyAccessorPtr accessor) -{ -/* finalizing the SQL prepared statements */ - struct gaia_topology *ptr = (struct gaia_topology *) accessor; - if (ptr->stmt_getNodeWithinDistance2D != NULL) - sqlite3_finalize (ptr->stmt_getNodeWithinDistance2D); - if (ptr->stmt_insertNodes != NULL) - sqlite3_finalize (ptr->stmt_insertNodes); - if (ptr->stmt_getEdgeWithinDistance2D != NULL) - sqlite3_finalize (ptr->stmt_getEdgeWithinDistance2D); - if (ptr->stmt_getNextEdgeId != NULL) - sqlite3_finalize (ptr->stmt_getNextEdgeId); - if (ptr->stmt_setNextEdgeId != NULL) - sqlite3_finalize (ptr->stmt_setNextEdgeId); - if (ptr->stmt_insertEdges != NULL) - sqlite3_finalize (ptr->stmt_insertEdges); - if (ptr->stmt_getFaceContainingPoint_1 != NULL) - sqlite3_finalize (ptr->stmt_getFaceContainingPoint_1); - if (ptr->stmt_getFaceContainingPoint_2 != NULL) - sqlite3_finalize (ptr->stmt_getFaceContainingPoint_2); - if (ptr->stmt_deleteEdges != NULL) - sqlite3_finalize (ptr->stmt_deleteEdges); - if (ptr->stmt_getNodeWithinBox2D != NULL) - sqlite3_finalize (ptr->stmt_getNodeWithinBox2D); - if (ptr->stmt_getEdgeWithinBox2D != NULL) - sqlite3_finalize (ptr->stmt_getEdgeWithinBox2D); - if (ptr->stmt_getFaceWithinBox2D != NULL) - sqlite3_finalize (ptr->stmt_getFaceWithinBox2D); - if (ptr->stmt_getAllEdges != NULL) - sqlite3_finalize (ptr->stmt_getAllEdges); - if (ptr->stmt_updateNodes != NULL) - sqlite3_finalize (ptr->stmt_updateNodes); - if (ptr->stmt_insertFaces != NULL) - sqlite3_finalize (ptr->stmt_insertFaces); - if (ptr->stmt_updateFacesById != NULL) - sqlite3_finalize (ptr->stmt_updateFacesById); - if (ptr->stmt_deleteFacesById != NULL) - sqlite3_finalize (ptr->stmt_deleteFacesById); - if (ptr->stmt_deleteNodesById != NULL) - sqlite3_finalize (ptr->stmt_deleteNodesById); - if (ptr->stmt_getRingEdges != NULL) - sqlite3_finalize (ptr->stmt_getRingEdges); - ptr->stmt_getNodeWithinDistance2D = NULL; - ptr->stmt_insertNodes = NULL; - ptr->stmt_getEdgeWithinDistance2D = NULL; - ptr->stmt_getNextEdgeId = NULL; - ptr->stmt_setNextEdgeId = NULL; - ptr->stmt_insertEdges = NULL; - ptr->stmt_getFaceContainingPoint_1 = NULL; - ptr->stmt_getFaceContainingPoint_2 = NULL; - ptr->stmt_deleteEdges = NULL; - ptr->stmt_getNodeWithinBox2D = NULL; - ptr->stmt_getEdgeWithinBox2D = NULL; - ptr->stmt_getFaceWithinBox2D = NULL; - ptr->stmt_getAllEdges = NULL; - ptr->stmt_updateNodes = NULL; - ptr->stmt_insertFaces = NULL; - ptr->stmt_updateFacesById = NULL; - ptr->stmt_deleteFacesById = NULL; - ptr->stmt_deleteNodesById = NULL; - ptr->stmt_getRingEdges = NULL; -} - -TOPOLOGY_PRIVATE void -create_topogeo_prepared_stmts (GaiaTopologyAccessorPtr accessor) -{ -/* creating the SQL prepared statements */ - struct gaia_topology *ptr = (struct gaia_topology *) accessor; - finalize_topogeo_prepared_stmts (accessor); - ptr->stmt_getNodeWithinDistance2D = - do_create_stmt_getNodeWithinDistance2D (accessor); - ptr->stmt_insertNodes = do_create_stmt_insertNodes (accessor); - ptr->stmt_getEdgeWithinDistance2D = - do_create_stmt_getEdgeWithinDistance2D (accessor); - ptr->stmt_getNextEdgeId = do_create_stmt_getNextEdgeId (accessor); - ptr->stmt_setNextEdgeId = do_create_stmt_setNextEdgeId (accessor); - ptr->stmt_insertEdges = do_create_stmt_insertEdges (accessor); - ptr->stmt_getFaceContainingPoint_1 = - do_create_stmt_getFaceContainingPoint_1 (accessor); - ptr->stmt_getFaceContainingPoint_2 = - do_create_stmt_getFaceContainingPoint_2 (accessor); - ptr->stmt_deleteEdges = NULL; - ptr->stmt_getNodeWithinBox2D = do_create_stmt_getNodeWithinBox2D (accessor); - ptr->stmt_getEdgeWithinBox2D = do_create_stmt_getEdgeWithinBox2D (accessor); - ptr->stmt_getFaceWithinBox2D = do_create_stmt_getFaceWithinBox2D (accessor); - ptr->stmt_getAllEdges = do_create_stmt_getAllEdges (accessor); - ptr->stmt_updateNodes = NULL; - ptr->stmt_insertFaces = do_create_stmt_insertFaces (accessor); - ptr->stmt_updateFacesById = do_create_stmt_updateFacesById (accessor); - ptr->stmt_deleteFacesById = do_create_stmt_deleteFacesById (accessor); - ptr->stmt_deleteNodesById = do_create_stmt_deleteNodesById (accessor); - ptr->stmt_getRingEdges = do_create_stmt_getRingEdges (accessor); -} - -TOPOLOGY_PRIVATE void -finalize_all_topo_prepared_stmts (const void *p_cache) -{ -/* finalizing all Topology-related prepared Stms */ - struct gaia_topology *p_topo; - struct gaia_network *p_network; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return; - - p_topo = (struct gaia_topology *) cache->firstTopology; - while (p_topo != NULL) - { - finalize_topogeo_prepared_stmts ((GaiaTopologyAccessorPtr) p_topo); - p_topo = p_topo->next; - } - - p_network = (struct gaia_network *) cache->firstNetwork; - while (p_network != NULL) - { - finalize_toponet_prepared_stmts ((GaiaNetworkAccessorPtr) p_network); - p_network = p_network->next; - } -} - -TOPOLOGY_PRIVATE void -create_all_topo_prepared_stmts (const void *p_cache) -{ -/* (re)creating all Topology-related prepared Stms */ - struct gaia_topology *p_topo; - struct gaia_network *p_network; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) p_cache; - if (cache == NULL) - return; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return; - - p_topo = (struct gaia_topology *) cache->firstTopology; - while (p_topo != NULL) - { - create_topogeo_prepared_stmts ((GaiaTopologyAccessorPtr) p_topo); - p_topo = p_topo->next; - } - - p_network = (struct gaia_network *) cache->firstNetwork; - while (p_network != NULL) - { - create_toponet_prepared_stmts ((GaiaNetworkAccessorPtr) p_network); - p_network = p_network->next; - } -} - -TOPOLOGY_PRIVATE void -gaiatopo_reset_last_error_msg (GaiaTopologyAccessorPtr accessor) -{ -/* resets the last Topology error message */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return; - - if (topo->cache != NULL) - gaiaResetRtTopoMsg (topo->cache); - if (topo->last_error_message != NULL) - free (topo->last_error_message); - topo->last_error_message = NULL; -} - -TOPOLOGY_PRIVATE void -gaiatopo_set_last_error_msg (GaiaTopologyAccessorPtr accessor, const char *msg) -{ -/* sets the last Topology error message */ - int len; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (msg == NULL) - msg = "no message available"; - - spatialite_e ("%s\n", msg); - if (topo == NULL) - return; - - if (topo->last_error_message != NULL) - return; - - len = strlen (msg); - topo->last_error_message = malloc (len + 1); - strcpy (topo->last_error_message, msg); -} - -TOPOLOGY_PRIVATE const char * -gaiatopo_get_last_exception (GaiaTopologyAccessorPtr accessor) -{ -/* returns the last Topology error message */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return NULL; - - return topo->last_error_message; -} - -GAIATOPO_DECLARE int -gaiaTopologyDrop (sqlite3 * handle, const char *topo_name) -{ -/* attempting to drop an already existing Topology */ - int ret; - char *sql; - int i; - char **results; - int rows; - int columns; - int count = 1; - -/* creating the Topologies table (just in case) */ - if (!do_create_topologies (handle)) - return 0; - -/* testing for existing DBMS objects */ - if (!check_existing_topology (handle, topo_name, 0)) - return 0; - -/* dropping all topofeature tables (if any) */ - if (!do_drop_topofeature_tables (handle, topo_name)) - goto error; - -/* dropping the Topology own Tables */ - if (!do_drop_topo_view (handle, topo_name, "edge_seeds")) - goto error; - if (!do_drop_topo_view (handle, topo_name, "face_seeds")) - goto error; - if (!do_drop_topo_view (handle, topo_name, "face_geoms")) - goto error; - if (!do_drop_topo_table (handle, topo_name, "topofeatures", 0)) - goto error; - if (!do_drop_topo_table (handle, topo_name, "topolayers", 0)) - goto error; - if (!do_drop_topo_table (handle, topo_name, "seeds", 1)) - goto error; - if (!do_drop_topo_table (handle, topo_name, "edge", 1)) - goto error; - if (!do_drop_topo_table (handle, topo_name, "node", 1)) - goto error; - if (!do_drop_topo_table (handle, topo_name, "face", 1)) - goto error; - -/* unregistering the Topology */ - sql = - sqlite3_mprintf - ("DELETE FROM MAIN.topologies WHERE Lower(topology_name) = Lower(%Q)", - topo_name); - ret = sqlite3_exec (handle, sql, NULL, NULL, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - -/* counting how many Topologies are still there */ - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.topologies"); - ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 1; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - count = atoi (results[(i * columns) + 0]); - } - sqlite3_free_table (results); - if (count == 0) - { - /* attempting to drop the master "topologies" table */ - sql = sqlite3_mprintf ("DROP TABLE MAIN.topologies"); - ret = sqlite3_exec (handle, sql, NULL, NULL, NULL); - sqlite3_free (sql); - } - - return 1; - - error: - return 0; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaAddIsoNode (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 face, gaiaPointPtr pt, int skip_checks) -{ -/* RTT wrapper - AddIsoNode */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - int has_z = 0; - RTPOINT *rt_pt; - RTPOINTARRAY *pa; - RTPOINT4D point; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - pa = ptarray_construct (ctx, has_z, 0, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - ptarray_set_point4d (ctx, pa, 0, &point); - rt_pt = rtpoint_construct (ctx, topo->srid, NULL, pa); - - gaiaResetRtTopoMsg (cache); - ret = - rtt_AddIsoNode ((RTT_TOPOLOGY *) (topo->rtt_topology), face, rt_pt, - skip_checks); - - rtpoint_free (ctx, rt_pt); - return ret; -} - -GAIATOPO_DECLARE int -gaiaMoveIsoNode (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 node, gaiaPointPtr pt) -{ -/* RTT wrapper - MoveIsoNode */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - int ret; - int has_z = 0; - RTPOINT *rt_pt; - RTPOINTARRAY *pa; - RTPOINT4D point; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - pa = ptarray_construct (ctx, has_z, 0, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - ptarray_set_point4d (ctx, pa, 0, &point); - rt_pt = rtpoint_construct (ctx, topo->srid, NULL, pa); - - gaiaResetRtTopoMsg (cache); - ret = rtt_MoveIsoNode ((RTT_TOPOLOGY *) (topo->rtt_topology), node, rt_pt); - - rtpoint_free (ctx, rt_pt); - if (ret == 0) - return 1; - return 0; -} - -GAIATOPO_DECLARE int -gaiaRemIsoNode (GaiaTopologyAccessorPtr accessor, sqlite3_int64 node) -{ -/* RTT wrapper - RemIsoNode */ - struct splite_internal_cache *cache = NULL; - int ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - - gaiaResetRtTopoMsg (cache); - ret = rtt_RemoveIsoNode ((RTT_TOPOLOGY *) (topo->rtt_topology), node); - - if (ret == 0) - return 1; - return 0; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaAddIsoEdge (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 start_node, sqlite3_int64 end_node, - gaiaLinestringPtr ln) -{ -/* RTT wrapper - AddIsoEdge */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - RTLINE *rt_line; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - rt_line = - gaia_convert_linestring_to_rtline (ctx, ln, topo->srid, topo->has_z); - - gaiaResetRtTopoMsg (cache); - ret = - rtt_AddIsoEdge ((RTT_TOPOLOGY *) (topo->rtt_topology), start_node, - end_node, rt_line); - - rtline_free (ctx, rt_line); - return ret; -} - -GAIATOPO_DECLARE int -gaiaRemIsoEdge (GaiaTopologyAccessorPtr accessor, sqlite3_int64 edge) -{ -/* RTT wrapper - RemIsoEdge */ - struct splite_internal_cache *cache = NULL; - int ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - - gaiaResetRtTopoMsg (cache); - ret = rtt_RemIsoEdge ((RTT_TOPOLOGY *) (topo->rtt_topology), edge); - - if (ret == 0) - return 1; - return 0; -} - -GAIATOPO_DECLARE int -gaiaChangeEdgeGeom (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 edge_id, gaiaLinestringPtr ln) -{ -/* RTT wrapper - ChangeEdgeGeom */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - int ret; - RTLINE *rt_line; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - rt_line = - gaia_convert_linestring_to_rtline (ctx, ln, topo->srid, topo->has_z); - - gaiaResetRtTopoMsg (cache); - ret = - rtt_ChangeEdgeGeom ((RTT_TOPOLOGY *) (topo->rtt_topology), edge_id, - rt_line); - - rtline_free (ctx, rt_line); - if (ret == 0) - return 1; - return 0; -} - -static void -do_check_mod_split_edge3d (struct gaia_topology *topo, gaiaPointPtr pt, - sqlite3_int64 old_edge) -{ -/* -/ defensive programming: carefully ensuring that lwgeom could -/ never shift Edges' start/end points after computing ModSplit -/ 3D topology -*/ - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - double x1s; - double y1s; - double z1s; - double x1e; - double y1e; - double z1e; - double x2s; - double y2s; - double z2s; - double x2e; - double y2e; - double z2e; - sqlite3_int64 new_edge = sqlite3_last_insert_rowid (topo->db_handle); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf - ("SELECT ST_X(ST_StartPoint(geom)), ST_Y(ST_StartPoint(geom)), " - "ST_Z(ST_StartPoint(geom)), ST_X(ST_EndPoint(geom)), ST_Y(ST_EndPoint(geom)), " - "ST_Z(ST_EndPoint(geom)) FROM \"%s\" WHERE edge_id = ?", xtable); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return; - - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, old_edge); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - x1s = sqlite3_column_double (stmt, 0); - y1s = sqlite3_column_double (stmt, 1); - z1s = sqlite3_column_double (stmt, 2); - x1e = sqlite3_column_double (stmt, 3); - y1e = sqlite3_column_double (stmt, 4); - z1e = sqlite3_column_double (stmt, 5); - } - else - goto error; - } - - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, new_edge); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - x2s = sqlite3_column_double (stmt, 0); - y2s = sqlite3_column_double (stmt, 1); - z2s = sqlite3_column_double (stmt, 2); - x2e = sqlite3_column_double (stmt, 3); - y2e = sqlite3_column_double (stmt, 4); - z2e = sqlite3_column_double (stmt, 5); - } - else - goto error; - } - if (x1s == x2e && y1s == y2e && z1s == z2e) - { - /* just silencing stupid compiler warnings */ - ; - } - if (x1e == x2s && y1e == y2s && z1e == z2s) - { - if (x1e != pt->X || y1e != pt->Y || z1e != pt->Z) - goto fixme; - } - error: - sqlite3_finalize (stmt); - return; - - fixme: - sqlite3_finalize (stmt); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf - ("UPDATE \"%s\" SET geom = ST_SetEndPoint(geom, MakePointZ(?, ?, ?)) WHERE edge_id = ?", - xtable); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, pt->X); - sqlite3_bind_double (stmt, 2, pt->Y); - sqlite3_bind_double (stmt, 3, pt->Z); - sqlite3_bind_int64 (stmt, 4, old_edge); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - goto error2; - - sqlite3_finalize (stmt); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf - ("UPDATE \"%s\" SET geom = ST_SetStartPoint(geom, MakePointZ(?, ?, ?)) WHERE edge_id = ?", - xtable); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, pt->X); - sqlite3_bind_double (stmt, 2, pt->Y); - sqlite3_bind_double (stmt, 3, pt->Z); - sqlite3_bind_int64 (stmt, 4, new_edge); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - goto error2; - - error2: - sqlite3_finalize (stmt); - return; -} - -static void -do_check_mod_split_edge (struct gaia_topology *topo, gaiaPointPtr pt, - sqlite3_int64 old_edge) -{ -/* -/ defensive programming: carefully ensuring that lwgeom could -/ never shift Edges' start/end points after computing ModSplit -/ 2D topology -*/ - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - double x1s; - double y1s; - double x1e; - double y1e; - double x2s; - double y2s; - double x2e; - double y2e; - sqlite3_int64 new_edge; - if (topo->has_z) - { - do_check_mod_split_edge3d (topo, pt, old_edge); - return; - } - - new_edge = sqlite3_last_insert_rowid (topo->db_handle); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf - ("SELECT ST_X(ST_StartPoint(geom)), ST_Y(ST_StartPoint(geom)), " - "ST_X(ST_EndPoint(geom)), ST_Y(ST_EndPoint(geom)) FROM \"%s\" WHERE edge_id = ?", - xtable); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return; - - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, old_edge); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - x1s = sqlite3_column_double (stmt, 0); - y1s = sqlite3_column_double (stmt, 1); - x1e = sqlite3_column_double (stmt, 2); - y1e = sqlite3_column_double (stmt, 3); - } - else - goto error; - } - - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, new_edge); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - x2s = sqlite3_column_double (stmt, 0); - y2s = sqlite3_column_double (stmt, 1); - x2e = sqlite3_column_double (stmt, 2); - y2e = sqlite3_column_double (stmt, 3); - } - else - goto error; - } - if (x1s == x2e && y1s == y2e) - { - /* just silencing stupid compiler warnings */ - ; - } - if (x1e == x2s && y1e == y2s) - { - if (x1e != pt->X || y1e != pt->Y) - goto fixme; - } - error: - sqlite3_finalize (stmt); - return; - - fixme: - sqlite3_finalize (stmt); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf - ("UPDATE \"%s\" SET geom = ST_SetEndPoint(geom, MakePoint(?, ?)) WHERE edge_id = ?", - xtable); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, pt->X); - sqlite3_bind_double (stmt, 2, pt->Y); - sqlite3_bind_int64 (stmt, 3, old_edge); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - goto error2; - - sqlite3_finalize (stmt); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf - ("UPDATE \"%s\" SET geom = ST_SetStartPoint(geom, MakePoint(?, ?)) WHERE edge_id = ?", - xtable); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, pt->X); - sqlite3_bind_double (stmt, 2, pt->Y); - sqlite3_bind_int64 (stmt, 3, new_edge); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - goto error2; - - error2: - sqlite3_finalize (stmt); - return; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaModEdgeSplit (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 edge, gaiaPointPtr pt, int skip_checks) -{ -/* RTT wrapper - ModEdgeSplit */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - int has_z = 0; - RTPOINT *rt_pt; - RTPOINTARRAY *pa; - RTPOINT4D point; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - pa = ptarray_construct (ctx, has_z, 0, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - ptarray_set_point4d (ctx, pa, 0, &point); - rt_pt = rtpoint_construct (ctx, topo->srid, NULL, pa); - - gaiaResetRtTopoMsg (cache); - ret = - rtt_ModEdgeSplit ((RTT_TOPOLOGY *) (topo->rtt_topology), edge, rt_pt, - skip_checks); - - rtpoint_free (ctx, rt_pt); - - if (ret > 0) - do_check_mod_split_edge (topo, pt, edge); - - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaNewEdgesSplit (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 edge, gaiaPointPtr pt, int skip_checks) -{ -/* RTT wrapper - NewEdgesSplit */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - int has_z = 0; - RTPOINT *rt_pt; - RTPOINTARRAY *pa; - RTPOINT4D point; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - pa = ptarray_construct (ctx, has_z, 0, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - ptarray_set_point4d (ctx, pa, 0, &point); - rt_pt = rtpoint_construct (ctx, topo->srid, NULL, pa); - - gaiaResetRtTopoMsg (cache); - ret = - rtt_NewEdgesSplit ((RTT_TOPOLOGY *) (topo->rtt_topology), edge, rt_pt, - skip_checks); - - rtpoint_free (ctx, rt_pt); - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaAddEdgeModFace (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 start_node, sqlite3_int64 end_node, - gaiaLinestringPtr ln, int skip_checks) -{ -/* RTT wrapper - AddEdgeModFace */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - RTLINE *rt_line; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - rt_line = - gaia_convert_linestring_to_rtline (ctx, ln, topo->srid, topo->has_z); - - gaiaResetRtTopoMsg (cache); - ret = - rtt_AddEdgeModFace ((RTT_TOPOLOGY *) (topo->rtt_topology), start_node, - end_node, rt_line, skip_checks); - - rtline_free (ctx, rt_line); - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaAddEdgeNewFaces (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 start_node, sqlite3_int64 end_node, - gaiaLinestringPtr ln, int skip_checks) -{ -/* RTT wrapper - AddEdgeNewFaces */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - RTLINE *rt_line; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - rt_line = - gaia_convert_linestring_to_rtline (ctx, ln, topo->srid, topo->has_z); - - gaiaResetRtTopoMsg (cache); - ret = - rtt_AddEdgeNewFaces ((RTT_TOPOLOGY *) (topo->rtt_topology), start_node, - end_node, rt_line, skip_checks); - - rtline_free (ctx, rt_line); - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaRemEdgeNewFace (GaiaTopologyAccessorPtr accessor, sqlite3_int64 edge_id) -{ -/* RTT wrapper - RemEdgeNewFace */ - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - - gaiaResetRtTopoMsg (cache); - ret = rtt_RemEdgeNewFace ((RTT_TOPOLOGY *) (topo->rtt_topology), edge_id); - - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaRemEdgeModFace (GaiaTopologyAccessorPtr accessor, sqlite3_int64 edge_id) -{ -/* RTT wrapper - RemEdgeModFace */ - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - - gaiaResetRtTopoMsg (cache); - ret = rtt_RemEdgeModFace ((RTT_TOPOLOGY *) (topo->rtt_topology), edge_id); - - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaNewEdgeHeal (GaiaTopologyAccessorPtr accessor, sqlite3_int64 edge_id1, - sqlite3_int64 edge_id2) -{ -/* RTT wrapper - NewEdgeHeal */ - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - - gaiaResetRtTopoMsg (cache); - ret = - rtt_NewEdgeHeal ((RTT_TOPOLOGY *) (topo->rtt_topology), edge_id1, - edge_id2); - - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaModEdgeHeal (GaiaTopologyAccessorPtr accessor, sqlite3_int64 edge_id1, - sqlite3_int64 edge_id2) -{ -/* RTT wrapper - ModEdgeHeal */ - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - - gaiaResetRtTopoMsg (cache); - ret = - rtt_ModEdgeHeal ((RTT_TOPOLOGY *) (topo->rtt_topology), edge_id1, - edge_id2); - - return ret; -} - -GAIATOPO_DECLARE gaiaGeomCollPtr -gaiaGetFaceGeometry (GaiaTopologyAccessorPtr accessor, sqlite3_int64 face) -{ -/* RTT wrapper - GetFaceGeometry */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - RTGEOM *result = NULL; - RTPOLY *rtpoly; - int has_z = 0; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - int iv; - int ib; - double x; - double y; - double z; - gaiaGeomCollPtr geom; - gaiaPolygonPtr pg; - gaiaRingPtr rng; - int dimension_model; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - result = rtt_GetFaceGeometry ((RTT_TOPOLOGY *) (topo->rtt_topology), face); - if (result == NULL) - return NULL; - -/* converting the result as a Gaia Geometry */ - rtpoly = (RTPOLY *) result; - if (rtpoly->nrings <= 0) - { - /* empty geometry */ - rtgeom_free (ctx, result); - return NULL; - } - pa = rtpoly->rings[0]; - if (pa->npoints <= 0) - { - /* empty geometry */ - rtgeom_free (ctx, result); - return NULL; - } - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (has_z) - { - dimension_model = GAIA_XY_Z; - geom = gaiaAllocGeomCollXYZ (); - } - else - { - dimension_model = GAIA_XY; - geom = gaiaAllocGeomColl (); - } - pg = gaiaAddPolygonToGeomColl (geom, pa->npoints, rtpoly->nrings - 1); - rng = pg->Exterior; - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying Exterior Ring vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (dimension_model == GAIA_XY_Z) - { - gaiaSetPointXYZ (rng->Coords, iv, x, y, z); - } - else - { - gaiaSetPoint (rng->Coords, iv, x, y); - } - } - for (ib = 1; ib < rtpoly->nrings; ib++) - { - has_z = 0; - pa = rtpoly->rings[ib]; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - rng = gaiaAddInteriorRing (pg, ib - 1, pa->npoints); - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying Exterior Ring vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - else - z = 0.0; - if (dimension_model == GAIA_XY_Z) - { - gaiaSetPointXYZ (rng->Coords, iv, x, y, z); - } - else - { - gaiaSetPoint (rng->Coords, iv, x, y); - } - } - } - rtgeom_free (ctx, result); - geom->DeclaredType = GAIA_POLYGON; - geom->Srid = topo->srid; - return geom; -} - -static int -do_check_create_faceedges_table (GaiaTopologyAccessorPtr accessor) -{ -/* attemtping to create or validate the target table */ - char *sql; - char *table; - char *xtable; - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int exists = 0; - int ok_face_id = 0; - int ok_sequence = 0; - int ok_edge_id = 0; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - -/* testing for an already existing table */ - table = sqlite3_mprintf ("%s_face_edges_temp", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("PRAGMA TEMP.table_info(\"%s\")", xtable); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("ST_GetFaceEdges exception: %s", errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 1]; - const char *type = results[(i * columns) + 2]; - const char *notnull = results[(i * columns) + 3]; - const char *dflt_value = results[(i * columns) + 4]; - const char *pk = results[(i * columns) + 5]; - if (strcmp (name, "face_id") == 0 && strcmp (type, "INTEGER") == 0 - && strcmp (notnull, "1") == 0 && dflt_value == NULL - && strcmp (pk, "1") == 0) - ok_face_id = 1; - if (strcmp (name, "sequence") == 0 && strcmp (type, "INTEGER") == 0 - && strcmp (notnull, "1") == 0 && dflt_value == NULL - && strcmp (pk, "2") == 0) - ok_sequence = 1; - if (strcmp (name, "edge_id") == 0 && strcmp (type, "INTEGER") == 0 - && strcmp (notnull, "1") == 0 && dflt_value == NULL - && strcmp (pk, "0") == 0) - ok_edge_id = 1; - exists = 1; - } - sqlite3_free_table (results); - if (ok_face_id && ok_sequence && ok_edge_id) - return 1; /* already existing and valid */ - - if (exists) - return 0; /* already existing but invalid */ - -/* attempting to create the table */ - table = sqlite3_mprintf ("%s_face_edges_temp", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("CREATE TEMP TABLE \"%s\" (\n\tface_id INTEGER NOT NULL,\n" - "\tsequence INTEGER NOT NULL,\n\tedge_id INTEGER NOT NULL,\n" - "\tCONSTRAINT pk_topo_facee_edges PRIMARY KEY (face_id, sequence))", - xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("ST_GetFaceEdges exception: %s", errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - sqlite3_free (errMsg); - return 0; - } - - return 1; -} - -static int -do_populate_faceedges_table (GaiaTopologyAccessorPtr accessor, - sqlite3_int64 face, RTT_ELEMID * edges, - int num_edges) -{ -/* populating the target table */ - char *sql; - char *table; - char *xtable; - int ret; - int i; - sqlite3_stmt *stmt = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - -/* deleting all rows belonging to Face (if any) */ - table = sqlite3_mprintf ("%s_face_edges_temp", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM TEMP.\"%s\" WHERE face_id = ?", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("ST_GetFaceEdges exception: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, face); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = sqlite3_mprintf ("ST_GetFaceEdges exception: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - sqlite3_finalize (stmt); - stmt = NULL; - -/* preparing the INSERT statement */ - table = sqlite3_mprintf ("%s_face_edges_temp", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO TEMP.\"%s\" (face_id, sequence, edge_id) VALUES (?, ?, ?)", - xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("ST_GetFaceEdges exception: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - for (i = 0; i < num_edges; i++) - { - /* inserting all Face/Edges */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, face); - sqlite3_bind_int (stmt, 2, i + 1); - sqlite3_bind_int64 (stmt, 3, *(edges + i)); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = sqlite3_mprintf ("ST_GetFaceEdges exception: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -GAIATOPO_DECLARE int -gaiaGetFaceEdges (GaiaTopologyAccessorPtr accessor, sqlite3_int64 face) -{ -/* RTT wrapper - GetFaceEdges */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - RTT_ELEMID *edges = NULL; - int num_edges; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - gaiaResetRtTopoMsg (cache); - - num_edges = - rtt_GetFaceEdges ((RTT_TOPOLOGY *) (topo->rtt_topology), face, &edges); - - if (num_edges < 0) - return 0; - - if (num_edges > 0) - { - /* attemtping to create or validate the target table */ - if (!do_check_create_faceedges_table (accessor)) - { - rtfree (ctx, edges); - return 0; - } - - /* populating the target table */ - if (!do_populate_faceedges_table (accessor, face, edges, num_edges)) - { - rtfree (ctx, edges); - return 0; - } - } - rtfree (ctx, edges); - return 1; -} - -static int -do_check_create_validate_topogeo_table (GaiaTopologyAccessorPtr accessor) -{ -/* attemtping to create or validate the target table */ - char *sql; - char *table; - char *xtable; - int ret; - char *errMsg = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - -/* finalizing all prepared Statements */ - finalize_all_topo_prepared_stmts (topo->cache); - -/* attempting to drop the table (just in case if it already exists) */ - table = sqlite3_mprintf ("%s_validate_topogeo", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE IF EXISTS temp.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - create_all_topo_prepared_stmts (topo->cache); /* recreating prepared stsms */ - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidSpatialNet exception: %s", errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - sqlite3_free (errMsg); - return 0; - } -/* attempting to create the table */ - table = sqlite3_mprintf ("%s_validate_topogeo", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("CREATE TEMP TABLE \"%s\" (\n\terror TEXT,\n" - "\tprimitive1 INTEGER,\n\tprimitive2 INTEGER)", xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidateTopoGeo exception: %s", errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - sqlite3_free (errMsg); - return 0; - } - - return 1; -} - -static int -do_topo_check_coincident_nodes (GaiaTopologyAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* checking for coincident nodes */ - char *sql; - char *table; - char *xtable; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT n1.node_id, n2.node_id FROM MAIN.\"%s\" AS n1 " - "JOIN MAIN.\"%s\" AS n2 ON (n1.node_id <> n2.node_id AND " - "ST_Equals(n1.geom, n2.geom) = 1 AND n2.node_id IN " - "(SELECT rowid FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geom' AND search_frame = n1.geom))", - xtable, xtable, table); - sqlite3_free (table); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - CoicidentNodes error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 node_id1 = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 node_id2 = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "coincident nodes", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, node_id1); - sqlite3_bind_int64 (stmt, 3, node_id2); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #1 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - CoicidentNodes step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_edge_node (GaiaTopologyAccessorPtr accessor, sqlite3_stmt * stmt) -{ -/* checking for edge-node crossing */ - char *sql; - char *table; - char *xtable1; - char *xtable2; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("SELECT e.edge_id, n.node_id FROM MAIN.\"%s\" AS e " - "JOIN MAIN.\"%s\" AS n ON (ST_Distance(e.geom, n.geom) <= 0 " - "AND ST_Disjoint(ST_StartPoint(e.geom), n.geom) = 1 AND " - "ST_Disjoint(ST_EndPoint(e.geom), n.geom) = 1 AND n.node_id IN " - "(SELECT rowid FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geom' AND search_frame = e.geom))", - xtable1, xtable2, table); - sqlite3_free (table); - free (xtable1); - free (xtable2); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - EdgeCrossedNode error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 node_id = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "edge crosses node", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, node_id); - sqlite3_bind_int64 (stmt, 3, edge_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #2 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - EdgeCrossedNode step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_non_simple (GaiaTopologyAccessorPtr accessor, sqlite3_stmt * stmt) -{ -/* checking for non-simple edges */ - char *sql; - char *table; - char *xtable; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT edge_id FROM MAIN.\"%s\" WHERE ST_IsSimple(geom) = 0", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - NonSimpleEdge error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt_in, 0); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "edge not simple", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, edge_id); - sqlite3_bind_null (stmt, 3); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #3 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - NonSimpleEdge step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_edge_edge (GaiaTopologyAccessorPtr accessor, sqlite3_stmt * stmt) -{ -/* checking for edge-edge crossing */ - char *sql; - char *table; - char *xtable; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); -/* - sql = - sqlite3_mprintf ("SELECT e1.edge_id, e2.edge_id FROM MAIN.\"%s\" AS e1 " - "JOIN MAIN.\"%s\" AS e2 ON (e1.edge_id <> e2.edge_id AND " - "ST_Crosses(e1.geom, e2.geom) = 1 AND e2.edge_id IN " - "(SELECT rowid FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geom' AND search_frame = e1.geom))", - xtable, xtable, table); -*/ - sql = - sqlite3_mprintf ("SELECT e1.edge_id, e2.edge_id FROM MAIN.\"%s\" AS e1 " - "JOIN MAIN.\"%s\" AS e2 ON (e1.edge_id <> e2.edge_id AND " - "ST_RelateMatch(ST_Relate(e1.geom, e2.geom), '0******0*') = 1 AND e2.edge_id IN " - "(SELECT rowid FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geom' AND search_frame = e1.geom))", - xtable, xtable, table); - sqlite3_free (table); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - EdgeCrossesEdge error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id1 = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 edge_id2 = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "edge crosses edge", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, edge_id1); - sqlite3_bind_int64 (stmt, 3, edge_id2); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #4 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - EdgeCrossesEdge step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_start_nodes (GaiaTopologyAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* checking for edges mismatching start nodes */ - char *sql; - char *table; - char *xtable1; - char *xtable2; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT e.edge_id, e.start_node FROM MAIN.\"%s\" AS e " - "JOIN MAIN.\"%s\" AS n ON (e.start_node = n.node_id) " - "WHERE ST_Disjoint(ST_StartPoint(e.geom), n.geom) = 1", - xtable1, xtable2); - free (xtable1); - free (xtable2); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - StartNodes error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 node_id = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "geometry start mismatch", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, edge_id); - sqlite3_bind_int64 (stmt, 3, node_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #5 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - StartNodes step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_end_nodes (GaiaTopologyAccessorPtr accessor, sqlite3_stmt * stmt) -{ -/* checking for edges mismatching end nodes */ - char *sql; - char *table; - char *xtable1; - char *xtable2; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT e.edge_id, e.end_node FROM MAIN.\"%s\" AS e " - "JOIN MAIN.\"%s\" AS n ON (e.end_node = n.node_id) " - "WHERE ST_Disjoint(ST_EndPoint(e.geom), n.geom) = 1", - xtable1, xtable2); - free (xtable1); - free (xtable2); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidateTopoGeo() - EndNodes error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 node_id = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "geometry end mismatch", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, edge_id); - sqlite3_bind_int64 (stmt, 3, node_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #6 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - EndNodes step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_face_no_edges (GaiaTopologyAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* checking for faces with no edges */ - char *sql; - char *table; - char *xtable1; - char *xtable2; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT f.face_id, Count(e1.edge_id) AS cnt1, " - "Count(e2.edge_id) AS cnt2 FROM MAIN.\"%s\" AS f " - "LEFT JOIN MAIN.\"%s\" AS e1 ON (f.face_id = e1.left_face) " - "LEFT JOIN MAIN.\"%s\" AS e2 ON (f.face_id = e2.right_face) " - "GROUP BY f.face_id HAVING cnt1 = 0 AND cnt2 = 0", - xtable1, xtable2, xtable2); - free (xtable1); - free (xtable2); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - FaceNoEdges error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 face_id = sqlite3_column_int64 (stmt_in, 0); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "face without edges", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, face_id); - sqlite3_bind_null (stmt, 3); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #7 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - FaceNoEdges step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_no_universal_face (GaiaTopologyAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* checking for missing universal face */ - char *sql; - char *table; - char *xtable; - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int count = 0; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT Count(*) FROM MAIN.\"%s\" WHERE face_id = 0", - xtable); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - count = atoi (results[(i * columns) + 0]); - } - sqlite3_free_table (results); - - if (count <= 0) - { - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "no universal face", -1, SQLITE_STATIC); - sqlite3_bind_null (stmt, 2); - sqlite3_bind_null (stmt, 3); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #8 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return 0; - } - } - - return 1; -} - -static int -do_topo_check_create_aux_faces (GaiaTopologyAccessorPtr accessor) -{ -/* creating the aux-Face temp table */ - char *table; - char *xtable; - char *sql; - char *errMsg; - int ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - -/* creating the aux-face Temp Table */ - table = sqlite3_mprintf ("%s_aux_face_%d", topo->topology_name, getpid ()); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE TEMPORARY TABLE \"%s\" (\n" - "\tface_id INTEGER PRIMARY KEY,\n\tgeom BLOB)", - xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("CREATE TEMPORARY TABLE aux_face - error: %s\n", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return 0; - } - -/* creating the exotic spatial index */ - table = - sqlite3_mprintf ("%s_aux_face_%d_rtree", topo->topology_name, - getpid ()); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("CREATE VIRTUAL TABLE temp.\"%s\" USING RTree " - "(id_face, x_min, x_max, y_min, y_max)", xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("CREATE TEMPORARY TABLE aux_face - error: %s\n", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return 0; - } - - return 1; -} - -static int -do_topo_check_build_aux_faces (GaiaTopologyAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* populating the aux-face Temp Table */ - char *sql; - char *table; - char *xtable; - int ret; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - sqlite3_stmt *stmt_rtree = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - -/* preparing the input SQL statement */ - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT face_id, ST_GetFaceGeometry(%Q, face_id) " - "FROM MAIN.\"%s\" WHERE face_id <> 0", - topo->topology_name, xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - GetFaceGeometry error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the output SQL statement */ - table = sqlite3_mprintf ("%s_aux_face_%d", topo->topology_name, getpid ()); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO TEMP.\"%s\" (face_id, geom) VALUES (?, ?)", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_out, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_ValidateTopoGeo() - AuxFace error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the RTree SQL statement */ - table = - sqlite3_mprintf ("%s_aux_face_%d_rtree", topo->topology_name, - getpid ()); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("INSERT INTO TEMP.\"%s\" " - "(id_face, x_min, x_max, y_min, y_max) VALUES (?, ?, ?, ?, ?)", - xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_rtree, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - AuxFaceRTree error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - gaiaGeomCollPtr geom = NULL; - const unsigned char *blob; - int blob_sz; - sqlite3_int64 face_id = sqlite3_column_int64 (stmt_in, 0); - if (sqlite3_column_type (stmt_in, 1) == SQLITE_BLOB) - { - blob = sqlite3_column_blob (stmt_in, 1); - blob_sz = sqlite3_column_bytes (stmt_in, 1); - geom = gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - } - if (geom == NULL) - { - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "invalid face geometry", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, face_id); - sqlite3_bind_null (stmt, 3); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #9 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - double xmin = geom->MinX; - double xmax = geom->MaxX; - double ymin = geom->MinY; - double ymax = geom->MaxY; - gaiaFreeGeomColl (geom); - /* inserting into AuxFace */ - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - sqlite3_bind_int64 (stmt_out, 1, face_id); - sqlite3_bind_blob (stmt_out, 2, blob, blob_sz, - SQLITE_STATIC); - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #10 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - /* updating the AuxFaceRTree */ - sqlite3_reset (stmt_rtree); - sqlite3_clear_bindings (stmt_rtree); - sqlite3_bind_int64 (stmt_rtree, 1, face_id); - sqlite3_bind_double (stmt_rtree, 2, xmin); - sqlite3_bind_double (stmt_rtree, 3, xmax); - sqlite3_bind_double (stmt_rtree, 4, ymin); - sqlite3_bind_double (stmt_rtree, 5, ymax); - ret = sqlite3_step (stmt_rtree); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #11 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - GetFaceGeometry step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - sqlite3_finalize (stmt_rtree); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - if (stmt_out == NULL) - sqlite3_finalize (stmt_out); - if (stmt_rtree == NULL) - sqlite3_finalize (stmt_rtree); - return 0; -} - -static int -do_topo_check_overlapping_faces (GaiaTopologyAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* checking for overlapping faces */ - char *sql; - char *table; - char *xtable; - char *rtree; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - - table = sqlite3_mprintf ("%s_aux_face_%d", topo->topology_name, getpid ()); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_aux_face_%d_rtree", topo->topology_name, - getpid ()); - rtree = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT a.face_id, b.face_id FROM TEMP.\"%s\" AS a, TEMP.\"%s\" AS b " - "WHERE a.geom IS NOT NULL AND a.face_id <> b.face_id AND ST_Overlaps(a.geom, b.geom) = 1 " - "AND b.face_id IN (SELECT id_face FROM TEMP.\"%s\" WHERE x_min <= MbrMaxX(a.geom) " - "AND x_max >= MbrMinX(a.geom) AND y_min <= MbrMaxY(a.geom) AND y_max >= MbrMinY(a.geom))", - xtable, xtable, rtree); - free (xtable); - free (rtree); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - OverlappingFaces error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 face_id1 = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 face_id2 = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "face overlaps face", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, face_id1); - sqlite3_bind_int64 (stmt, 3, face_id2); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #12 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - OverlappingFaces step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_face_within_face (GaiaTopologyAccessorPtr accessor, - sqlite3_stmt * stmt) -{ -/* checking for face-within-face */ - char *sql; - char *table; - char *xtable; - char *rtree; - int ret; - sqlite3_stmt *stmt_in = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - - table = sqlite3_mprintf ("%s_aux_face_%d", topo->topology_name, getpid ()); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_aux_face_%d_rtree", topo->topology_name, - getpid ()); - rtree = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT a.face_id, b.face_id FROM TEMP.\"%s\" AS a, TEMP.\"%s\" AS b " - "WHERE a.geom IS NOT NULL AND a.face_id <> b.face_id AND ST_Within(a.geom, b.geom) = 1 " - "AND b.face_id IN (SELECT id_face FROM TEMP.\"%s\" WHERE x_min <= MbrMaxX(a.geom) " - "AND x_max >= MbrMinX(a.geom) AND y_min <= MbrMaxY(a.geom) AND y_max >= MbrMinY(a.geom))", - xtable, xtable, rtree); - free (xtable); - free (rtree); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - FaceWithinFace error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 face_id1 = sqlite3_column_int64 (stmt_in, 0); - sqlite3_int64 face_id2 = sqlite3_column_int64 (stmt_in, 1); - /* reporting the error */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_text (stmt, 1, "face within face", -1, - SQLITE_STATIC); - sqlite3_bind_int64 (stmt, 2, face_id1); - sqlite3_bind_int64 (stmt, 3, face_id2); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() insert #13 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("ST_ValidateTopoGeo() - FaceWithinFace step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_in); - - return 1; - - error: - if (stmt_in == NULL) - sqlite3_finalize (stmt_in); - return 0; -} - -static int -do_topo_check_drop_aux_faces (GaiaTopologyAccessorPtr accessor) -{ -/* dropping the aux-Face temp table */ - char *table; - char *xtable; - char *sql; - char *errMsg; - int ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - -/* finalizing all prepared Statements */ - finalize_all_topo_prepared_stmts (topo->cache); - -/* dropping the aux-face Temp Table */ - table = sqlite3_mprintf ("%s_aux_face_%d", topo->topology_name, getpid ()); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE TEMP.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - create_all_topo_prepared_stmts (topo->cache); /* recreating prepared stsms */ - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("DROP TABLE temp.aux_face - error: %s\n", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return 0; - } - -/* dropping the aux-face Temp RTree */ - table = - sqlite3_mprintf ("%s_aux_face_%d_rtree", topo->topology_name, - getpid ()); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE TEMP.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("DROP TABLE temp.aux_face_rtree - error: %s\n", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return 0; - } - - return 1; -} - -GAIATOPO_DECLARE int -gaiaValidateTopoGeo (GaiaTopologyAccessorPtr accessor) -{ -/* generating a validity report for a given Topology */ - char *table; - char *xtable; - char *sql; - int ret; - sqlite3_stmt *stmt = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - if (!do_check_create_validate_topogeo_table (accessor)) - return 0; - - table = sqlite3_mprintf ("%s_validate_topogeo", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO TEMP.\"%s\" (error, primitive1, primitive2) VALUES (?, ?, ?)", - xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("ST_ValidateTopoGeo error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - if (!do_topo_check_coincident_nodes (accessor, stmt)) - goto error; - - if (!do_topo_check_edge_node (accessor, stmt)) - goto error; - - if (!do_topo_check_non_simple (accessor, stmt)) - goto error; - - if (!do_topo_check_edge_edge (accessor, stmt)) - goto error; - - if (!do_topo_check_start_nodes (accessor, stmt)) - goto error; - - if (!do_topo_check_end_nodes (accessor, stmt)) - goto error; - - if (!do_topo_check_face_no_edges (accessor, stmt)) - goto error; - - if (!do_topo_check_no_universal_face (accessor, stmt)) - goto error; - - if (!do_topo_check_create_aux_faces (accessor)) - goto error; - - if (!do_topo_check_build_aux_faces (accessor, stmt)) - goto error; - - if (!do_topo_check_overlapping_faces (accessor, stmt)) - goto error; - - if (!do_topo_check_face_within_face (accessor, stmt)) - goto error; - - if (!do_topo_check_drop_aux_faces (accessor)) - goto error; - - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaGetNodeByPoint (GaiaTopologyAccessorPtr accessor, gaiaPointPtr pt, - double tolerance) -{ -/* RTT wrapper - GetNodeByPoint */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - int has_z = 0; - RTPOINT *rt_pt; - RTPOINTARRAY *pa; - RTPOINT4D point; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - pa = ptarray_construct (ctx, has_z, 0, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - ptarray_set_point4d (ctx, pa, 0, &point); - rt_pt = rtpoint_construct (ctx, topo->srid, NULL, pa); - - if (tolerance < 0.0) - tolerance = topo->tolerance; /* using the standard tolerance */ - - gaiaResetRtTopoMsg (cache); - ret = - rtt_GetNodeByPoint ((RTT_TOPOLOGY *) (topo->rtt_topology), rt_pt, - tolerance); - rtpoint_free (ctx, rt_pt); - - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaGetEdgeByPoint (GaiaTopologyAccessorPtr accessor, gaiaPointPtr pt, - double tolerance) -{ -/* RTT wrapper - GetEdgeByPoint */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - int has_z = 0; - RTPOINT *rt_pt; - RTPOINTARRAY *pa; - RTPOINT4D point; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - pa = ptarray_construct (ctx, has_z, 0, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - ptarray_set_point4d (ctx, pa, 0, &point); - rt_pt = rtpoint_construct (ctx, topo->srid, NULL, pa); - - if (tolerance < 0.0) - tolerance = topo->tolerance; /* using the standard tolerance */ - - gaiaResetRtTopoMsg (cache); - ret = - rtt_GetEdgeByPoint ((RTT_TOPOLOGY *) (topo->rtt_topology), rt_pt, - tolerance); - rtpoint_free (ctx, rt_pt); - - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaGetFaceByPoint (GaiaTopologyAccessorPtr accessor, gaiaPointPtr pt, - double tolerance) -{ -/* RTT wrapper - GetFaceByPoint */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - int has_z = 0; - RTPOINT *rt_pt; - RTPOINTARRAY *pa; - RTPOINT4D point; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - pa = ptarray_construct (ctx, has_z, 0, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - ptarray_set_point4d (ctx, pa, 0, &point); - rt_pt = rtpoint_construct (ctx, topo->srid, NULL, pa); - - if (tolerance < 0.0) - tolerance = topo->tolerance; /* using the standard tolerance */ - - gaiaResetRtTopoMsg (cache); - ret = - rtt_GetFaceByPoint ((RTT_TOPOLOGY *) (topo->rtt_topology), rt_pt, - tolerance); - rtpoint_free (ctx, rt_pt); - - return ret; -} - -GAIATOPO_DECLARE sqlite3_int64 -gaiaTopoGeo_AddPoint (GaiaTopologyAccessorPtr accessor, gaiaPointPtr pt, - double tolerance) -{ -/* RTT wrapper - AddPoint */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - sqlite3_int64 ret; - int has_z = 0; - RTPOINT *rt_pt; - RTPOINTARRAY *pa; - RTPOINT4D point; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (pt->DimensionModel == GAIA_XY_Z || pt->DimensionModel == GAIA_XY_Z_M) - has_z = 1; - pa = ptarray_construct (ctx, has_z, 0, 1); - point.x = pt->X; - point.y = pt->Y; - if (has_z) - point.z = pt->Z; - ptarray_set_point4d (ctx, pa, 0, &point); - rt_pt = rtpoint_construct (ctx, topo->srid, NULL, pa); - - if (tolerance < 0.0) - tolerance = topo->tolerance; /* using the standard tolerance */ - - gaiaResetRtTopoMsg (cache); - ret = - rtt_AddPoint ((RTT_TOPOLOGY *) (topo->rtt_topology), rt_pt, tolerance); - rtpoint_free (ctx, rt_pt); - - return ret; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_AddLineString (GaiaTopologyAccessorPtr accessor, - gaiaLinestringPtr ln, double tolerance, - sqlite3_int64 ** edge_ids, int *ids_count) -{ -/* RTT wrapper - AddLinestring */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - int ret = 0; - RTT_ELEMID *edgeids; - int nedges; - int i; - sqlite3_int64 *ids; - RTLINE *rt_line; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - rt_line = - gaia_convert_linestring_to_rtline (ctx, ln, topo->srid, topo->has_z); - - if (tolerance < 0.0) - tolerance = topo->tolerance; /* using the standard tolerance */ - - gaiaResetRtTopoMsg (cache); - edgeids = - rtt_AddLine ((RTT_TOPOLOGY *) (topo->rtt_topology), rt_line, tolerance, - &nedges); - - rtline_free (ctx, rt_line); - if (edgeids != NULL) - { - ids = malloc (sizeof (sqlite3_int64) * nedges); - for (i = 0; i < nedges; i++) - ids[i] = edgeids[i]; - *edge_ids = ids; - *ids_count = nedges; - ret = 1; - rtfree (ctx, edgeids); - } - return ret; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_AddLineStringNoFace (GaiaTopologyAccessorPtr accessor, - gaiaLinestringPtr ln, double tolerance, - sqlite3_int64 ** edge_ids, int *ids_count) -{ -/* RTT wrapper - AddLinestring NO FACE */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - int ret = 0; - RTT_ELEMID *edgeids; - int nedges; - int i; - sqlite3_int64 *ids; - RTLINE *rt_line; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - rt_line = - gaia_convert_linestring_to_rtline (ctx, ln, topo->srid, topo->has_z); - - if (tolerance < 0.0) - tolerance = topo->tolerance; /* using the standard tolerance */ - - gaiaResetRtTopoMsg (cache); - edgeids = - rtt_AddLineNoFace ((RTT_TOPOLOGY *) (topo->rtt_topology), rt_line, - tolerance, &nedges); - - rtline_free (ctx, rt_line); - if (edgeids != NULL) - { - ids = malloc (sizeof (sqlite3_int64) * nedges); - for (i = 0; i < nedges; i++) - ids[i] = edgeids[i]; - *edge_ids = ids; - *ids_count = nedges; - ret = 1; - rtfree (ctx, edgeids); - } - return ret; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_Polygonize (GaiaTopologyAccessorPtr accessor) -{ -/* RTT wrapper - Determine and register all topology faces */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - gaiaResetRtTopoMsg (cache); - if (rtt_Polygonize ((RTT_TOPOLOGY *) (topo->rtt_topology)) == 0) - return 1; - return 0; -} - -GAIATOPO_DECLARE gaiaGeomCollPtr -gaiaTopoSnap (GaiaTopologyAccessorPtr accessor, gaiaGeomCollPtr geom, - double tolerance, int iterate, int remove_vertices) -{ -/* RTT wrapper - TopoSnap */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - RTGEOM *input = NULL; - RTGEOM *result = NULL; - gaiaGeomCollPtr output; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - if (!geom) - return NULL; - - input = toRTGeom (ctx, geom); - if (!input) - return NULL; - - if (tolerance < 0.0) - tolerance = topo->tolerance; - - result = - rtt_tpsnap ((RTT_TOPOLOGY *) (topo->rtt_topology), input, tolerance, - iterate, remove_vertices); - rtgeom_free (ctx, input); - if (result == NULL) - return NULL; - -/* converting the result as a Gaia Geometry */ - output = fromRTGeom (ctx, result, geom->DimensionModel, geom->DeclaredType); - output->Srid = geom->Srid; - rtgeom_free (ctx, result); - return output; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_AddPolygon (GaiaTopologyAccessorPtr accessor, gaiaPolygonPtr pg, - double tolerance, sqlite3_int64 ** face_ids, - int *ids_count) -{ -/* RTT wrapper - AddPolygon */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - int ret = 0; - RTT_ELEMID *faceids; - int nfaces; - int i; - sqlite3_int64 *ids; - RTPOLY *rt_polyg; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - cache = (struct splite_internal_cache *) topo->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - rt_polyg = - gaia_convert_polygon_to_rtpoly (ctx, pg, topo->srid, topo->has_z); - - gaiaResetRtTopoMsg (cache); - faceids = - rtt_AddPolygon ((RTT_TOPOLOGY *) (topo->rtt_topology), rt_polyg, - tolerance, &nfaces); - - rtpoly_free (ctx, rt_polyg); - if (faceids != NULL) - { - ids = malloc (sizeof (sqlite3_int64) * nfaces); - for (i = 0; i < nfaces; i++) - ids[i] = faceids[i]; - *face_ids = ids; - *ids_count = nfaces; - ret = 1; - rtfree (ctx, faceids); - } - return ret; -} - -static void -do_split_line (gaiaGeomCollPtr geom, gaiaDynamicLinePtr dyn) -{ -/* inserting a new linestring into the collection of split lines */ - int points = 0; - int iv = 0; - gaiaPointPtr pt; - gaiaLinestringPtr ln; - - pt = dyn->First; - while (pt != NULL) - { - /* counting how many points */ - points++; - pt = pt->Next; - } - - ln = gaiaAddLinestringToGeomColl (geom, points); - pt = dyn->First; - while (pt != NULL) - { - /* copying all points */ - if (ln->DimensionModel == GAIA_XY_Z) - { - gaiaSetPointXYZ (ln->Coords, iv, pt->X, pt->Y, pt->Z); - } - else if (ln->DimensionModel == GAIA_XY_M) - { - gaiaSetPointXYM (ln->Coords, iv, pt->X, pt->Y, pt->M); - } - else if (ln->DimensionModel == GAIA_XY_Z_M) - { - gaiaSetPointXYZM (ln->Coords, iv, pt->X, pt->Y, pt->Z, pt->M); - } - else - { - gaiaSetPoint (ln->Coords, iv, pt->X, pt->Y); - } - iv++; - pt = pt->Next; - } -} - -static void -do_geom_split_line (gaiaGeomCollPtr geom, gaiaLinestringPtr in, - int line_max_points, double max_length) -{ -/* splitting a Linestring into a collection of shorter Linestrings */ - int iv; - int count = 0; - int split = 0; - double tot_length = 0.0; - gaiaDynamicLinePtr dyn = gaiaAllocDynamicLine (); - - for (iv = 0; iv < in->Points; iv++) - { - /* consuming all Points from the input Linestring */ - double ox; - double oy; - double x; - double y; - double z = 0.0; - double m = 0.0; - if (in->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (in->Coords, iv, &x, &y, &z); - } - else if (in->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (in->Coords, iv, &x, &y, &m); - } - else if (in->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (in->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (in->Coords, iv, &x, &y); - } - - split = 0; - if (max_length > 0.0) - { - if (tot_length > max_length) - split = 1; - } - if (line_max_points > 0) - { - if (count == line_max_points) - split = 1; - } - if (split && count >= 2) - { - /* line break */ - double oz; - double om; - ox = dyn->Last->X; - oy = dyn->Last->Y; - if (in->DimensionModel == GAIA_XY_Z - || in->DimensionModel == GAIA_XY_Z_M) - oz = dyn->Last->Z; - if (in->DimensionModel == GAIA_XY_M - || in->DimensionModel == GAIA_XY_Z_M) - om = dyn->Last->M; - do_split_line (geom, dyn); - gaiaFreeDynamicLine (dyn); - dyn = gaiaAllocDynamicLine (); - /* reinserting the last point */ - if (in->DimensionModel == GAIA_XY_Z) - gaiaAppendPointZToDynamicLine (dyn, ox, oy, oz); - else if (in->DimensionModel == GAIA_XY_M) - gaiaAppendPointMToDynamicLine (dyn, ox, oy, om); - else if (in->DimensionModel == GAIA_XY_Z_M) - gaiaAppendPointZMToDynamicLine (dyn, ox, oy, oz, om); - else - gaiaAppendPointToDynamicLine (dyn, ox, oy); - count = 1; - tot_length = 0.0; - } - - /* inserting a point */ - if (in->DimensionModel == GAIA_XY_Z) - gaiaAppendPointZToDynamicLine (dyn, x, y, z); - else if (in->DimensionModel == GAIA_XY_M) - gaiaAppendPointMToDynamicLine (dyn, x, y, m); - else if (in->DimensionModel == GAIA_XY_Z_M) - gaiaAppendPointZMToDynamicLine (dyn, x, y, z, m); - else - gaiaAppendPointToDynamicLine (dyn, x, y); - if (count > 0) - { - if (max_length > 0.0) - { - double dist = - sqrt (((ox - x) * (ox - x)) + ((oy - y) * (oy - y))); - tot_length += dist; - } - } - ox = x; - oy = y; - count++; - } - - if (dyn->First != NULL) - { - /* flushing the last Line */ - do_split_line (geom, dyn); - } - gaiaFreeDynamicLine (dyn); -} - -static gaiaGeomCollPtr -do_linearize (gaiaGeomCollPtr geom) -{ -/* attempts to transform Polygon Rings into a (multi)linestring */ - gaiaGeomCollPtr result; - gaiaLinestringPtr new_ln; - gaiaPolygonPtr pg; - gaiaRingPtr rng; - int iv; - int ib; - double x; - double y; - double m; - double z; - if (!geom) - return NULL; - - if (geom->DimensionModel == GAIA_XY_Z_M) - result = gaiaAllocGeomCollXYZM (); - else if (geom->DimensionModel == GAIA_XY_Z) - result = gaiaAllocGeomCollXYZ (); - else if (geom->DimensionModel == GAIA_XY_M) - result = gaiaAllocGeomCollXYM (); - else - result = gaiaAllocGeomColl (); - result->Srid = geom->Srid; - - pg = geom->FirstPolygon; - while (pg) - { - /* dissolving any POLYGON as simple LINESTRINGs (rings) */ - rng = pg->Exterior; - new_ln = gaiaAddLinestringToGeomColl (result, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - /* copying the EXTERIOR RING as LINESTRING */ - if (geom->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - gaiaSetPointXYZM (new_ln->Coords, iv, x, y, z, m); - } - else if (geom->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - gaiaSetPointXYZ (new_ln->Coords, iv, x, y, z); - } - else if (geom->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - gaiaSetPointXYM (new_ln->Coords, iv, x, y, m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - gaiaSetPoint (new_ln->Coords, iv, x, y); - } - } - for (ib = 0; ib < pg->NumInteriors; ib++) - { - rng = pg->Interiors + ib; - new_ln = gaiaAddLinestringToGeomColl (result, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - /* copying an INTERIOR RING as LINESTRING */ - if (geom->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - gaiaSetPointXYZM (new_ln->Coords, iv, x, y, z, m); - } - else if (geom->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - gaiaSetPointXYZ (new_ln->Coords, iv, x, y, z); - } - else if (geom->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - gaiaSetPointXYM (new_ln->Coords, iv, x, y, m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - gaiaSetPoint (new_ln->Coords, iv, x, y); - } - } - } - pg = pg->Next; - } - if (result->FirstLinestring == NULL) - { - gaiaFreeGeomColl (result); - return NULL; - } - return result; -} - -GAIATOPO_DECLARE gaiaGeomCollPtr -gaiaTopoGeo_SubdivideLines (gaiaGeomCollPtr geom, int line_max_points, - double max_length) -{ -/* subdividing a (multi)Linestring into collection of simpler Linestrings */ - gaiaLinestringPtr ln; - gaiaGeomCollPtr result; - - if (geom == NULL) - return NULL; - - if (geom->FirstPoint != NULL) - return NULL; - if (geom->FirstLinestring == NULL && geom->FirstPolygon != NULL) - return NULL; - - if (geom->DimensionModel == GAIA_XY_Z) - result = gaiaAllocGeomCollXYZ (); - else if (geom->DimensionModel == GAIA_XY_M) - result = gaiaAllocGeomCollXYM (); - else if (geom->DimensionModel == GAIA_XY_Z_M) - result = gaiaAllocGeomCollXYZM (); - else - result = gaiaAllocGeomColl (); - result->Srid = geom->Srid; - result->DeclaredType = GAIA_MULTILINESTRING; - ln = geom->FirstLinestring; - while (ln != NULL) - { - do_geom_split_line (result, ln, line_max_points, max_length); - ln = ln->Next; - } - - if (geom->FirstPolygon != NULL) - { - /* transforming all Polygon Rings into Linestrings */ - gaiaGeomCollPtr pg_rings = do_linearize (geom); - if (pg_rings != NULL) - { - ln = pg_rings->FirstLinestring; - while (ln != NULL) - { - do_geom_split_line (result, ln, line_max_points, - max_length); - ln = ln->Next; - } - gaiaFreeGeomColl (pg_rings); - } - } - return result; -} - -TOPOLOGY_PRIVATE int -auxtopo_insert_into_topology (GaiaTopologyAccessorPtr accessor, - gaiaGeomCollPtr geom, double tolerance, - int line_max_points, double max_length, int mode) -{ -/* processing all individual geometry items */ - gaiaPointPtr pt; - gaiaLinestringPtr ln; - gaiaGeomCollPtr g; - gaiaGeomCollPtr split = NULL; - gaiaGeomCollPtr pg_rings; - sqlite3_int64 *ids; - int ids_count; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - pt = geom->FirstPoint; - while (pt != NULL) - { - /* looping on Point items */ - if (gaiaTopoGeo_AddPoint (accessor, pt, tolerance) < 0) - return 0; - pt = pt->Next; - } - - if (line_max_points <= 0 && max_length <= 0.0) - g = geom; - else - { - /* subdividing Linestrings */ - split = - gaiaTopoGeo_SubdivideLines (geom, line_max_points, max_length); - if (split != NULL) - g = split; - else - g = geom; - } - ln = g->FirstLinestring; - while (ln != NULL) - { - /* looping on Linestrings items */ - int ret; - if (mode == GAIA_MODE_TOPO_NO_FACE) - ret = gaiaTopoGeo_AddLineStringNoFace - (accessor, ln, tolerance, &ids, &ids_count); - else - ret = gaiaTopoGeo_AddLineString - (accessor, ln, tolerance, &ids, &ids_count); - if (ret == 0) - return 0; - if (ids != NULL) - free (ids); - ln = ln->Next; - } - if (split != NULL) - gaiaFreeGeomColl (split); - split = NULL; - -/* transforming all Polygon Rings into Linestrings */ - pg_rings = do_linearize (geom); - if (pg_rings != NULL) - { - if (line_max_points <= 0 && max_length <= 0.0) - g = pg_rings; - else - { - /* subdividing Linestrings */ - split = - gaiaTopoGeo_SubdivideLines (pg_rings, line_max_points, - max_length); - if (split != NULL) - g = split; - else - g = pg_rings; - } - ln = g->FirstLinestring; - while (ln != NULL) - { - /* looping on Linestrings items */ - int ret; - if (mode == GAIA_MODE_TOPO_NO_FACE) - ret = gaiaTopoGeo_AddLineStringNoFace - (accessor, ln, tolerance, &ids, &ids_count); - else - ret = gaiaTopoGeo_AddLineString - (accessor, ln, tolerance, &ids, &ids_count); - if (ret == 0) - return 0; - if (ids != NULL) - free (ids); - ln = ln->Next; - } - gaiaFreeGeomColl (pg_rings); - if (split != NULL) - gaiaFreeGeomColl (split); - split = NULL; - } - - return 1; -} - -#endif /* end ENABLE_RTTOPO conditionals */ DELETED src/topology/gaia_auxtopo_table.c Index: src/topology/gaia_auxtopo_table.c ================================================================== --- src/topology/gaia_auxtopo_table.c +++ src/topology/gaia_auxtopo_table.c @@ -1,6997 +0,0 @@ -/* - - gaia_auxtopo_table.c -- implementation of the Topology module - methods processing a whole GeoTable - - version 4.3, 2015 July 15 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/* - -CREDITS: - -this module has been completely funded by: -Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale -(Topology support) - -CIG: 6038019AE5 - -*/ - -#include -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#include "topology_private.h" -#include "network_private.h" - -#ifdef _WIN32 -#define strcasecmp _stricmp -#endif /* not WIN32 */ - -#define GAIA_UNUSED() if (argc || argv) argc = argc; - -GAIATOPO_DECLARE int -gaiaTopoGeo_FromGeoTable (GaiaTopologyAccessorPtr accessor, - const char *db_prefix, const char *table, - const char *column, double tolerance, - int line_max_points, double max_length) -{ -/* attempting to import a whole GeoTable into a Topology-Geometry */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *xprefix; - char *xtable; - char *xcolumn; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - - if (topo == NULL) - return 0; - if (topo->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (topo->cache); - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - -/* building the SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - xcolumn = gaiaDoubleQuotedSql (column); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\"", xcolumn, - xprefix, xtable); - free (xprefix); - free (xtable); - free (xcolumn); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_FromGeoTable error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_NULL) - continue; - if (sqlite3_column_type (stmt, 0) == SQLITE_BLOB) - { - const unsigned char *blob = sqlite3_column_blob (stmt, 0); - int blob_sz = sqlite3_column_bytes (stmt, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, gpkg_mode, - gpkg_amphibious); - if (geom != NULL) - { - if (!auxtopo_insert_into_topology - (accessor, geom, tolerance, line_max_points, - max_length, GAIA_MODE_TOPO_FACE)) - { - gaiaFreeGeomColl (geom); - goto error; - } - gaiaFreeGeomColl (geom); - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_FromGeoTable error: Invalid Geometry"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_FromGeoTable error: not a BLOB value"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_FromGeoTable error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_FromGeoTableNoFace (GaiaTopologyAccessorPtr accessor, - const char *db_prefix, const char *table, - const char *column, double tolerance, - int line_max_points, double max_length) -{ -/* attempting to import a whole GeoTable into a Topology-Geometry -/ without determining generated faces */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *xprefix; - char *xtable; - char *xcolumn; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - - if (topo == NULL) - return 0; - if (topo->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (topo->cache); - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - -/* building the SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - xcolumn = gaiaDoubleQuotedSql (column); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\"", xcolumn, - xprefix, xtable); - free (xprefix); - free (xtable); - free (xcolumn); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_FromGeoTableNoFace error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_NULL) - continue; - if (sqlite3_column_type (stmt, 0) == SQLITE_BLOB) - { - const unsigned char *blob = sqlite3_column_blob (stmt, 0); - int blob_sz = sqlite3_column_bytes (stmt, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, gpkg_mode, - gpkg_amphibious); - if (geom != NULL) - { - if (!auxtopo_insert_into_topology - (accessor, geom, tolerance, line_max_points, - max_length, GAIA_MODE_TOPO_NO_FACE)) - { - gaiaFreeGeomColl (geom); - goto error; - } - gaiaFreeGeomColl (geom); - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_FromGeoTableNoFace error: Invalid Geometry"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_FromGeoTableNoFace error: not a BLOB value"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_FromGeoTableNoFace error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -static int -insert_into_dustbin (sqlite3 * sqlite, const void *cache, sqlite3_stmt * stmt, - sqlite3_stmt * stmt_dustbin, const char *message, - double tolerance, int *count) -{ -/* failing feature: inserting a reference into the dustbin table */ - int icol; - int maxcol; - int ret; - - start_topo_savepoint (sqlite, cache); - sqlite3_reset (stmt_dustbin); - sqlite3_clear_bindings (stmt_dustbin); - maxcol = sqlite3_column_count (stmt); - for (icol = 1; icol < maxcol - 1; icol++) - { - /* binding column values */ - switch (sqlite3_column_type (stmt, icol)) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_dustbin, icol, - sqlite3_column_int64 (stmt, icol)); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_dustbin, icol, - sqlite3_column_double (stmt, icol)); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_dustbin, icol, - (const char *) sqlite3_column_text (stmt, - icol), - sqlite3_column_bytes (stmt, icol), - SQLITE_STATIC); - break; - case SQLITE_BLOB: - sqlite3_bind_blob (stmt_dustbin, icol, - sqlite3_column_blob (stmt, icol), - sqlite3_column_bytes (stmt, icol), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_dustbin, icol); - break; - } - } -/* binding the error message */ - maxcol = sqlite3_bind_parameter_count (stmt_dustbin); - sqlite3_bind_text (stmt_dustbin, maxcol - 1, message, strlen (message), - SQLITE_STATIC); - sqlite3_bind_double (stmt_dustbin, maxcol, tolerance); - ret = sqlite3_step (stmt_dustbin); - -/* inserting the row into the dustbin table */ - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - release_topo_savepoint (sqlite, cache); - *count += 1; - return 1; - } - - /* some unexpected error occurred */ - spatialite_e ("TopoGeo_FromGeoTableExt error: \"%s\"", - sqlite3_errmsg (sqlite)); - rollback_topo_savepoint (sqlite, cache); - return 0; -} - -static int -do_FromGeoTableExtended_block (GaiaTopologyAccessorPtr accessor, - sqlite3_stmt * stmt, sqlite3_stmt * stmt_dustbin, - double tolerance, int line_max_points, - double max_length, sqlite3_int64 start, - sqlite3_int64 * last, sqlite3_int64 * invalid, - int *dustbin_count, sqlite3_int64 * dustbin_row, - int mode) -{ -/* attempting to import a whole block of input features */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - int ret; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - int totcnt = 0; - sqlite3_int64 last_rowid; - - if (topo->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (topo->cache); - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - - start_topo_savepoint (topo->db_handle, topo->cache); - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, start); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 rowid = sqlite3_column_int64 (stmt, 0); - int igeo = sqlite3_column_count (stmt) - 1; /* geometry always corresponds to the last resultset column */ - if (rowid == *invalid) - { - /* succesfully recovered a previously failing block */ - release_topo_savepoint (topo->db_handle, topo->cache); - *last = last_rowid; - return 1; - } - totcnt++; - if (totcnt > 256) - { - /* succesfully imported a full block */ - release_topo_savepoint (topo->db_handle, topo->cache); - *last = last_rowid; - return 1; - } - if (sqlite3_column_type (stmt, igeo) == SQLITE_NULL) - { - last_rowid = rowid; - continue; - } - if (sqlite3_column_type (stmt, igeo) == SQLITE_BLOB) - { - const unsigned char *blob = - sqlite3_column_blob (stmt, igeo); - int blob_sz = sqlite3_column_bytes (stmt, igeo); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, gpkg_mode, - gpkg_amphibious); - if (geom != NULL) - { - gaiatopo_reset_last_error_msg (accessor); - if (!auxtopo_insert_into_topology - (accessor, geom, tolerance, line_max_points, - max_length, mode)) - { - char *msg; - const char *rt_msg = - gaiaGetRtTopoErrorMsg (topo->cache); - if (rt_msg == NULL) - msg = - sqlite3_mprintf - ("TopoGeo_FromGeoTableExt exception: UNKNOWN reason"); - else - msg = sqlite3_mprintf ("%s", rt_msg); - gaiaFreeGeomColl (geom); - rollback_topo_savepoint (topo->db_handle, - topo->cache); - if (!insert_into_dustbin - (topo->db_handle, topo->cache, stmt, - stmt_dustbin, msg, tolerance, - dustbin_count)) - goto error; - last_rowid = rowid; - *invalid = rowid; - *dustbin_row = - sqlite3_last_insert_rowid - (topo->db_handle); - return 0; - } - gaiaFreeGeomColl (geom); - last_rowid = rowid; - } - else - { - rollback_topo_savepoint (topo->db_handle, - topo->cache); - if (!insert_into_dustbin - (topo->db_handle, topo->cache, stmt, - stmt_dustbin, - "TopoGeo_FromGeoTableExt error: Invalid Geometry", - tolerance, dustbin_count)) - goto error; - } - last_rowid = rowid; - } - else - { - rollback_topo_savepoint (topo->db_handle, topo->cache); - if (!insert_into_dustbin - (topo->db_handle, topo->cache, stmt, stmt_dustbin, - "TopoGeo_FromGeoTableExt error: not a BLOB value", - tolerance, dustbin_count)) - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_FromGeoTableExt error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - rollback_topo_savepoint (topo->db_handle, topo->cache); - goto error; - } - } -/* eof */ - release_topo_savepoint (topo->db_handle, topo->cache); - return 2; - - error: - return -1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_FromGeoTableExtended (GaiaTopologyAccessorPtr accessor, - const char *sql_in, const char *sql_out, - const char *sql_in2, double tolerance, - int line_max_points, double max_length) -{ -/* attempting to import a whole GeoTable into a Topology-Geometry - Extended mode */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - sqlite3_stmt *stmt_dustbin = NULL; - sqlite3_stmt *stmt_retry = NULL; - int ret; - int dustbin_count = 0; - sqlite3_int64 start = -1; - sqlite3_int64 last; - sqlite3_int64 invalid = -1; - sqlite3_int64 dustbin_row = -1; - - if (topo == NULL) - return 0; - if (sql_in == NULL) - return 0; - if (sql_out == NULL) - return 0; - -/* building the SQL statement */ - ret = - sqlite3_prepare_v2 (topo->db_handle, sql_in, strlen (sql_in), &stmt, - NULL); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_FromGeoTableExt error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* building the SQL dustbin statement */ - ret = - sqlite3_prepare_v2 (topo->db_handle, sql_out, strlen (sql_out), - &stmt_dustbin, NULL); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_FromGeoTableExt error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* building the SQL retry statement */ - ret = - sqlite3_prepare_v2 (topo->db_handle, sql_in2, strlen (sql_in2), - &stmt_retry, NULL); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_FromGeoTableExt error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - while (1) - { - /* main loop: attempting to import a block of features */ - ret = - do_FromGeoTableExtended_block (accessor, stmt, stmt_dustbin, - tolerance, line_max_points, - max_length, start, &last, &invalid, - &dustbin_count, &dustbin_row, - GAIA_MODE_TOPO_FACE); - if (ret < 0) /* some unexpected error occurred */ - goto error; - if (ret > 1) - { - /* eof */ - break; - } - if (ret == 0) - { - /* found a failing feature; recovering */ - ret = - do_FromGeoTableExtended_block (accessor, stmt, stmt_dustbin, - tolerance, line_max_points, - max_length, start, &last, - &invalid, &dustbin_count, - &dustbin_row, - GAIA_MODE_TOPO_FACE); - if (ret != 1) - goto error; - start = invalid; - invalid = -1; - dustbin_row = -1; - continue; - } - start = last; - invalid = -1; - dustbin_row = -1; - } - - sqlite3_finalize (stmt); - sqlite3_finalize (stmt_dustbin); - sqlite3_finalize (stmt_retry); - return dustbin_count; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - if (stmt_dustbin != NULL) - sqlite3_finalize (stmt_dustbin); - return -1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_FromGeoTableNoFaceExtended (GaiaTopologyAccessorPtr accessor, - const char *sql_in, const char *sql_out, - const char *sql_in2, double tolerance, - int line_max_points, double max_length) -{ -/* attempting to import a whole GeoTable into a Topology-Geometry -/ without determining generated faces - Extended mode */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - sqlite3_stmt *stmt_dustbin = NULL; - sqlite3_stmt *stmt_retry = NULL; - int ret; - int dustbin_count = 0; - sqlite3_int64 start = -1; - sqlite3_int64 last; - sqlite3_int64 invalid = -1; - sqlite3_int64 dustbin_row = -1; - - if (topo == NULL) - return 0; - if (sql_in == NULL) - return 0; - if (sql_out == NULL) - return 0; - -/* building the SQL statement */ - ret = - sqlite3_prepare_v2 (topo->db_handle, sql_in, strlen (sql_in), &stmt, - NULL); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_FromGeoTableNoFaceExt error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* building the SQL dustbin statement */ - ret = - sqlite3_prepare_v2 (topo->db_handle, sql_out, strlen (sql_out), - &stmt_dustbin, NULL); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_FromGeoTableNoFaceExt error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* building the SQL retry statement */ - ret = - sqlite3_prepare_v2 (topo->db_handle, sql_in2, strlen (sql_in2), - &stmt_retry, NULL); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_FromGeoTableNoFaceExt error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - while (1) - { - /* main loop: attempting to import a block of features */ - ret = - do_FromGeoTableExtended_block (accessor, stmt, stmt_dustbin, - tolerance, line_max_points, - max_length, start, &last, &invalid, - &dustbin_count, &dustbin_row, - GAIA_MODE_TOPO_NO_FACE); - if (ret < 0) /* some unexpected error occurred */ - goto error; - if (ret > 1) - { - /* eof */ - break; - } - if (ret == 0) - { - /* found a failing feature; recovering */ - ret = - do_FromGeoTableExtended_block (accessor, stmt, stmt_dustbin, - tolerance, line_max_points, - max_length, start, &last, - &invalid, &dustbin_count, - &dustbin_row, - GAIA_MODE_TOPO_NO_FACE); - if (ret != 1) - goto error; - start = invalid; - invalid = -1; - dustbin_row = -1; - continue; - } - start = last; - invalid = -1; - dustbin_row = -1; - } - - sqlite3_finalize (stmt); - sqlite3_finalize (stmt_dustbin); - sqlite3_finalize (stmt_retry); - return dustbin_count; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - if (stmt_dustbin != NULL) - sqlite3_finalize (stmt_dustbin); - return -1; -} - -GAIATOPO_DECLARE gaiaGeomCollPtr -gaiaGetEdgeSeed (GaiaTopologyAccessorPtr accessor, sqlite3_int64 edge) -{ -/* attempting to get a Point (seed) identifying a Topology Edge */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - gaiaGeomCollPtr point = NULL; - if (topo == NULL) - return NULL; - -/* building the SQL statement */ - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT geom FROM MAIN.\"%s\" WHERE edge_id = ?", - xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("GetEdgeSeed error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, edge); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_BLOB) - { - const unsigned char *blob = sqlite3_column_blob (stmt, 0); - int blob_sz = sqlite3_column_bytes (stmt, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - int iv; - double x; - double y; - double z = 0.0; - double m = 0.0; - gaiaLinestringPtr ln = geom->FirstLinestring; - if (ln == NULL) - { - char *msg = - sqlite3_mprintf - ("TopoGeo_GetEdgeSeed error: Invalid Geometry"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - gaiaFreeGeomColl (geom); - goto error; - } - if (ln->Points == 2) - { - /* - // special case: if the Edge has only 2 points then - // the Seed will always be placed on the first point - */ - iv = 0; - } - else - { - /* ordinary case: placing the Seed into the middle */ - iv = ln->Points / 2; - } - if (ln->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (ln->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (ln->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, - &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - gaiaFreeGeomColl (geom); - if (topo->has_z) - { - point = gaiaAllocGeomCollXYZ (); - gaiaAddPointToGeomCollXYZ (point, x, y, z); - } - else - { - point = gaiaAllocGeomColl (); - gaiaAddPointToGeomColl (point, x, y); - } - point->Srid = topo->srid; - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_GetEdgeSeed error: Invalid Geometry"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_GetEdgeSeed error: not a BLOB value"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_GetEdgeSeed error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - return point; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return NULL; -} - -GAIATOPO_DECLARE gaiaGeomCollPtr -gaiaGetFaceSeed (GaiaTopologyAccessorPtr accessor, sqlite3_int64 face) -{ -/* attempting to get a Point (seed) identifying a Topology Face */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - gaiaGeomCollPtr point = NULL; - if (topo == NULL) - return NULL; - -/* building the SQL statement */ - sql = - sqlite3_mprintf ("SELECT ST_PointOnSurface(ST_GetFaceGeometry(%Q, ?))", - topo->topology_name); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("GetFaceSeed error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, face); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_BLOB) - { - const unsigned char *blob = sqlite3_column_blob (stmt, 0); - int blob_sz = sqlite3_column_bytes (stmt, 0); - point = gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (point == NULL) - { - char *msg = - sqlite3_mprintf - ("TopoGeo_GetFaceSeed error: Invalid Geometry"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_GetFaceSeed error: not a BLOB value"); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_GetFaceSeed error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - return point; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return NULL; -} - -static int -delete_all_seeds (struct gaia_topology *topo) -{ -/* deleting all existing Seeds */ - char *table; - char *xtable; - char *sql; - char *errMsg; - int ret; - - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - return 0; - } - return 1; -} - -static int -update_outdated_edge_seeds (struct gaia_topology *topo) -{ -/* updating all outdated Edge Seeds */ - char *table; - char *xseeds; - char *xedges; - char *sql; - int ret; - sqlite3_stmt *stmt_out; - sqlite3_stmt *stmt_in; - -/* preparing the UPDATE statement */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET geom = " - "TopoGeo_GetEdgeSeed(%Q, edge_id) WHERE edge_id = ?", - xseeds, topo->topology_name); - free (xseeds); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_out, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the SELECT statement */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xedges = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT s.edge_id FROM MAIN.\"%s\" AS s " - "JOIN MAIN.\"%s\" AS e ON (e.edge_id = s.edge_id) " - "WHERE s.edge_id IS NOT NULL AND e.timestamp > s.timestamp", - xseeds, xedges); - free (xseeds); - free (xedges); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - sqlite3_bind_int64 (stmt_out, 1, - sqlite3_column_int64 (stmt_in, 0)); - /* updating the Seeds table */ - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -static int -update_outdated_face_seeds (struct gaia_topology *topo) -{ -/* updating all outdated Face Seeds */ - char *table; - char *xseeds; - char *xedges; - char *xfaces; - char *sql; - int ret; - sqlite3_stmt *stmt_out; - sqlite3_stmt *stmt_in; - -/* preparing the UPDATE statement */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET geom = " - "TopoGeo_GetFaceSeed(%Q, face_id) WHERE face_id = ?", - xseeds, topo->topology_name); - free (xseeds); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_out, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the SELECT statement */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xedges = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xfaces = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT x.face_id FROM MAIN.\"%s\" AS s, " - "(SELECT f.face_id AS face_id, Max(e.timestamp) AS max_tm " - "FROM MAIN.\"%s\" AS f " - "JOIN MAIN.\"%s\" AS e ON (e.left_face = f.face_id OR e.right_face = f.face_id) " - "GROUP BY f.face_id) AS x " - "WHERE s.face_id IS NOT NULL AND s.face_id = x.face_id AND x.max_tm > s.timestamp", - xseeds, xfaces, xedges); - free (xseeds); - free (xedges); - free (xfaces); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_in, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - sqlite3_bind_int64 (stmt_out, 1, - sqlite3_column_int64 (stmt_in, 0)); - /* updating the Seeds table */ - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -GAIATOPO_DECLARE int -gaiaTopoGeoUpdateSeeds (GaiaTopologyAccessorPtr accessor, int incremental_mode) -{ -/* updating all TopoGeo Seeds */ - char *table; - char *xseeds; - char *xedges; - char *xfaces; - char *sql; - char *errMsg; - int ret; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - if (!incremental_mode) - { - /* deleting all existing Seeds */ - if (!delete_all_seeds (topo)) - return 0; - } - -/* paranoid precaution: deleting all orphan Edge Seeds */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xedges = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\" WHERE edge_id IN (" - "SELECT s.edge_id FROM MAIN.\"%s\" AS s " - "LEFT JOIN MAIN.\"%s\" AS e ON (s.edge_id = e.edge_id) " - "WHERE s.edge_id IS NOT NULL AND e.edge_id IS NULL)", - xseeds, xseeds, xedges); - free (xseeds); - free (xedges); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - return 0; - } - -/* paranoid precaution: deleting all orphan Face Seeds */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xfaces = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\" WHERE face_id IN (" - "SELECT s.face_id FROM MAIN.\"%s\" AS s " - "LEFT JOIN MAIN.\"%s\" AS f ON (s.face_id = f.face_id) " - "WHERE s.face_id IS NOT NULL AND f.face_id IS NULL)", - xseeds, xseeds, xfaces); - free (xseeds); - free (xfaces); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - return 0; - } - -/* updating all outdated Edge Seeds */ - if (!update_outdated_edge_seeds (topo)) - return 0; - -/* updating all outdated Facee Seeds */ - if (!update_outdated_face_seeds (topo)) - return 0; - -/* inserting all missing Edge Seeds */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xedges = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (seed_id, edge_id, face_id, geom) " - "SELECT NULL, e.edge_id, NULL, TopoGeo_GetEdgeSeed(%Q, e.edge_id) " - "FROM MAIN.\"%s\" AS e " - "LEFT JOIN MAIN.\"%s\" AS s ON (e.edge_id = s.edge_id) WHERE s.edge_id IS NULL", - xseeds, topo->topology_name, xedges, xseeds); - free (xseeds); - free (xedges); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - return 0; - } - - /* inserting all missing Face Seeds */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xseeds = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xfaces = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (seed_id, edge_id, face_id, geom) " - "SELECT NULL, NULL, f.face_id, TopoGeo_GetFaceSeed(%Q, f.face_id) " - "FROM MAIN.\"%s\" AS f " - "LEFT JOIN MAIN.\"%s\" AS s ON (f.face_id = s.face_id) " - "WHERE s.face_id IS NULL AND f.face_id <> 0", xseeds, - topo->topology_name, xfaces, xseeds); - free (xseeds); - free (xfaces); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_UpdateSeeds() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - return 0; - } - - return 1; -} - -GAIATOPO_DECLARE gaiaGeomCollPtr -gaiaTopoGeoSnapPointToSeed (GaiaTopologyAccessorPtr accessor, - gaiaGeomCollPtr pt, double distance) -{ -/* snapping a Point to TopoSeeds */ - char *sql; - char *table; - char *xtable; - sqlite3_stmt *stmt = NULL; - sqlite3_stmt *stmt_snap = NULL; - int ret; - unsigned char *blob; - int blob_size; - unsigned char *blob2; - int blob_size2; - gaiaGeomCollPtr result = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return NULL; - -/* preparing the Snap statement */ - sql = "SELECT ST_Snap(?, ?, ?)"; - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_snap, - NULL); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnapPointToSeed() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the SELECT statement */ - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("SELECT geom " - "FROM \"%s\" WHERE ST_Distance(?, geom) <= ? AND rowid IN " - "(SELECT rowid FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ST_Buffer(?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnapPointToSeed() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* querying Seeds */ - if (topo->has_z) - result = gaiaAllocGeomCollXYZ (); - else - result = gaiaAllocGeomColl (); - result->Srid = pt->Srid; - gaiaToSpatiaLiteBlobWkb (pt, &blob, &blob_size); - gaiaToSpatiaLiteBlobWkb (pt, &blob2, &blob_size2); - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_blob (stmt, 1, blob, blob_size, free); - sqlite3_bind_double (stmt, 2, distance); - sqlite3_bind_blob (stmt, 3, blob2, blob_size2, free); - sqlite3_bind_double (stmt, 4, distance * 1.2); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const unsigned char *p_blob = sqlite3_column_blob (stmt, 0); - int blobsz = sqlite3_column_bytes (stmt, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (p_blob, blobsz); - if (geom != NULL) - { - gaiaPointPtr pt = geom->FirstPoint; - while (pt != NULL) - { - /* copying all Points into the result Geometry */ - if (topo->has_z) - gaiaAddPointToGeomCollXYZ (result, pt->X, pt->Y, - pt->Z); - else - gaiaAddPointToGeomColl (result, pt->X, pt->Y); - pt = pt->Next; - } - gaiaFreeGeomColl (geom); - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnapPointToSeed error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - stmt = NULL; - if (result->FirstPoint == NULL) - goto error; - -/* Snap */ - gaiaToSpatiaLiteBlobWkb (pt, &blob, &blob_size); - gaiaToSpatiaLiteBlobWkb (result, &blob2, &blob_size2); - gaiaFreeGeomColl (result); - result = NULL; - sqlite3_reset (stmt_snap); - sqlite3_clear_bindings (stmt_snap); - sqlite3_bind_blob (stmt_snap, 1, blob, blob_size, free); - sqlite3_bind_blob (stmt_snap, 2, blob2, blob_size2, free); - sqlite3_bind_double (stmt_snap, 3, distance); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_snap); - - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt_snap, 0) != SQLITE_NULL) - { - const unsigned char *p_blob = - sqlite3_column_blob (stmt_snap, 0); - int blobsz = sqlite3_column_bytes (stmt_snap, 0); - if (result != NULL) - gaiaFreeGeomColl (result); - result = gaiaFromSpatiaLiteBlobWkb (p_blob, blobsz); - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnapPointToSeed error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_snap); - stmt_snap = NULL; - if (result == NULL) - goto error; - if (result->FirstLinestring != NULL || result->FirstPolygon != NULL) - goto error; - if (result->FirstPoint == NULL) - goto error; - if (result->FirstPoint != result->LastPoint) - goto error; - return result; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - if (stmt_snap != NULL) - sqlite3_finalize (stmt_snap); - if (result != NULL) - gaiaFreeGeomColl (result); - return NULL; -} - -GAIATOPO_DECLARE gaiaGeomCollPtr -gaiaTopoGeoSnapLinestringToSeed (GaiaTopologyAccessorPtr accessor, - gaiaGeomCollPtr ln, double distance) -{ -/* snapping a Linestring to TopoSeeds */ - char *sql; - char *table; - char *xtable; - int ret; - unsigned char *blob; - int blob_size; - unsigned char *blob2; - int blob_size2; - gaiaGeomCollPtr result = NULL; - sqlite3_stmt *stmt = NULL; - sqlite3_stmt *stmt_snap = NULL; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return NULL; - -/* preparing the Snap statement */ - sql = "SELECT ST_Snap(?, ?, ?)"; - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_snap, - NULL); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnapLinestringToSeed() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the SELECT statement */ - table = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("SELECT edge_id, geom " - "FROM \"%s\" WHERE ST_Distance(?, geom) <= ? AND rowid IN " - "(SELECT rowid FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ST_Buffer(?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnapLinestringToSeed() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* querying Seeds */ - if (topo->has_z) - result = gaiaAllocGeomCollXYZ (); - else - result = gaiaAllocGeomColl (); - result->Srid = ln->Srid; - gaiaToSpatiaLiteBlobWkb (ln, &blob, &blob_size); - gaiaToSpatiaLiteBlobWkb (ln, &blob2, &blob_size2); - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_blob (stmt, 1, blob, blob_size, free); - sqlite3_bind_double (stmt, 2, distance); - sqlite3_bind_blob (stmt, 3, blob2, blob_size2, free); - sqlite3_bind_double (stmt, 4, distance * 1.2); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) != SQLITE_NULL) - { - const unsigned char *p_blob = - sqlite3_column_blob (stmt, 1); - int blobsz = sqlite3_column_bytes (stmt, 1); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (p_blob, blobsz); - if (geom != NULL) - { - gaiaPointPtr pt = geom->FirstPoint; - while (pt != NULL) - { - /* copying all Points into the result Geometry */ - if (topo->has_z) - gaiaAddPointToGeomCollXYZ (result, pt->X, - pt->Y, pt->Z); - else - gaiaAddPointToGeomColl (result, pt->X, - pt->Y); - pt = pt->Next; - } - } - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_SnapLinestringToSeed error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - stmt = NULL; - if (result->FirstPoint == NULL) - goto error; - -/* Snap */ - gaiaToSpatiaLiteBlobWkb (ln, &blob, &blob_size); - gaiaToSpatiaLiteBlobWkb (result, &blob2, &blob_size2); - gaiaFreeGeomColl (result); - result = NULL; - sqlite3_reset (stmt_snap); - sqlite3_clear_bindings (stmt_snap); - sqlite3_bind_blob (stmt_snap, 1, blob, blob_size, free); - sqlite3_bind_blob (stmt_snap, 2, blob2, blob_size2, free); - sqlite3_bind_double (stmt_snap, 3, distance); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_snap); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt_snap, 0) == SQLITE_BLOB) - { - const unsigned char *p_blob = - sqlite3_column_blob (stmt_snap, 0); - int blobsz = sqlite3_column_bytes (stmt_snap, 0); - if (result != NULL) - gaiaFreeGeomColl (result); - result = gaiaFromSpatiaLiteBlobWkb (p_blob, blobsz); - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_SnapLinestringToSeed error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt_snap); - stmt_snap = NULL; - if (result == NULL) - goto error; - if (result->FirstPoint != NULL || result->FirstPolygon != NULL) - goto error; - if (result->FirstLinestring == NULL) - goto error; - if (result->FirstLinestring != result->LastLinestring) - goto error; - return result; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - if (stmt_snap != NULL) - sqlite3_finalize (stmt_snap); - if (result != NULL) - gaiaFreeGeomColl (result); - return NULL; -} - -static gaiaGeomCollPtr -make_geom_from_polyg (int srid, gaiaPolygonPtr pg) -{ -/* quick constructor: Geometry based on external polyg */ - gaiaGeomCollPtr reference; - if (pg->DimensionModel == GAIA_XY_Z_M) - reference = gaiaAllocGeomCollXYZM (); - else if (pg->DimensionModel == GAIA_XY_Z) - reference = gaiaAllocGeomCollXYZ (); - else if (pg->DimensionModel == GAIA_XY_M) - reference = gaiaAllocGeomCollXYM (); - else - reference = gaiaAllocGeomColl (); - reference->Srid = srid; - pg->Next = NULL; - reference->FirstPolygon = pg; - reference->LastPolygon = pg; - return reference; -} - -static void -do_eval_topogeo_point (struct gaia_topology *topo, gaiaGeomCollPtr result, - gaiaGeomCollPtr reference, sqlite3_stmt * stmt_node) -{ -/* retrieving Points from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - -/* initializing the Topo-Node query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_node); - sqlite3_clear_bindings (stmt_node); - sqlite3_bind_blob (stmt_node, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_node, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_node); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const unsigned char *blob = sqlite3_column_blob (stmt_node, 0); - int blob_sz = sqlite3_column_bytes (stmt_node, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaPointPtr pt = geom->FirstPoint; - while (pt != NULL) - { - /* copying all Points into the result Geometry */ - if (topo->has_z) - gaiaAddPointToGeomCollXYZ (result, pt->X, pt->Y, - pt->Z); - else - gaiaAddPointToGeomColl (result, pt->X, pt->Y); - pt = pt->Next; - } - gaiaFreeGeomColl (geom); - } - } - else - { - char *msg = sqlite3_mprintf ("TopoGeo_ToGeoTable error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return; - } - } -} - -static void -do_collect_topo_edges (struct gaia_topology *topo, gaiaGeomCollPtr sparse, - sqlite3_stmt * stmt_edge, sqlite3_int64 edge_id) -{ -/* collecting Edge Geometries one by one */ - int ret; - -/* initializing the Topo-Edge query */ - sqlite3_reset (stmt_edge); - sqlite3_clear_bindings (stmt_edge); - sqlite3_bind_int64 (stmt_edge, 1, edge_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_edge); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const unsigned char *blob = sqlite3_column_blob (stmt_edge, 0); - int blob_sz = sqlite3_column_bytes (stmt_edge, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaLinestringPtr ln = geom->FirstLinestring; - while (ln != NULL) - { - if (topo->has_z) - auxtopo_copy_linestring3d (ln, sparse); - else - auxtopo_copy_linestring (ln, sparse); - ln = ln->Next; - } - gaiaFreeGeomColl (geom); - } - } - else - { - char *msg = sqlite3_mprintf ("TopoGeo_ToGeoTable error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return; - } - } -} - -static void -do_eval_topogeo_line (struct gaia_topology *topo, gaiaGeomCollPtr result, - gaiaGeomCollPtr reference, sqlite3_stmt * stmt_seed_edge, - sqlite3_stmt * stmt_edge) -{ -/* retrieving Linestrings from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr sparse; - gaiaGeomCollPtr rearranged; - gaiaLinestringPtr ln; - - if (topo->has_z) - sparse = gaiaAllocGeomCollXYZ (); - else - sparse = gaiaAllocGeomColl (); - sparse->Srid = topo->srid; - -/* initializing the Topo-Seed-Edge query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_seed_edge); - sqlite3_clear_bindings (stmt_seed_edge); - sqlite3_bind_blob (stmt_seed_edge, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_seed_edge, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_seed_edge); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = - sqlite3_column_int64 (stmt_seed_edge, 0); - do_collect_topo_edges (topo, sparse, stmt_edge, edge_id); - } - else - { - char *msg = sqlite3_mprintf ("TopoGeo_ToGeoTable error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - gaiaFreeGeomColl (sparse); - return; - } - } - -/* attempting to rearrange sparse lines */ - rearranged = gaiaLineMerge_r (topo->cache, sparse); - gaiaFreeGeomColl (sparse); - if (rearranged == NULL) - return; - ln = rearranged->FirstLinestring; - while (ln != NULL) - { - if (topo->has_z) - auxtopo_copy_linestring3d (ln, result); - else - auxtopo_copy_linestring (ln, result); - ln = ln->Next; - } - gaiaFreeGeomColl (rearranged); -} - -static void -do_explode_topo_face (struct gaia_topology *topo, struct face_edges *list, - sqlite3_stmt * stmt_face, sqlite3_int64 face_id) -{ -/* exploding all Edges required by the same face */ - int ret; - -/* initializing the Topo-Face query */ - sqlite3_reset (stmt_face); - sqlite3_clear_bindings (stmt_face); - sqlite3_bind_int64 (stmt_face, 1, face_id); - sqlite3_bind_int64 (stmt_face, 2, face_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_face); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt_face, 0); - sqlite3_int64 left_face = sqlite3_column_int64 (stmt_face, 1); - sqlite3_int64 right_face = sqlite3_column_int64 (stmt_face, 2); - const unsigned char *blob = sqlite3_column_blob (stmt_face, 3); - int blob_sz = sqlite3_column_bytes (stmt_face, 3); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - auxtopo_add_face_edge (list, face_id, edge_id, left_face, - right_face, geom); - } - else - { - char *msg = sqlite3_mprintf ("TopoGeo_ToGeoTable error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return; - } - } -} - -static void -do_copy_ring3d (gaiaRingPtr in, gaiaRingPtr out) -{ -/* inserting/copying a Ring 3D into another Ring */ - int iv; - double x; - double y; - double z; - for (iv = 0; iv < in->Points; iv++) - { - gaiaGetPointXYZ (in->Coords, iv, &x, &y, &z); - gaiaSetPointXYZ (out->Coords, iv, x, y, z); - } -} - -static void -do_copy_ring (gaiaRingPtr in, gaiaRingPtr out) -{ -/* inserting/copying a Ring into another Ring */ - int iv; - double x; - double y; - for (iv = 0; iv < in->Points; iv++) - { - gaiaGetPoint (in->Coords, iv, &x, &y); - gaiaSetPoint (out->Coords, iv, x, y); - } -} - -static void -do_copy_polygon3d (gaiaPolygonPtr in, gaiaGeomCollPtr geom) -{ -/* inserting/copying a Polygon 3D into another Geometry */ - int ib; - gaiaRingPtr rng_out; - gaiaRingPtr rng_in = in->Exterior; - gaiaPolygonPtr out = - gaiaAddPolygonToGeomColl (geom, rng_in->Points, in->NumInteriors); - rng_out = out->Exterior; - do_copy_ring3d (rng_in, rng_out); - for (ib = 0; ib < in->NumInteriors; ib++) - { - rng_in = in->Interiors + ib; - rng_out = gaiaAddInteriorRing (out, ib, rng_in->Points); - do_copy_ring3d (rng_in, rng_out); - } -} - -static void -do_copy_polygon (gaiaPolygonPtr in, gaiaGeomCollPtr geom) -{ -/* inserting/copying a Polygon into another Geometry */ - int ib; - gaiaRingPtr rng_out; - gaiaRingPtr rng_in = in->Exterior; - gaiaPolygonPtr out = - gaiaAddPolygonToGeomColl (geom, rng_in->Points, in->NumInteriors); - rng_out = out->Exterior; - do_copy_ring (rng_in, rng_out); - for (ib = 0; ib < in->NumInteriors; ib++) - { - rng_in = in->Interiors + ib; - rng_out = gaiaAddInteriorRing (out, ib, rng_in->Points); - do_copy_ring (rng_in, rng_out); - } -} - -static void -do_copy_filter_polygon3d (gaiaPolygonPtr in, gaiaGeomCollPtr geom, - const void *cache, double tolerance) -{ -/* inserting/copying a Polygon 3D into another Geometry (with tolerance) */ - int ib; - gaiaGeomCollPtr polyg; - gaiaPolygonPtr pg; - gaiaRingPtr rng_out; - gaiaRingPtr rng_in = in->Exterior; - gaiaPolygonPtr out; - double area; - int ret; - int numints = 0; - - polyg = gaiaAllocGeomCollXYZ (); - pg = gaiaAddPolygonToGeomColl (polyg, rng_in->Points, 0); - rng_out = pg->Exterior; - do_copy_ring3d (rng_in, rng_out); - ret = gaiaGeomCollArea_r (cache, polyg, &area); - gaiaFreeGeomColl (polyg); - if (!ret) - return; - if ((tolerance * tolerance) > area) - return; /* skipping smaller polygons */ - - for (ib = 0; ib < in->NumInteriors; ib++) - { - /* counting how many interior rings do we really have */ - rng_in = in->Interiors + ib; - polyg = gaiaAllocGeomCollXYZ (); - pg = gaiaAddPolygonToGeomColl (polyg, rng_in->Points, 0); - rng_out = pg->Exterior; - do_copy_ring3d (rng_in, rng_out); - ret = gaiaGeomCollArea_r (cache, polyg, &area); - gaiaFreeGeomColl (polyg); - if (!ret) - continue; - if ((tolerance * tolerance) > area) - continue; /* skipping smaller holes */ - numints++; - } - - rng_in = in->Exterior; - out = gaiaAddPolygonToGeomColl (geom, rng_in->Points, numints); - rng_out = out->Exterior; - do_copy_ring3d (rng_in, rng_out); - numints = 0; - for (ib = 0; ib < in->NumInteriors; ib++) - { - /* copying interior rings */ - rng_in = in->Interiors + ib; - polyg = gaiaAllocGeomCollXYZ (); - pg = gaiaAddPolygonToGeomColl (polyg, rng_in->Points, 0); - rng_out = pg->Exterior; - do_copy_ring3d (rng_in, rng_out); - ret = gaiaGeomCollArea_r (cache, polyg, &area); - gaiaFreeGeomColl (polyg); - if (!ret) - continue; - if ((tolerance * tolerance) > area) - continue; /* skipping smaller holes */ - rng_out = gaiaAddInteriorRing (out, numints++, rng_in->Points); - do_copy_ring3d (rng_in, rng_out); - } -} - -static void -do_copy_filter_polygon (gaiaPolygonPtr in, gaiaGeomCollPtr geom, - const void *cache, double tolerance) -{ -/* inserting/copying a Polygon into another Geometry (with tolerance) */ - int ib; - gaiaGeomCollPtr polyg; - gaiaPolygonPtr pg; - gaiaRingPtr rng_out; - gaiaRingPtr rng_in = in->Exterior; - gaiaPolygonPtr out; - double area; - int ret; - int numints = 0; - - polyg = gaiaAllocGeomColl (); - pg = gaiaAddPolygonToGeomColl (polyg, rng_in->Points, 0); - rng_out = pg->Exterior; - do_copy_ring (rng_in, rng_out); - ret = gaiaGeomCollArea_r (cache, polyg, &area); - gaiaFreeGeomColl (polyg); - if (!ret) - return; - if ((tolerance * tolerance) > area) - return; /* skipping smaller polygons */ - - for (ib = 0; ib < in->NumInteriors; ib++) - { - /* counting how many interior rings do we really have */ - rng_in = in->Interiors + ib; - polyg = gaiaAllocGeomColl (); - pg = gaiaAddPolygonToGeomColl (polyg, rng_in->Points, 0); - rng_out = pg->Exterior; - do_copy_ring (rng_in, rng_out); - ret = gaiaGeomCollArea_r (cache, polyg, &area); - gaiaFreeGeomColl (polyg); - if (!ret) - continue; - if ((tolerance * tolerance) > area) - continue; /* skipping smaller holes */ - numints++; - } - - rng_in = in->Exterior; - out = gaiaAddPolygonToGeomColl (geom, rng_in->Points, numints); - rng_out = out->Exterior; - do_copy_ring (rng_in, rng_out); - numints = 0; - for (ib = 0; ib < in->NumInteriors; ib++) - { - /* copying interior rings */ - rng_in = in->Interiors + ib; - polyg = gaiaAllocGeomColl (); - pg = gaiaAddPolygonToGeomColl (polyg, rng_in->Points, 0); - rng_out = pg->Exterior; - do_copy_ring (rng_in, rng_out); - ret = gaiaGeomCollArea_r (cache, polyg, &area); - gaiaFreeGeomColl (polyg); - if (!ret) - continue; - if ((tolerance * tolerance) > area) - continue; /* skipping smaller holes */ - rng_out = gaiaAddInteriorRing (out, numints++, rng_in->Points); - do_copy_ring (rng_in, rng_out); - } -} - -static void -do_eval_topo_polyg (struct gaia_topology *topo, gaiaGeomCollPtr result, - gaiaGeomCollPtr reference, sqlite3_stmt * stmt_seed_face, - sqlite3_stmt * stmt_face) -{ -/* retrieving Polygons from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr rearranged; - gaiaPolygonPtr pg; - struct face_edges *list = - auxtopo_create_face_edges (topo->has_z, topo->srid); - -/* initializing the Topo-Seed-Face query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_seed_face); - sqlite3_clear_bindings (stmt_seed_face); - sqlite3_bind_blob (stmt_seed_face, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_seed_face, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_seed_face); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 face_id = - sqlite3_column_int64 (stmt_seed_face, 0); - do_explode_topo_face (topo, list, stmt_face, face_id); - } - else - { - char *msg = sqlite3_mprintf ("TopoGeo_ToGeoTable error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - auxtopo_free_face_edges (list); - return; - } - } - -/* attempting to rearrange sparse lines into Polygons */ - auxtopo_select_valid_face_edges (list); - rearranged = auxtopo_polygonize_face_edges (list, topo->cache); - auxtopo_free_face_edges (list); - if (rearranged == NULL) - return; - pg = rearranged->FirstPolygon; - while (pg != NULL) - { - if (topo->has_z) - do_copy_polygon3d (pg, result); - else - do_copy_polygon (pg, result); - pg = pg->Next; - } - gaiaFreeGeomColl (rearranged); -} - -static void -do_eval_topo_polyg_generalize (struct gaia_topology *topo, - gaiaGeomCollPtr result, - gaiaGeomCollPtr reference, - sqlite3_stmt * stmt_seed_face, - sqlite3_stmt * stmt_face, double tolerance) -{ -/* retrieving Polygons from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr rearranged; - gaiaPolygonPtr pg; - struct face_edges *list = - auxtopo_create_face_edges (topo->has_z, topo->srid); - -/* initializing the Topo-Seed-Face query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_seed_face); - sqlite3_clear_bindings (stmt_seed_face); - sqlite3_bind_blob (stmt_seed_face, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_seed_face, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_seed_face); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 face_id = - sqlite3_column_int64 (stmt_seed_face, 0); - do_explode_topo_face (topo, list, stmt_face, face_id); - } - else - { - char *msg = sqlite3_mprintf ("TopoGeo_ToGeoTable error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - auxtopo_free_face_edges (list); - return; - } - } - -/* attempting to rearrange sparse lines into Polygons */ - auxtopo_select_valid_face_edges (list); - rearranged = auxtopo_polygonize_face_edges_generalize (list, topo->cache); - auxtopo_free_face_edges (list); - if (rearranged == NULL) - return; - pg = rearranged->FirstPolygon; - while (pg != NULL) - { - if (topo->has_z) - do_copy_filter_polygon3d (pg, result, topo->cache, tolerance); - else - do_copy_filter_polygon (pg, result, topo->cache, tolerance); - pg = pg->Next; - } - gaiaFreeGeomColl (rearranged); -} - -static gaiaGeomCollPtr -do_eval_topogeo_geom (struct gaia_topology *topo, gaiaGeomCollPtr geom, - sqlite3_stmt * stmt_seed_edge, - sqlite3_stmt * stmt_seed_face, sqlite3_stmt * stmt_node, - sqlite3_stmt * stmt_edge, sqlite3_stmt * stmt_face, - int out_type, double tolerance) -{ -/* retrieving Topology-Geometry geometries via matching Seeds */ - gaiaGeomCollPtr result; - - if (topo->has_z) - result = gaiaAllocGeomCollXYZ (); - else - result = gaiaAllocGeomColl (); - result->Srid = topo->srid; - result->DeclaredType = out_type; - - if (out_type == GAIA_POINT || out_type == GAIA_MULTIPOINT - || out_type == GAIA_GEOMETRYCOLLECTION || out_type == GAIA_UNKNOWN) - { - /* processing all Points */ - gaiaPointPtr pt = geom->FirstPoint; - while (pt != NULL) - { - gaiaPointPtr next = pt->Next; - gaiaGeomCollPtr reference = (gaiaGeomCollPtr) - auxtopo_make_geom_from_point (topo->srid, topo->has_z, pt); - do_eval_topogeo_point (topo, result, reference, stmt_node); - auxtopo_destroy_geom_from (reference); - pt->Next = next; - pt = pt->Next; - } - } - - if (out_type == GAIA_MULTILINESTRING || out_type == GAIA_GEOMETRYCOLLECTION - || out_type == GAIA_UNKNOWN) - { - /* processing all Linestrings */ - gaiaLinestringPtr ln = geom->FirstLinestring; - while (ln != NULL) - { - gaiaLinestringPtr next = ln->Next; - gaiaGeomCollPtr reference = (gaiaGeomCollPtr) - auxtopo_make_geom_from_line (topo->srid, ln); - do_eval_topogeo_line (topo, result, reference, stmt_seed_edge, - stmt_edge); - auxtopo_destroy_geom_from (reference); - ln->Next = next; - ln = ln->Next; - } - } - - if (out_type == GAIA_MULTIPOLYGON || out_type == GAIA_GEOMETRYCOLLECTION - || out_type == GAIA_UNKNOWN) - { - /* processing all Polygons */ - gaiaPolygonPtr pg = geom->FirstPolygon; - while (pg != NULL) - { - gaiaPolygonPtr next = pg->Next; - gaiaGeomCollPtr reference = - make_geom_from_polyg (topo->srid, pg); - if (tolerance > 0.0) - do_eval_topo_polyg_generalize (topo, result, reference, - stmt_seed_face, stmt_face, - tolerance); - else - do_eval_topo_polyg (topo, result, reference, stmt_seed_face, - stmt_face); - auxtopo_destroy_geom_from (reference); - pg->Next = next; - pg = pg->Next; - } - } - - if (result->FirstPoint == NULL && result->FirstLinestring == NULL - && result->FirstPolygon == NULL) - goto error; - return result; - - error: - gaiaFreeGeomColl (result); - return NULL; -} - -static int -do_eval_topogeo_seeds (struct gaia_topology *topo, sqlite3_stmt * stmt_ref, - int ref_geom_col, sqlite3_stmt * stmt_ins, - sqlite3_stmt * stmt_seed_edge, - sqlite3_stmt * stmt_seed_face, sqlite3_stmt * stmt_node, - sqlite3_stmt * stmt_edge, sqlite3_stmt * stmt_face, - int out_type, double tolerance) -{ -/* querying the ref-table */ - int ret; - - sqlite3_reset (stmt_ref); - sqlite3_clear_bindings (stmt_ref); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_ref); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int icol; - int ncol = sqlite3_column_count (stmt_ref); - sqlite3_reset (stmt_ins); - sqlite3_clear_bindings (stmt_ins); - for (icol = 0; icol < ncol; icol++) - { - int col_type = sqlite3_column_type (stmt_ref, icol); - if (icol == ref_geom_col) - { - /* the geometry column */ - const unsigned char *blob = - sqlite3_column_blob (stmt_ref, icol); - int blob_sz = sqlite3_column_bytes (stmt_ref, icol); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaGeomCollPtr result; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - if (topo->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache - *) (topo->cache); - gpkg_mode = cache->gpkg_mode; - } - result = do_eval_topogeo_geom (topo, geom, - stmt_seed_edge, - stmt_seed_face, - stmt_node, - stmt_edge, - stmt_face, - out_type, - tolerance); - gaiaFreeGeomColl (geom); - if (result != NULL) - { - gaiaToSpatiaLiteBlobWkbEx (result, - &p_blob, - &n_bytes, - gpkg_mode); - gaiaFreeGeomColl (result); - sqlite3_bind_blob (stmt_ins, icol + 1, - p_blob, n_bytes, - free); - } - else - sqlite3_bind_null (stmt_ins, icol + 1); - } - else - sqlite3_bind_null (stmt_ins, icol + 1); - continue; - } - switch (col_type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_ins, icol + 1, - sqlite3_column_int64 (stmt_ref, - icol)); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_ins, icol + 1, - sqlite3_column_double - (stmt_ref, icol)); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_ins, icol + 1, - (const char *) - sqlite3_column_text (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - case SQLITE_BLOB: - sqlite3_bind_blob (stmt_ins, icol + 1, - sqlite3_column_blob (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_ins, icol + 1); - break; - }; - } - ret = sqlite3_step (stmt_ins); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTable() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_ToGeoTableGeneralize (GaiaTopologyAccessorPtr accessor, - const char *db_prefix, const char *ref_table, - const char *ref_column, const char *out_table, - double tolerance, int with_spatial_index) -{ -/* -/ attempting to create and populate a new GeoTable out from a Topology-Geometry -/ (simplified/generalized form) -*/ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt_ref = NULL; - sqlite3_stmt *stmt_ins = NULL; - sqlite3_stmt *stmt_seed_edge = NULL; - sqlite3_stmt *stmt_seed_face = NULL; - sqlite3_stmt *stmt_node = NULL; - sqlite3_stmt *stmt_edge = NULL; - sqlite3_stmt *stmt_face = NULL; - int ret; - char *create; - char *select; - char *insert; - char *sql; - char *errMsg; - char *xprefix; - char *xtable; - int ref_type; - const char *type; - int out_type; - int ref_geom_col; - if (topo == NULL) - return 0; - -/* incrementally updating all Topology Seeds */ - if (!gaiaTopoGeoUpdateSeeds (accessor, 1)) - return 0; - -/* composing the CREATE TABLE output-table statement */ - if (!auxtopo_create_togeotable_sql - (topo->db_handle, db_prefix, ref_table, ref_column, out_table, &create, - &select, &insert, &ref_geom_col)) - goto error; - -/* creating the output-table */ - ret = sqlite3_exec (topo->db_handle, create, NULL, NULL, &errMsg); - sqlite3_free (create); - create = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* checking the Geometry Type */ - if (!auxtopo_retrieve_geometry_type - (topo->db_handle, db_prefix, ref_table, ref_column, &ref_type)) - goto error; - switch (ref_type) - { - case GAIA_POINT: - case GAIA_POINTZ: - case GAIA_POINTM: - case GAIA_POINTZM: - type = "POINT"; - out_type = GAIA_POINT; - break; - case GAIA_MULTIPOINT: - case GAIA_MULTIPOINTZ: - case GAIA_MULTIPOINTM: - case GAIA_MULTIPOINTZM: - type = "MULTIPOINT"; - out_type = GAIA_MULTIPOINT; - break; - case GAIA_LINESTRING: - case GAIA_LINESTRINGZ: - case GAIA_LINESTRINGM: - case GAIA_LINESTRINGZM: - case GAIA_MULTILINESTRING: - case GAIA_MULTILINESTRINGZ: - case GAIA_MULTILINESTRINGM: - case GAIA_MULTILINESTRINGZM: - type = "MULTILINESTRING"; - out_type = GAIA_MULTILINESTRING; - break; - case GAIA_POLYGON: - case GAIA_POLYGONZ: - case GAIA_POLYGONM: - case GAIA_POLYGONZM: - case GAIA_MULTIPOLYGON: - case GAIA_MULTIPOLYGONZ: - case GAIA_MULTIPOLYGONM: - case GAIA_MULTIPOLYGONZM: - type = "MULTIPOLYGON"; - out_type = GAIA_MULTIPOLYGON; - break; - case GAIA_GEOMETRYCOLLECTION: - case GAIA_GEOMETRYCOLLECTIONZ: - case GAIA_GEOMETRYCOLLECTIONM: - case GAIA_GEOMETRYCOLLECTIONZM: - type = "GEOMETRYCOLLECTION"; - out_type = GAIA_GEOMETRYCOLLECTION; - break; - default: - type = "GEOMETRY"; - out_type = GAIA_UNKNOWN; - break; - }; - -/* creating the output Geometry Column */ - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(Lower(%Q), Lower(%Q), %d, '%s', '%s')", - out_table, ref_column, topo->srid, type, - (topo->has_z == 0) ? "XY" : "XYZ"); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - - if (with_spatial_index) - { - /* adding a Spatial Index supporting the Geometry Column */ - sql = - sqlite3_mprintf - ("SELECT CreateSpatialIndex(Lower(%Q), Lower(%Q))", - out_table, ref_column); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - -/* preparing the "SELECT * FROM ref-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, select, strlen (select), &stmt_ref, - NULL); - sqlite3_free (select); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "INSERT INTO out-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, insert, strlen (insert), &stmt_ins, - NULL); - sqlite3_free (insert); - insert = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Seed-Edges query */ - xprefix = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT edge_id FROM MAIN.\"%s\" " - "WHERE edge_id IS NOT NULL AND ST_Intersects(geom, ?) = 1 AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ?)", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_seed_edge, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Seed-Faces query */ - xprefix = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT face_id FROM MAIN.\"%s\" " - "WHERE face_id IS NOT NULL AND ST_Intersects(geom, ?) = 1 AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ?)", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_seed_face, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Nodes query */ - xprefix = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT geom FROM MAIN.\"%s\" " - "WHERE ST_Intersects(geom, ?) = 1 AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ?)", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_node, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Edges query */ - xprefix = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - if (tolerance > 0.0) - sql = - sqlite3_mprintf - ("SELECT ST_SimplifyPreserveTopology(geom, %1.6f) FROM MAIN.\"%s\" WHERE edge_id = ?", - tolerance, xtable, xprefix); - else - sql = sqlite3_mprintf ("SELECT geom FROM MAIN.\"%s\" WHERE edge_id = ?", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_edge, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Faces query */ - xprefix = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - if (tolerance > 0.0) - sql = - sqlite3_mprintf - ("SELECT edge_id, left_face, right_face, ST_SimplifyPreserveTopology(geom, %1.6f) FROM MAIN.\"%s\" " - "WHERE left_face = ? OR right_face = ?", tolerance, xtable); - else - sql = - sqlite3_mprintf - ("SELECT edge_id, left_face, right_face, geom FROM MAIN.\"%s\" " - "WHERE left_face = ? OR right_face = ?", xtable); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_face, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ToGeoTableGeneralize() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* evaluating feature/topology matching via coincident topo-seeds */ - if (!do_eval_topogeo_seeds - (topo, stmt_ref, ref_geom_col, stmt_ins, stmt_seed_edge, stmt_seed_face, - stmt_node, stmt_edge, stmt_face, out_type, tolerance)) - goto error; - - sqlite3_finalize (stmt_ref); - sqlite3_finalize (stmt_ins); - sqlite3_finalize (stmt_seed_edge); - sqlite3_finalize (stmt_seed_face); - sqlite3_finalize (stmt_node); - sqlite3_finalize (stmt_edge); - sqlite3_finalize (stmt_face); - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - if (stmt_ref != NULL) - sqlite3_finalize (stmt_ref); - if (stmt_ins != NULL) - sqlite3_finalize (stmt_ins); - if (stmt_seed_edge != NULL) - sqlite3_finalize (stmt_seed_edge); - if (stmt_seed_face != NULL) - sqlite3_finalize (stmt_seed_face); - if (stmt_node != NULL) - sqlite3_finalize (stmt_node); - if (stmt_edge != NULL) - sqlite3_finalize (stmt_edge); - if (stmt_face != NULL) - sqlite3_finalize (stmt_face); - return 0; -} - -static int -do_remove_small_faces2 (struct gaia_topology *topo, sqlite3_int64 edge_id, - sqlite3_stmt * stmt_rem) -{ -/* removing an Edge from a Face (step 2) */ - int ret; - sqlite3_reset (stmt_rem); - sqlite3_clear_bindings (stmt_rem); - sqlite3_bind_int64 (stmt_rem, 1, edge_id); - - ret = sqlite3_step (stmt_rem); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - return 1; - else - { - char *msg = sqlite3_mprintf ("TopoGeo_RemoveSmallFaces error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - } - return 0; -} - -static int -do_remove_small_faces1 (struct gaia_topology *topo, sqlite3_int64 face_id, - sqlite3_stmt * stmt_edge, sqlite3_stmt * stmt_rem) -{ -/* removing the longer Edge from a Face (step 1) */ - int ret; - int first = 1; - sqlite3_reset (stmt_edge); - sqlite3_clear_bindings (stmt_edge); - sqlite3_bind_int64 (stmt_edge, 1, face_id); - sqlite3_bind_int64 (stmt_edge, 2, face_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_edge); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt_edge, 0); - if (first) - { - first = 0; - if (do_remove_small_faces2 (topo, edge_id, stmt_rem)) - goto error; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_RemoveSmallFaces error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - return 1; - - error: - return 0; - -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_RemoveSmallFaces (GaiaTopologyAccessorPtr accessor, double min_area) -{ -/* -/ attempting to remove all small faces from a Topology-Geometry -*/ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt_rem = NULL; - sqlite3_stmt *stmt_face = NULL; - sqlite3_stmt *stmt_edge = NULL; - int ret; - char *sql; - char *table; - char *xtable; - int count; - if (topo == NULL) - return 0; - -/* preparing the SELECT Face query */ - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT face_id FROM MAIN.\"%s\" WHERE face_id > 0 " - "AND ST_Area(ST_GetFaceGeometry(%Q, face_id)) < ?", - xtable, topo->topology_name); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_face, - NULL); - sqlite3_free (sql); - sql = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_RemoveSmallFaces() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the SELECT Edge query */ - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT edge_id FROM MAIN.\"%s\" WHERE right_face = ? " - "OR left_face = ? ORDER BY ST_Length(geom) DESC", - xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_edge, - NULL); - sqlite3_free (sql); - sql = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_RemoveSmallFaces() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the ST_RemEdgeNewFace() query */ - sql = - sqlite3_mprintf ("SELECT ST_RemEdgeNewFace(%Q, ?)", - topo->topology_name); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_rem, - NULL); - sqlite3_free (sql); - sql = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_RemoveSmallFaces() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - - count = 1; - while (count) - { - sqlite3_reset (stmt_face); - sqlite3_clear_bindings (stmt_face); - sqlite3_bind_double (stmt_face, 1, min_area); - count = 0; - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_face); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 face_id = - sqlite3_column_int64 (stmt_face, 0); - if (do_remove_small_faces1 - (topo, face_id, stmt_edge, stmt_rem)) - goto error; - count++; - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_RemoveSmallFaces error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - goto error; - } - } - } - - sqlite3_finalize (stmt_face); - sqlite3_finalize (stmt_edge); - sqlite3_finalize (stmt_rem); - return 1; - - error: - if (sql != NULL) - sqlite3_free (sql); - if (stmt_face != NULL) - sqlite3_finalize (stmt_face); - if (stmt_edge != NULL) - sqlite3_finalize (stmt_edge); - if (stmt_rem != NULL) - sqlite3_finalize (stmt_rem); - return 0; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_RemoveDanglingEdges (GaiaTopologyAccessorPtr accessor) -{ -/* -/ attempting to remove all dangling edges from a Topology-Geometry -*/ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - int ret; - char *sql; - char *table; - char *xtable; - char *err_msg = NULL; - if (topo == NULL) - return 0; - -/* preparing the ST_RemEdgeNewFace() query */ - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT ST_RemEdgeNewFace(%Q, edge_id) FROM MAIN.\"%s\" " - "WHERE left_face = right_face", topo->topology_name, xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_RemoveDanglingEdges error: \"%s\"", - err_msg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (err_msg); - sqlite3_free (msg); - return 0; - } - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_RemoveDanglingNodes (GaiaTopologyAccessorPtr accessor) -{ -/* -/ attempting to remove all dangling nodes from a Topology-Geometry -*/ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - int ret; - char *sql; - char *table; - char *xtable; - char *err_msg = NULL; - if (topo == NULL) - return 0; - -/* preparing the ST_RemIsoNode() query */ - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT ST_RemIsoNode(%Q, node_id) FROM MAIN.\"%s\" " - "WHERE containing_face IS NOT NULL", - topo->topology_name, xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_RemoveDanglingNodes error: \"%s\"", - err_msg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (err_msg); - sqlite3_free (msg); - return 0; - } - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_ToGeoTable (GaiaTopologyAccessorPtr accessor, - const char *db_prefix, const char *ref_table, - const char *ref_column, const char *out_table, - int with_spatial_index) -{ -/* attempting to create and populate a new GeoTable out from a Topology-Geometry */ - return gaiaTopoGeo_ToGeoTableGeneralize (accessor, db_prefix, ref_table, - ref_column, out_table, -1.0, - with_spatial_index); -} - -static struct face_item * -create_face_item (sqlite3_int64 face_id) -{ -/* creating a Face Item */ - struct face_item *item = malloc (sizeof (struct face_item)); - item->face_id = face_id; - item->next = NULL; - return item; -} - -static void -destroy_face_item (struct face_item *item) -{ -/* destroying a Face Item */ - if (item == NULL) - return; - free (item); -} - -static struct face_edge_item * -create_face_edge_item (sqlite3_int64 edge_id, sqlite3_int64 left_face, - sqlite3_int64 right_face, gaiaGeomCollPtr geom) -{ -/* creating a Face-Edge Item */ - struct face_edge_item *item = malloc (sizeof (struct face_edge_item)); - item->edge_id = edge_id; - item->left_face = left_face; - item->right_face = right_face; - item->geom = geom; - item->count = 0; - item->next = NULL; - return item; -} - -static void -destroy_face_edge_item (struct face_edge_item *item) -{ -/* destroying a Face-Edge Item */ - if (item == NULL) - return; - if (item->geom != NULL) - gaiaFreeGeomColl (item->geom); - free (item); -} - -TOPOLOGY_PRIVATE struct face_edges * -auxtopo_create_face_edges (int has_z, int srid) -{ -/* creating an empty Face-Edges list */ - struct face_edges *list = malloc (sizeof (struct face_edges)); - list->has_z = has_z; - list->srid = srid; - list->first_edge = NULL; - list->last_edge = NULL; - list->first_face = NULL; - list->last_face = NULL; - return list; -} - -TOPOLOGY_PRIVATE void -auxtopo_free_face_edges (struct face_edges *list) -{ -/* destroying a Face-Edges list */ - struct face_edge_item *fe; - struct face_edge_item *fen; - struct face_item *f; - struct face_item *fn; - if (list == NULL) - return; - - fe = list->first_edge; - while (fe != NULL) - { - /* destroying all Face-Edge items */ - fen = fe->next; - destroy_face_edge_item (fe); - fe = fen; - } - f = list->first_face; - while (f != NULL) - { - /* destroying all Face items */ - fn = f->next; - destroy_face_item (f); - f = fn; - } - free (list); -} - -TOPOLOGY_PRIVATE void -auxtopo_add_face_edge (struct face_edges *list, sqlite3_int64 face_id, - sqlite3_int64 edge_id, sqlite3_int64 left_face, - sqlite3_int64 right_face, gaiaGeomCollPtr geom) -{ -/* adding a Face-Edge Item into the list */ - struct face_item *f; - struct face_edge_item *fe = - create_face_edge_item (edge_id, left_face, right_face, geom); - if (list->first_edge == NULL) - list->first_edge = fe; - if (list->last_edge != NULL) - list->last_edge->next = fe; - list->last_edge = fe; - - f = list->first_face; - while (f != NULL) - { - if (f->face_id == face_id) - return; - f = f->next; - } - - /* inserting the Face-ID into the list */ - f = create_face_item (face_id); - if (list->first_face == NULL) - list->first_face = f; - if (list->last_face != NULL) - list->last_face->next = f; - list->last_face = f; -} - -TOPOLOGY_PRIVATE void -auxtopo_select_valid_face_edges (struct face_edges *list) -{ -/* identifying all useless Edges */ - struct face_edge_item *fe = list->first_edge; - while (fe != NULL) - { - struct face_item *f = list->first_face; - while (f != NULL) - { - if (f->face_id == fe->left_face) - fe->count += 1; - if (f->face_id == fe->right_face) - fe->count += 1; - f = f->next; - } - fe = fe->next; - } -} - -TOPOLOGY_PRIVATE gaiaGeomCollPtr -auxtopo_polygonize_face_edges (struct face_edges *list, const void *cache) -{ -/* attempting to reaggregrate Polygons from valid Edges */ - gaiaGeomCollPtr sparse; - gaiaGeomCollPtr rearranged; - struct face_edge_item *fe; - - if (list->has_z) - sparse = gaiaAllocGeomCollXYZ (); - else - sparse = gaiaAllocGeomColl (); - sparse->Srid = list->srid; - - fe = list->first_edge; - while (fe != NULL) - { - if (fe->count < 2) - { - /* found a valid Edge: adding to the MultiListring */ - gaiaLinestringPtr ln = fe->geom->FirstLinestring; - while (ln != NULL) - { - if (list->has_z) - auxtopo_copy_linestring3d (ln, sparse); - else - auxtopo_copy_linestring (ln, sparse); - ln = ln->Next; - } - } - fe = fe->next; - } - rearranged = gaiaPolygonize_r (cache, sparse, 0); - gaiaFreeGeomColl (sparse); - return rearranged; -} - -TOPOLOGY_PRIVATE gaiaGeomCollPtr -auxtopo_polygonize_face_edges_generalize (struct face_edges * list, - const void *cache) -{ -/* attempting to reaggregrate Polygons from valid Edges */ - gaiaGeomCollPtr sparse; - gaiaGeomCollPtr renoded; - gaiaGeomCollPtr rearranged; - struct face_edge_item *fe; - - if (list->has_z) - sparse = gaiaAllocGeomCollXYZ (); - else - sparse = gaiaAllocGeomColl (); - sparse->Srid = list->srid; - - fe = list->first_edge; - while (fe != NULL) - { - if (fe->count < 2) - { - /* found a valid Edge: adding to the MultiListring */ - gaiaLinestringPtr ln = fe->geom->FirstLinestring; - while (ln != NULL) - { - if (list->has_z) - auxtopo_copy_linestring3d (ln, sparse); - else - auxtopo_copy_linestring (ln, sparse); - ln = ln->Next; - } - } - fe = fe->next; - } - renoded = gaiaNodeLines (cache, sparse); - gaiaFreeGeomColl (sparse); - if (renoded == NULL) - return NULL; - rearranged = gaiaPolygonize_r (cache, renoded, 0); - gaiaFreeGeomColl (renoded); - return rearranged; -} - -TOPOLOGY_PRIVATE gaiaGeomCollPtr -auxtopo_make_geom_from_point (int srid, int has_z, gaiaPointPtr pt) -{ -/* quick constructor: Geometry based on external point */ - gaiaGeomCollPtr reference; - if (has_z) - reference = gaiaAllocGeomCollXYZ (); - else - reference = gaiaAllocGeomColl (); - reference->Srid = srid; - pt->Next = NULL; - reference->FirstPoint = pt; - reference->LastPoint = pt; - return reference; -} - -TOPOLOGY_PRIVATE gaiaGeomCollPtr -auxtopo_make_geom_from_line (int srid, gaiaLinestringPtr ln) -{ -/* quick constructor: Geometry based on external line */ - gaiaGeomCollPtr reference; - if (ln->DimensionModel == GAIA_XY_Z_M) - reference = gaiaAllocGeomCollXYZM (); - else if (ln->DimensionModel == GAIA_XY_Z) - reference = gaiaAllocGeomCollXYZ (); - else if (ln->DimensionModel == GAIA_XY_M) - reference = gaiaAllocGeomCollXYM (); - else - reference = gaiaAllocGeomColl (); - reference->Srid = srid; - ln->Next = NULL; - reference->FirstLinestring = ln; - reference->LastLinestring = ln; - return reference; -} - -TOPOLOGY_PRIVATE void -auxtopo_copy_linestring3d (gaiaLinestringPtr in, gaiaGeomCollPtr geom) -{ -/* inserting/copying a Linestring 3D into another Geometry */ - int iv; - double x; - double y; - double z; - gaiaLinestringPtr out = gaiaAddLinestringToGeomColl (geom, in->Points); - for (iv = 0; iv < in->Points; iv++) - { - gaiaGetPointXYZ (in->Coords, iv, &x, &y, &z); - gaiaSetPointXYZ (out->Coords, iv, x, y, z); - } -} - -TOPOLOGY_PRIVATE void -auxtopo_copy_linestring (gaiaLinestringPtr in, gaiaGeomCollPtr geom) -{ -/* inserting/copying a Linestring into another Geometry */ - int iv; - double x; - double y; - gaiaLinestringPtr out = gaiaAddLinestringToGeomColl (geom, in->Points); - for (iv = 0; iv < in->Points; iv++) - { - gaiaGetPoint (in->Coords, iv, &x, &y); - gaiaSetPoint (out->Coords, iv, x, y); - } -} - -TOPOLOGY_PRIVATE void -auxtopo_destroy_geom_from (gaiaGeomCollPtr reference) -{ -/* safely destroying a reference geometry */ - if (reference == NULL) - return; - -/* releasing ownership on external points, lines and polygs */ - reference->FirstPoint = NULL; - reference->LastPoint = NULL; - reference->FirstLinestring = NULL; - reference->LastLinestring = NULL; - reference->FirstPolygon = NULL; - reference->LastPolygon = NULL; - - gaiaFreeGeomColl (reference); -} - -TOPOLOGY_PRIVATE int -auxtopo_retrieve_geometry_type (sqlite3 * db_handle, const char *db_prefix, - const char *table, const char *column, - int *ref_type) -{ -/* attempting to retrive the reference Geometry Type */ - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - char *sql; - char *xprefix; - int type = -1; - -/* querying GEOMETRY_COLUMNS */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - sql = - sqlite3_mprintf - ("SELECT geometry_type " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q) AND " - "Lower(f_geometry_column) = Lower(%Q)", xprefix, table, column); - free (xprefix); - ret = - sqlite3_get_table (db_handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - type = atoi (results[(i * columns) + 0]); - } - sqlite3_free_table (results); - - if (type < 0) - return 0; - - *ref_type = type; - return 1; -} - -TOPOLOGY_PRIVATE int -auxtopo_create_togeotable_sql (sqlite3 * db_handle, const char *db_prefix, - const char *ref_table, const char *ref_column, - const char *out_table, char **xcreate, - char **xselect, char **xinsert, - int *ref_geom_col) -{ -/* composing the CREATE TABLE output-table statement */ - char *create = NULL; - char *select = NULL; - char *insert = NULL; - char *prev; - char *sql; - char *xprefix; - char *xtable; - int i; - char **results; - int rows; - int columns; - const char *name; - const char *type; - int notnull; - int pk_no; - int ret; - int first_create = 1; - int first_select = 1; - int first_insert = 1; - int npk = 0; - int ipk; - int ncols = 0; - int icol; - int ref_col = 0; - int xref_geom_col; - - *xcreate = NULL; - *xselect = NULL; - *xinsert = NULL; - *ref_geom_col = -1; - - xtable = gaiaDoubleQuotedSql (out_table); - create = sqlite3_mprintf ("CREATE TABLE MAIN.\"%s\" (", xtable); - select = sqlite3_mprintf ("SELECT "); - insert = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" (", xtable); - free (xtable); - - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (ref_table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xprefix); - free (xtable); - ret = sqlite3_get_table (db_handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - /* counting how many PK columns are there */ - if (atoi (results[(i * columns) + 5]) != 0) - npk++; - } - for (i = 1; i <= rows; i++) - { - name = results[(i * columns) + 1]; - type = results[(i * columns) + 2]; - notnull = atoi (results[(i * columns) + 3]); - pk_no = atoi (results[(i * columns) + 5]); - /* SELECT: adding a column */ - xprefix = gaiaDoubleQuotedSql (name); - prev = select; - if (first_select) - select = sqlite3_mprintf ("%s\"%s\"", prev, xprefix); - else - select = sqlite3_mprintf ("%s, \"%s\"", prev, xprefix); - first_select = 0; - free (xprefix); - sqlite3_free (prev); - if (strcasecmp (name, ref_column) == 0) - { - /* saving the index of ref-geometry */ - xref_geom_col = ref_col; - } - ref_col++; - /* INSERT: adding a column */ - xprefix = gaiaDoubleQuotedSql (name); - prev = insert; - if (first_insert) - insert = sqlite3_mprintf ("%s\"%s\"", prev, xprefix); - else - insert = sqlite3_mprintf ("%s, \"%s\"", prev, xprefix); - first_insert = 0; - free (xprefix); - sqlite3_free (prev); - ncols++; - /* CREATE: adding a column definition */ - if (strcasecmp (name, ref_column) == 0) - { - /* skipping the geometry column */ - continue; - } - prev = create; - xprefix = gaiaDoubleQuotedSql (name); - if (first_create) - { - first_create = 0; - if (notnull) - create = - sqlite3_mprintf ("%s\n\t\"%s\" %s NOT NULL", prev, - xprefix, type); - else - create = - sqlite3_mprintf ("%s\n\t\"%s\" %s", prev, xprefix, - type); - } - else - { - if (notnull) - create = - sqlite3_mprintf ("%s,\n\t\"%s\" %s NOT NULL", - prev, xprefix, type); - else - create = - sqlite3_mprintf ("%s,\n\t\"%s\" %s", prev, - xprefix, type); - } - free (xprefix); - sqlite3_free (prev); - if (npk == 1 && pk_no != 0) - { - /* declaring a single-column Primary Key */ - prev = create; - create = sqlite3_mprintf ("%s PRIMARY KEY", prev); - sqlite3_free (prev); - } - } - if (npk > 1) - { - /* declaring a multi-column Primary Key */ - prev = create; - sql = sqlite3_mprintf ("pk_%s", out_table); - xprefix = gaiaDoubleQuotedSql (sql); - sqlite3_free (sql); - create = - sqlite3_mprintf ("%s,\n\tCONSTRAINT \"%s\" PRIMARY KEY (", - prev, xprefix); - free (xprefix); - sqlite3_free (prev); - for (ipk = 1; ipk <= npk; ipk++) - { - /* searching a Primary Key column */ - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 5]) == ipk) - { - /* declaring a Primary Key column */ - name = results[(i * columns) + 1]; - xprefix = gaiaDoubleQuotedSql (name); - prev = create; - if (ipk == 1) - create = - sqlite3_mprintf ("%s\"%s\"", prev, - xprefix); - else - create = - sqlite3_mprintf ("%s, \"%s\"", prev, - xprefix); - free (xprefix); - sqlite3_free (prev); - } - } - } - prev = create; - create = sqlite3_mprintf ("%s)", prev); - sqlite3_free (prev); - } - } - sqlite3_free_table (results); - -/* completing the SQL statements */ - prev = create; - create = sqlite3_mprintf ("%s)", prev); - sqlite3_free (prev); - prev = select; - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (ref_table); - select = sqlite3_mprintf ("%s FROM \"%s\".\"%s\"", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = insert; - insert = sqlite3_mprintf ("%s) VALUES (", prev); - sqlite3_free (prev); - for (icol = 0; icol < ncols; icol++) - { - prev = insert; - if (icol == 0) - insert = sqlite3_mprintf ("%s?", prev); - else - insert = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - } - prev = insert; - insert = sqlite3_mprintf ("%s)", prev); - sqlite3_free (prev); - - *xcreate = create; - *xselect = select; - *xinsert = insert; - *ref_geom_col = xref_geom_col; - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - return 0; -} - -static int -is_geometry_column (sqlite3 * db_handle, const char *db_prefix, - const char *table, const char *column) -{ -/* testing for Geometry columns */ - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - char *sql; - char *xprefix; - int count = 0; - -/* querying GEOMETRY_COLUMNS */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - sql = - sqlite3_mprintf - ("SELECT Count(*) " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q) AND " - "Lower(f_geometry_column) = Lower(%Q)", xprefix, table, column); - free (xprefix); - ret = - sqlite3_get_table (db_handle, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - count = atoi (results[(i * columns) + 0]); - } - sqlite3_free_table (results); - - if (count > 0) - return 1; - return 0; -} - -static int -auxtopo_create_features_sql (sqlite3 * db_handle, const char *db_prefix, - const char *ref_table, const char *ref_column, - const char *topology_name, - sqlite3_int64 topolayer_id, char **xcreate, - char **xselect, char **xinsert) -{ -/* composing the CREATE TABLE fatures-table statement */ - char *create = NULL; - char *select = NULL; - char *insert = NULL; - char *prev; - char *sql; - char *xprefix; - char *xgeom; - char *table; - char *xtable; - char dummy[64]; - int i; - char **results; - int rows; - int columns; - const char *name; - const char *type; - int notnull; - int ret; - int first_select = 1; - int first_insert = 1; - int ncols = 0; - int icol; - int ref_col = 0; - - *xcreate = NULL; - *xselect = NULL; - *xinsert = NULL; - - sprintf (dummy, "%lld", topolayer_id); - table = sqlite3_mprintf ("%s_topofeatures_%s", topology_name, dummy); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - create = - sqlite3_mprintf - ("CREATE TABLE MAIN.\"%s\" (\n\tfid INTEGER PRIMARY KEY AUTOINCREMENT", - xtable); - select = sqlite3_mprintf ("SELECT "); - insert = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" (", xtable); - free (xtable); - - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (ref_table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xprefix); - free (xtable); - ret = sqlite3_get_table (db_handle, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - name = results[(i * columns) + 1]; - type = results[(i * columns) + 2]; - notnull = atoi (results[(i * columns) + 3]); - if (strcasecmp (name, "fid") == 0) - continue; - if (is_geometry_column (db_handle, db_prefix, ref_table, name)) - continue; - if (ref_column != NULL) - { - if (strcasecmp (ref_column, name) == 0) - continue; - } - /* SELECT: adding a column */ - xprefix = gaiaDoubleQuotedSql (name); - prev = select; - if (first_select) - select = sqlite3_mprintf ("%s\"%s\"", prev, xprefix); - else - select = sqlite3_mprintf ("%s, \"%s\"", prev, xprefix); - first_select = 0; - free (xprefix); - sqlite3_free (prev); - ref_col++; - /* INSERT: adding a column */ - xprefix = gaiaDoubleQuotedSql (name); - prev = insert; - if (first_insert) - insert = sqlite3_mprintf ("%s\"%s\"", prev, xprefix); - else - insert = sqlite3_mprintf ("%s, \"%s\"", prev, xprefix); - first_insert = 0; - free (xprefix); - sqlite3_free (prev); - ncols++; - /* CREATE: adding a column definition */ - prev = create; - xprefix = gaiaDoubleQuotedSql (name); - if (notnull) - create = - sqlite3_mprintf ("%s,\n\t\"%s\" %s NOT NULL", - prev, xprefix, type); - else - create = - sqlite3_mprintf ("%s,\n\t\"%s\" %s", prev, - xprefix, type); - free (xprefix); - sqlite3_free (prev); - } - } - sqlite3_free_table (results); - -/* completing the SQL statements */ - prev = create; - create = sqlite3_mprintf ("%s)", prev); - sqlite3_free (prev); - prev = select; - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (ref_table); - if (ref_column != NULL) - { - xgeom = gaiaDoubleQuotedSql (ref_column); - select = - sqlite3_mprintf ("%s, \"%s\" FROM \"%s\".\"%s\"", prev, xgeom, - xprefix, xtable); - free (xgeom); - } - else - select = - sqlite3_mprintf ("%s FROM \"%s\".\"%s\"", prev, xprefix, xtable); - free (xprefix); - free (xtable); - sqlite3_free (prev); - prev = insert; - insert = sqlite3_mprintf ("%s) VALUES (", prev); - sqlite3_free (prev); - for (icol = 0; icol < ncols; icol++) - { - prev = insert; - if (icol == 0) - insert = sqlite3_mprintf ("%s?", prev); - else - insert = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - } - prev = insert; - insert = sqlite3_mprintf ("%s)", prev); - sqlite3_free (prev); - - *xcreate = create; - *xselect = select; - *xinsert = insert; - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - return 0; -} - -static int -do_register_topolayer (struct gaia_topology *topo, const char *topolayer_name, - sqlite3_int64 * topolayer_id) -{ -/* attempting to register a new TopoLayer */ - char *table; - char *xtable; - char *sql; - int ret; - char *err_msg = NULL; - - table = sqlite3_mprintf ("%s_topolayers", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO \"%s\" (topolayer_name) VALUES (Lower(%Q))", xtable, - topolayer_name); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("RegisterTopoLayer error: \"%s\"", err_msg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (err_msg); - sqlite3_free (msg); - return 0; - } - - *topolayer_id = sqlite3_last_insert_rowid (topo->db_handle); - return 1; -} - -static int -do_eval_topolayer_point (struct gaia_topology *topo, gaiaGeomCollPtr reference, - sqlite3_stmt * stmt_node, sqlite3_stmt * stmt_rels, - sqlite3_int64 topolayer_id, sqlite3_int64 fid) -{ -/* retrieving Points from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - -/* initializing the Topo-Node query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_node); - sqlite3_clear_bindings (stmt_node); - sqlite3_bind_blob (stmt_node, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_node, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_node); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 node_id = sqlite3_column_int64 (stmt_node, 0); - sqlite3_reset (stmt_rels); - sqlite3_clear_bindings (stmt_rels); - sqlite3_bind_int64 (stmt_rels, 1, node_id); - sqlite3_bind_null (stmt_rels, 2); - sqlite3_bind_null (stmt_rels, 3); - sqlite3_bind_int64 (stmt_rels, 4, topolayer_id); - sqlite3_bind_int64 (stmt_rels, 5, fid); - ret = sqlite3_step (stmt_rels); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - return 1; -} - -static int -do_eval_topolayer_line (struct gaia_topology *topo, gaiaGeomCollPtr reference, - sqlite3_stmt * stmt_edge, sqlite3_stmt * stmt_rels, - sqlite3_int64 topolayer_id, sqlite3_int64 fid) -{ -/* retrieving Linestrings from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - -/* initializing the Topo-Edge query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_edge); - sqlite3_clear_bindings (stmt_edge); - sqlite3_bind_blob (stmt_edge, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_edge, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_edge); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt_edge, 0); - sqlite3_reset (stmt_rels); - sqlite3_clear_bindings (stmt_rels); - sqlite3_bind_null (stmt_rels, 1); - sqlite3_bind_int64 (stmt_rels, 2, edge_id); - sqlite3_bind_null (stmt_rels, 3); - sqlite3_bind_int64 (stmt_rels, 4, topolayer_id); - sqlite3_bind_int64 (stmt_rels, 5, fid); - ret = sqlite3_step (stmt_rels); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - return 1; -} - -static int -do_eval_topolayer_polyg (struct gaia_topology *topo, gaiaGeomCollPtr reference, - sqlite3_stmt * stmt_face, sqlite3_stmt * stmt_rels, - sqlite3_int64 topolayer_id, sqlite3_int64 fid) -{ -/* retrieving Polygon from Topology */ - int ret; - unsigned char *p_blob; - int n_bytes; - -/* initializing the Topo-Face query */ - gaiaToSpatiaLiteBlobWkb (reference, &p_blob, &n_bytes); - sqlite3_reset (stmt_face); - sqlite3_clear_bindings (stmt_face); - sqlite3_bind_blob (stmt_face, 1, p_blob, n_bytes, SQLITE_TRANSIENT); - sqlite3_bind_blob (stmt_face, 2, p_blob, n_bytes, SQLITE_TRANSIENT); - free (p_blob); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_face); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 face_id = sqlite3_column_int64 (stmt_face, 0); - sqlite3_reset (stmt_rels); - sqlite3_clear_bindings (stmt_rels); - sqlite3_bind_null (stmt_rels, 1); - sqlite3_bind_null (stmt_rels, 2); - sqlite3_bind_int64 (stmt_rels, 3, face_id); - sqlite3_bind_int64 (stmt_rels, 4, topolayer_id); - sqlite3_bind_int64 (stmt_rels, 5, fid); - ret = sqlite3_step (stmt_rels); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - return 1; -} - -static int -do_eval_topolayer_geom (struct gaia_topology *topo, gaiaGeomCollPtr geom, - sqlite3_stmt * stmt_node, sqlite3_stmt * stmt_edge, - sqlite3_stmt * stmt_face, sqlite3_stmt * stmt_rels, - sqlite3_int64 topolayer_id, sqlite3_int64 fid) -{ -/* retrieving Features via matching Seeds/Geometries */ - gaiaPointPtr pt; - gaiaLinestringPtr ln; - gaiaPolygonPtr pg; - int ret; - - /* processing all Points */ - pt = geom->FirstPoint; - while (pt != NULL) - { - gaiaPointPtr next = pt->Next; - gaiaGeomCollPtr reference = (gaiaGeomCollPtr) - auxtopo_make_geom_from_point (topo->srid, topo->has_z, pt); - ret = - do_eval_topolayer_point (topo, reference, stmt_node, stmt_rels, - topolayer_id, fid); - auxtopo_destroy_geom_from (reference); - pt->Next = next; - if (ret == 0) - return 0; - pt = pt->Next; - } - - /* processing all Linestrings */ - ln = geom->FirstLinestring; - while (ln != NULL) - { - gaiaLinestringPtr next = ln->Next; - gaiaGeomCollPtr reference = (gaiaGeomCollPtr) - auxtopo_make_geom_from_line (topo->srid, ln); - ret = - do_eval_topolayer_line (topo, reference, stmt_edge, stmt_rels, - topolayer_id, fid); - auxtopo_destroy_geom_from (reference); - ln->Next = next; - if (ret == 0) - return 0; - ln = ln->Next; - } - - /* processing all Polygons */ - pg = geom->FirstPolygon; - while (pg != NULL) - { - gaiaPolygonPtr next = pg->Next; - gaiaGeomCollPtr reference = make_geom_from_polyg (topo->srid, pg); - ret = do_eval_topolayer_polyg (topo, reference, stmt_face, stmt_rels, - topolayer_id, fid); - auxtopo_destroy_geom_from (reference); - pg->Next = next; - if (ret == 0) - return 0; - pg = pg->Next; - } - - return 1; -} - -static int -do_eval_topolayer_seeds (struct gaia_topology *topo, sqlite3_stmt * stmt_ref, - sqlite3_stmt * stmt_ins, sqlite3_stmt * stmt_rels, - sqlite3_stmt * stmt_node, sqlite3_stmt * stmt_edge, - sqlite3_stmt * stmt_face, sqlite3_int64 topolayer_id) -{ -/* querying the ref-table */ - int ret; - - sqlite3_reset (stmt_ref); - sqlite3_clear_bindings (stmt_ref); - while (1) - { - /* scrolling the result set rows */ - gaiaGeomCollPtr geom = NULL; - sqlite3_int64 fid; - ret = sqlite3_step (stmt_ref); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int icol; - int ncol = sqlite3_column_count (stmt_ref); - sqlite3_reset (stmt_ins); - sqlite3_clear_bindings (stmt_ins); - for (icol = 0; icol < ncol; icol++) - { - int col_type = sqlite3_column_type (stmt_ref, icol); - if (icol == ncol - 1) - { - /* the last column is always expected to be the geometry column */ - const unsigned char *blob = - sqlite3_column_blob (stmt_ref, icol); - int blob_sz = sqlite3_column_bytes (stmt_ref, icol); - geom = gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - continue; - } - switch (col_type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_ins, icol + 1, - sqlite3_column_int64 (stmt_ref, - icol)); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_ins, icol + 1, - sqlite3_column_double - (stmt_ref, icol)); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_ins, icol + 1, - (const char *) - sqlite3_column_text (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - case SQLITE_BLOB: - sqlite3_bind_blob (stmt_ins, icol + 1, - sqlite3_column_blob (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_ins, icol + 1); - break; - }; - } - ret = sqlite3_step (stmt_ins); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - fid = sqlite3_last_insert_rowid (topo->db_handle); - /* evaluating the feature's geometry */ - if (geom != NULL) - { - ret = - do_eval_topolayer_geom (topo, geom, stmt_node, - stmt_edge, stmt_face, - stmt_rels, topolayer_id, fid); - gaiaFreeGeomColl (geom); - if (ret == 0) - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_CreateTopoLayer (GaiaTopologyAccessorPtr accessor, - const char *db_prefix, const char *ref_table, - const char *ref_column, const char *topolayer_name) -{ -/* attempting to create a TopoLayer */ - sqlite3_int64 topolayer_id; - sqlite3_stmt *stmt_ref = NULL; - sqlite3_stmt *stmt_ins = NULL; - sqlite3_stmt *stmt_rels = NULL; - sqlite3_stmt *stmt_node = NULL; - sqlite3_stmt *stmt_edge = NULL; - sqlite3_stmt *stmt_face = NULL; - int ret; - char *sql; - char *create; - char *select; - char *insert; - char *xprefix; - char *table; - char *xtable; - char *errMsg; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - if (topo == NULL) - return 0; - -/* attempting to register a new TopoLayer */ - if (!do_register_topolayer (topo, topolayer_name, &topolayer_id)) - return 0; - -/* incrementally updating all Topology Seeds */ - if (!gaiaTopoGeoUpdateSeeds (accessor, 1)) - return 0; - -/* composing the CREATE TABLE feature-table statement */ - if (!auxtopo_create_features_sql - (topo->db_handle, db_prefix, ref_table, ref_column, topo->topology_name, - topolayer_id, &create, &select, &insert)) - goto error; - -/* creating the feature-table */ - ret = sqlite3_exec (topo->db_handle, create, NULL, NULL, &errMsg); - sqlite3_free (create); - create = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "SELECT * FROM ref-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, select, strlen (select), &stmt_ref, - NULL); - sqlite3_free (select); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "INSERT INTO features-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, insert, strlen (insert), &stmt_ins, - NULL); - sqlite3_free (insert); - insert = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "INSERT INTO features-ref" query */ - table = sqlite3_mprintf ("%s_topofeatures", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO \"%s\" (node_id, edge_id, face_id, topolayer_id, fid) " - "VALUES (?, ?, ?, ?, ?)", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_rels, - NULL); - sqlite3_free (sql); - sql = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Seed-Edges query */ - xprefix = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT edge_id FROM MAIN.\"%s\" " - "WHERE edge_id IS NOT NULL AND ST_Intersects(geom, ?) = 1 AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ?)", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_edge, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Seed-Faces query */ - xprefix = sqlite3_mprintf ("%s_seeds", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT face_id FROM MAIN.\"%s\" " - "WHERE face_id IS NOT NULL AND ST_Intersects(geom, ?) = 1 AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ?)", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_face, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Nodes query */ - xprefix = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT node_id FROM MAIN.\"%s\" " - "WHERE ST_Intersects(geom, ?) = 1 AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND search_frame = ?)", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_node, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* evaluating feature/topology matching via coincident topo-seeds */ - if (!do_eval_topolayer_seeds - (topo, stmt_ref, stmt_ins, stmt_rels, stmt_node, stmt_edge, stmt_face, - topolayer_id)) - goto error; - - sqlite3_finalize (stmt_ref); - sqlite3_finalize (stmt_ins); - sqlite3_finalize (stmt_rels); - sqlite3_finalize (stmt_node); - sqlite3_finalize (stmt_edge); - sqlite3_finalize (stmt_face); - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - if (stmt_ref != NULL) - sqlite3_finalize (stmt_ref); - if (stmt_ins != NULL) - sqlite3_finalize (stmt_ins); - if (stmt_rels != NULL) - sqlite3_finalize (stmt_rels); - if (stmt_node != NULL) - sqlite3_finalize (stmt_node); - if (stmt_edge != NULL) - sqlite3_finalize (stmt_edge); - if (stmt_face != NULL) - sqlite3_finalize (stmt_face); - return 0; -} - -static int -do_populate_topolayer (struct gaia_topology *topo, sqlite3_stmt * stmt_ref, - sqlite3_stmt * stmt_ins) -{ -/* querying the ref-table */ - int ret; - - sqlite3_reset (stmt_ref); - sqlite3_clear_bindings (stmt_ref); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_ref); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int icol; - int ncol = sqlite3_column_count (stmt_ref); - sqlite3_reset (stmt_ins); - sqlite3_clear_bindings (stmt_ins); - for (icol = 0; icol < ncol; icol++) - { - int col_type = sqlite3_column_type (stmt_ref, icol); - switch (col_type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_ins, icol + 1, - sqlite3_column_int64 (stmt_ref, - icol)); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_ins, icol + 1, - sqlite3_column_double - (stmt_ref, icol)); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_ins, icol + 1, - (const char *) - sqlite3_column_text (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - case SQLITE_BLOB: - sqlite3_bind_blob (stmt_ins, icol + 1, - sqlite3_column_blob (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_ins, icol + 1); - break; - }; - } - ret = sqlite3_step (stmt_ins); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_InitTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_InitTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_InitTopoLayer (GaiaTopologyAccessorPtr accessor, - const char *db_prefix, const char *ref_table, - const char *topolayer_name) -{ -/* attempting to create a TopoLayer */ - sqlite3_int64 topolayer_id; - sqlite3_stmt *stmt_ref = NULL; - sqlite3_stmt *stmt_ins = NULL; - int ret; - char *create; - char *select; - char *insert; - char *errMsg; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - if (topo == NULL) - return 0; - -/* attempting to register a new TopoLayer */ - if (!do_register_topolayer (topo, topolayer_name, &topolayer_id)) - return 0; - -/* composing the CREATE TABLE feature-table statement */ - if (!auxtopo_create_features_sql - (topo->db_handle, db_prefix, ref_table, NULL, topo->topology_name, - topolayer_id, &create, &select, &insert)) - goto error; - -/* creating the feature-table */ - ret = sqlite3_exec (topo->db_handle, create, NULL, NULL, &errMsg); - sqlite3_free (create); - create = NULL; - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_InitTopoLayer() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "SELECT * FROM ref-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, select, strlen (select), &stmt_ref, - NULL); - sqlite3_free (select); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "INSERT INTO features-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, insert, strlen (insert), &stmt_ins, - NULL); - sqlite3_free (insert); - insert = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* populating the TopoFeatures table */ - if (!do_populate_topolayer (topo, stmt_ref, stmt_ins)) - goto error; - - sqlite3_finalize (stmt_ref); - sqlite3_finalize (stmt_ins); - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - if (stmt_ref != NULL) - sqlite3_finalize (stmt_ref); - if (stmt_ins != NULL) - sqlite3_finalize (stmt_ins); - return 0; -} - -static int -check_topolayer (struct gaia_topology *topo, const char *topolayer_name, - sqlite3_int64 * topolayer_id) -{ -/* checking if a TopoLayer do really exist */ - char *table; - char *xtable; - char *sql; - int ret; - int found = 0; - sqlite3_stmt *stmt = NULL; - -/* creating the SQL statement - SELECT */ - table = sqlite3_mprintf ("%s_topolayers", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT topolayer_id FROM \"%s\" WHERE topolayer_name = Lower(%Q)", - xtable, topolayer_name); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Check_TopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* retrieving the TopoLayer ID */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - *topolayer_id = sqlite3_column_int64 (stmt, 0); - found = 1; - } - else - { - char *msg = sqlite3_mprintf ("Check_TopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - if (!found) - goto error; - - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -static int -do_unregister_topolayer (struct gaia_topology *topo, const char *topolayer_name, - sqlite3_int64 * topolayer_id) -{ -/* attempting to unregister a existing TopoLayer */ - char *table; - char *xtable; - char *sql; - int ret; - sqlite3_int64 id; - sqlite3_stmt *stmt = NULL; - - if (!check_topolayer (topo, topolayer_name, &id)) - return 0; - -/* creating the first SQL statement - DELETE */ - table = sqlite3_mprintf ("%s_topolayers", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM \"%s\" WHERE topolayer_id = ?", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - create_all_topo_prepared_stmts (topo->cache); /* recreating prepared stsms */ - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_RemoveTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* deleting the TopoLayer */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_RemoveTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - - *topolayer_id = id; - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_RemoveTopoLayer (GaiaTopologyAccessorPtr accessor, - const char *topolayer_name) -{ -/* attempting to remove a TopoLayer */ - sqlite3_int64 topolayer_id; - int ret; - char *sql; - char *errMsg; - char *table; - char *xtable; - char *xtable2; - char dummy[64]; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - - if (topo == NULL) - return 0; - -/* deleting all Feature relations */ - table = sqlite3_mprintf ("%s_topofeatures", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_topolayers", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM \"%s\" WHERE topolayer_id = " - "(SELECT topolayer_id FROM \"%s\" WHERE topolayer_name = Lower(%Q))", - xtable, xtable2, topolayer_name); - free (xtable); - free (xtable2); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_RemoveTopoLayer() error: %s\n", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return 0; - } - -/* unregistering the TopoLayer */ - if (!do_unregister_topolayer (topo, topolayer_name, &topolayer_id)) - return 0; - -/* finalizing all prepared Statements */ - finalize_all_topo_prepared_stmts (topo->cache); - -/* dropping the TopoFeatures Table */ - sprintf (dummy, "%lld", topolayer_id); - table = sqlite3_mprintf ("%s_topofeatures_%s", topo->topology_name, dummy); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DROP TABLE \"%s\"", xtable); - free (xtable); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - create_all_topo_prepared_stmts (topo->cache); /* recreating prepared stsms */ - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_RemoveTopoLayer() error: %s\n", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return 0; - } - - return 1; -} - -static int -is_unique_geom_name (sqlite3 * sqlite, const char *table, const char *geom) -{ -/* checking for duplicate names */ - char *xtable; - char *sql; - int ret; - int i; - char **results; - int rows; - int columns; - const char *name; - - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA MAIN.table_info(\"%s\")", xtable); - free (xtable); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - name = results[(i * columns) + 1]; - if (strcasecmp (name, geom) == 0) - continue; - } - } - sqlite3_free_table (results); - - return 1; -} - -static int -auxtopo_create_export_sql (struct gaia_topology *topo, - const char *topolayer_name, const char *out_table, - char **xcreate, char **xselect, char **xinsert, - char **geometry, sqlite3_int64 * topolayer_id) -{ -/* composing the CREATE TABLE export-table statement */ - char *create = NULL; - char *select = NULL; - char *insert = NULL; - char *prev; - char *sql; - char *table; - char *xtable; - char *xprefix; - char dummy[64]; - int i; - char **results; - int rows; - int columns; - const char *name; - const char *type; - int notnull; - int ret; - int first_select = 1; - int first_insert = 1; - int ncols = 0; - int icol; - int ref_col = 0; - char *geometry_name; - int geom_alias = 0; - - *xcreate = NULL; - *xselect = NULL; - *xinsert = NULL; - -/* checking the TopoLayer */ - if (!check_topolayer (topo, topolayer_name, topolayer_id)) - return 0; - - xtable = gaiaDoubleQuotedSql (out_table); - create = - sqlite3_mprintf - ("CREATE TABLE MAIN.\"%s\" (\n\tfid INTEGER PRIMARY KEY", xtable); - select = sqlite3_mprintf ("SELECT fid, "); - insert = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" (fid, ", xtable); - free (xtable); - sprintf (dummy, "%lld", *topolayer_id); - table = sqlite3_mprintf ("%s_topofeatures_%s", topo->topology_name, dummy); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("PRAGMA MAIN.table_info(\"%s\")", xtable); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - name = results[(i * columns) + 1]; - if (strcmp (name, "fid") == 0) - continue; - type = results[(i * columns) + 2]; - notnull = atoi (results[(i * columns) + 3]); - /* SELECT: adding a column */ - xprefix = gaiaDoubleQuotedSql (name); - prev = select; - if (first_select) - select = sqlite3_mprintf ("%s\"%s\"", prev, xprefix); - else - select = sqlite3_mprintf ("%s, \"%s\"", prev, xprefix); - first_select = 0; - free (xprefix); - sqlite3_free (prev); - ref_col++; - /* INSERT: adding a column */ - xprefix = gaiaDoubleQuotedSql (name); - prev = insert; - if (first_insert) - insert = sqlite3_mprintf ("%s\"%s\"", prev, xprefix); - else - insert = sqlite3_mprintf ("%s, \"%s\"", prev, xprefix); - first_insert = 0; - free (xprefix); - sqlite3_free (prev); - ncols++; - /* CREATE: adding a column definition */ - prev = create; - xprefix = gaiaDoubleQuotedSql (name); - if (notnull) - create = - sqlite3_mprintf ("%s,\n\t\"%s\" %s NOT NULL", - prev, xprefix, type); - else - create = - sqlite3_mprintf ("%s,\n\t\"%s\" %s", prev, - xprefix, type); - free (xprefix); - sqlite3_free (prev); - } - } - sqlite3_free_table (results); - - geometry_name = malloc (strlen ("geometry") + 1); - strcpy (geometry_name, "geometry"); - sprintf (dummy, "%lld", *topolayer_id); - table = sqlite3_mprintf ("%s_topofeatures_%s", topo->topology_name, dummy); - while (1) - { - /* searching an unique Geometry name */ - if (is_unique_geom_name (topo->db_handle, table, geometry_name)) - break; - sprintf (dummy, "geom_%d", ++geom_alias); - free (geometry_name); - geometry_name = malloc (strlen (dummy) + 1); - strcpy (geometry_name, dummy); - } - sqlite3_free (table); - -/* completing the SQL statements */ - prev = create; - create = sqlite3_mprintf ("%s)", prev); - sqlite3_free (prev); - prev = select; - sprintf (dummy, "%lld", *topolayer_id); - table = sqlite3_mprintf ("%s_topofeatures_%s", topo->topology_name, dummy); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - select = sqlite3_mprintf ("%s FROM MAIN.\"%s\"", prev, xtable); - free (xtable); - sqlite3_free (prev); - prev = insert; - insert = sqlite3_mprintf ("%s, \"%s\") VALUES (?, ", prev, geometry_name); - sqlite3_free (prev); - for (icol = 0; icol < ncols; icol++) - { - prev = insert; - if (icol == 0) - insert = sqlite3_mprintf ("%s?", prev); - else - insert = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - } - prev = insert; - insert = sqlite3_mprintf ("%s, ?)", prev); - sqlite3_free (prev); - - *xcreate = create; - *xselect = select; - *xinsert = insert; - *geometry = geometry_name; - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - return 0; -} - -static int -auxtopo_retrieve_export_geometry_type (struct gaia_topology *topo, - const char *topolayer_name, - int *ref_type) -{ -/* determining the Geometry Type for Export TopoLayer */ - char *table; - char *xtable; - char *xtable2; - char *sql; - int ret; - int i; - char **results; - int rows; - int columns; - int nodes; - int edges; - int faces; - - table = sqlite3_mprintf ("%s_topolayers", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_topofeatures", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT Count(f.node_id), Count(f.edge_id), Count(f.face_id) " - "FROM \"%s\" AS l JOIN \"%s\" AS f ON (l.topolayer_id = f.topolayer_id) " - "WHERE l.topolayer_name = Lower(%Q)", xtable, xtable2, topolayer_name); - free (xtable); - free (xtable2); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - nodes = atoi (results[(i * columns) + 0]); - edges = atoi (results[(i * columns) + 1]); - faces = atoi (results[(i * columns) + 2]); - } - } - sqlite3_free_table (results); - - *ref_type = GAIA_UNKNOWN; - if (nodes && !edges && !faces) - *ref_type = GAIA_POINT; - if (!nodes && edges && !faces) - *ref_type = GAIA_LINESTRING; - if (!nodes && !edges && faces) - *ref_type = GAIA_POLYGON; - - return 1; -} - -static void -do_eval_topo_node (struct gaia_topology *topo, sqlite3_stmt * stmt_node, - sqlite3_int64 node_id, gaiaGeomCollPtr result) -{ -/* retrieving Points from Topology Nodes */ - int ret; - -/* initializing the Topo-Node query */ - sqlite3_reset (stmt_node); - sqlite3_clear_bindings (stmt_node); - sqlite3_bind_int64 (stmt_node, 1, node_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_node); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const unsigned char *blob = sqlite3_column_blob (stmt_node, 0); - int blob_sz = sqlite3_column_bytes (stmt_node, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaPointPtr pt = geom->FirstPoint; - while (pt != NULL) - { - /* copying all Points into the result Geometry */ - if (topo->has_z) - gaiaAddPointToGeomCollXYZ (result, pt->X, pt->Y, - pt->Z); - else - gaiaAddPointToGeomColl (result, pt->X, pt->Y); - pt = pt->Next; - } - gaiaFreeGeomColl (geom); - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_FeatureFromTopoLayer error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return; - } - } -} - -static void -do_eval_topo_edge (struct gaia_topology *topo, sqlite3_stmt * stmt_edge, - sqlite3_int64 edge_id, gaiaGeomCollPtr result) -{ -/* retrieving Linestrings from Topology Edges */ - int ret; - -/* initializing the Topo-Edge query */ - sqlite3_reset (stmt_edge); - sqlite3_clear_bindings (stmt_edge); - sqlite3_bind_int64 (stmt_edge, 1, edge_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_edge); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const unsigned char *blob = sqlite3_column_blob (stmt_edge, 0); - int blob_sz = sqlite3_column_bytes (stmt_edge, 0); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaLinestringPtr ln = geom->FirstLinestring; - while (ln != NULL) - { - /* copying all Linestrings into the result Geometry */ - if (topo->has_z) - auxtopo_copy_linestring3d (ln, result); - else - auxtopo_copy_linestring (ln, result); - ln = ln->Next; - } - gaiaFreeGeomColl (geom); - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_FeatureFromTopoLayer error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return; - } - } -} - -static gaiaGeomCollPtr -do_eval_topo_geometry (struct gaia_topology *topo, sqlite3_stmt * stmt_rels, - sqlite3_stmt * stmt_node, sqlite3_stmt * stmt_edge, - sqlite3_stmt * stmt_face, sqlite3_int64 fid, - sqlite3_int64 topolayer_id, int out_type) -{ -/* materializing a Geometry out of Topology */ - int ret; - gaiaGeomCollPtr geom; - gaiaGeomCollPtr sparse_lines; - struct face_edges *list = - auxtopo_create_face_edges (topo->has_z, topo->srid); - - if (topo->has_z) - { - geom = gaiaAllocGeomCollXYZ (); - sparse_lines = gaiaAllocGeomCollXYZ (); - } - else - { - geom = gaiaAllocGeomColl (); - sparse_lines = gaiaAllocGeomColl (); - } - geom->Srid = topo->srid; - geom->DeclaredType = out_type; - - sqlite3_reset (stmt_rels); - sqlite3_clear_bindings (stmt_rels); - sqlite3_bind_int64 (stmt_rels, 1, topolayer_id); - sqlite3_bind_int64 (stmt_rels, 2, fid); - while (1) - { - /* scrolling the result set rows */ - sqlite3_int64 id; - ret = sqlite3_step (stmt_rels); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt_rels, 0) != SQLITE_NULL) - { - id = sqlite3_column_int64 (stmt_rels, 0); - do_eval_topo_node (topo, stmt_node, id, geom); - } - if (sqlite3_column_type (stmt_rels, 1) != SQLITE_NULL) - { - id = sqlite3_column_int64 (stmt_rels, 1); - do_eval_topo_edge (topo, stmt_edge, id, sparse_lines); - } - if (sqlite3_column_type (stmt_rels, 2) != SQLITE_NULL) - { - id = sqlite3_column_int64 (stmt_rels, 2); - do_explode_topo_face (topo, list, stmt_face, id); - } - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_FeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - - - if (sparse_lines->FirstLinestring != NULL) - { - /* attempting to better rearrange sparse lines */ - gaiaGeomCollPtr rearranged = - gaiaLineMerge_r (topo->cache, sparse_lines); - gaiaFreeGeomColl (sparse_lines); - if (rearranged != NULL) - { - gaiaLinestringPtr ln = rearranged->FirstLinestring; - while (ln != NULL) - { - if (topo->has_z) - auxtopo_copy_linestring3d (ln, geom); - else - auxtopo_copy_linestring (ln, geom); - ln = ln->Next; - } - gaiaFreeGeomColl (rearranged); - } - } - else - gaiaFreeGeomColl (sparse_lines); - sparse_lines = NULL; - - if (list->first_edge != NULL) - { - /* attempting to rearrange sparse lines into Polygons */ - gaiaGeomCollPtr rearranged; - auxtopo_select_valid_face_edges (list); - rearranged = auxtopo_polygonize_face_edges (list, topo->cache); - auxtopo_free_face_edges (list); - if (rearranged != NULL) - { - gaiaPolygonPtr pg = rearranged->FirstPolygon; - while (pg != NULL) - { - if (topo->has_z) - do_copy_polygon3d (pg, geom); - else - do_copy_polygon (pg, geom); - pg = pg->Next; - } - gaiaFreeGeomColl (rearranged); - } - } - - if (geom->FirstPoint == NULL && geom->FirstLinestring == NULL - && geom->FirstPolygon == NULL) - goto error; - return geom; - - error: - gaiaFreeGeomColl (geom); - if (sparse_lines != NULL) - gaiaFreeGeomColl (sparse_lines); - return NULL; -} - -static int -do_eval_topogeo_features (struct gaia_topology *topo, sqlite3_stmt * stmt_ref, - sqlite3_stmt * stmt_ins, sqlite3_stmt * stmt_rels, - sqlite3_stmt * stmt_node, sqlite3_stmt * stmt_edge, - sqlite3_stmt * stmt_face, sqlite3_int64 topolayer_id, - int out_type) -{ -/* querying the ref-table */ - int ret; - - sqlite3_reset (stmt_ref); - sqlite3_clear_bindings (stmt_ref); - while (1) - { - /* scrolling the result set rows */ - gaiaGeomCollPtr geom = NULL; - sqlite3_int64 fid; - ret = sqlite3_step (stmt_ref); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int icol; - int ncol = sqlite3_column_count (stmt_ref); - fid = sqlite3_column_int64 (stmt_ref, 0); - sqlite3_reset (stmt_ins); - sqlite3_clear_bindings (stmt_ins); - for (icol = 0; icol < ncol; icol++) - { - int col_type = sqlite3_column_type (stmt_ref, icol); - switch (col_type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_ins, icol + 1, - sqlite3_column_int64 (stmt_ref, - icol)); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_ins, icol + 1, - sqlite3_column_double - (stmt_ref, icol)); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_ins, icol + 1, - (const char *) - sqlite3_column_text (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - case SQLITE_BLOB: - sqlite3_bind_blob (stmt_ins, icol + 1, - sqlite3_column_blob (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_ins, icol + 1); - break; - }; - } - /* the Geometry column */ - ncol = sqlite3_bind_parameter_count (stmt_ins); - geom = - do_eval_topo_geometry (topo, stmt_rels, stmt_node, - stmt_edge, stmt_face, fid, - topolayer_id, out_type); - if (geom != NULL) - { - unsigned char *p_blob; - int n_bytes; - gaiaToSpatiaLiteBlobWkb (geom, &p_blob, &n_bytes); - sqlite3_bind_blob (stmt_ins, ncol, p_blob, n_bytes, - SQLITE_TRANSIENT); - free (p_blob); - gaiaFreeGeomColl (geom); - } - else - sqlite3_bind_null (stmt_ins, ncol); - ret = sqlite3_step (stmt_ins); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_ExportTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_ExportTopoLayer (GaiaTopologyAccessorPtr accessor, - const char *topolayer_name, const char *out_table, - int with_spatial_index, int create_only) -{ -/* attempting to export a full TopoLayer */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt_ref = NULL; - sqlite3_stmt *stmt_ins = NULL; - sqlite3_stmt *stmt_rels = NULL; - sqlite3_stmt *stmt_node = NULL; - sqlite3_stmt *stmt_edge = NULL; - sqlite3_stmt *stmt_face = NULL; - int ret; - char *create = NULL; - char *select = NULL; - char *insert; - char *geometry_name; - char *sql; - char *errMsg; - char *xprefix; - char *table; - char *xtable; - int ref_type; - const char *type; - int out_type; - sqlite3_int64 topolayer_id; - if (topo == NULL) - return 0; - -/* composing the CREATE TABLE output-table statement */ - if (!auxtopo_create_export_sql - (topo, topolayer_name, out_table, &create, - &select, &insert, &geometry_name, &topolayer_id)) - goto error; - -/* creating the output-table */ - ret = sqlite3_exec (topo->db_handle, create, NULL, NULL, &errMsg); - sqlite3_free (create); - create = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* checking the Geometry Type */ - if (!auxtopo_retrieve_export_geometry_type - (topo, topolayer_name, &ref_type)) - goto error; - switch (ref_type) - { - case GAIA_POINT: - type = "MULTIPOINT"; - out_type = GAIA_MULTIPOINT; - break; - case GAIA_LINESTRING: - type = "MULTILINESTRING"; - out_type = GAIA_MULTILINESTRING; - break; - case GAIA_POLYGON: - type = "MULTIPOLYGON"; - out_type = GAIA_MULTIPOLYGON; - break; - case GAIA_GEOMETRYCOLLECTION: - type = "GEOMETRYCOLLECTION"; - out_type = GAIA_GEOMETRYCOLLECTION; - break; - default: - type = "GEOMETRY"; - out_type = GAIA_UNKNOWN; - break; - }; - -/* creating the output Geometry Column */ - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(Lower(%Q), %Q, %d, '%s', '%s')", - out_table, geometry_name, topo->srid, type, - (topo->has_z == 0) ? "XY" : "XYZ"); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - - if (with_spatial_index) - { - /* creating a Spatial Index supporting the Geometry Column */ - sql = - sqlite3_mprintf - ("SELECT CreateSpatialIndex(Lower(%Q), %Q)", - out_table, geometry_name); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - free (geometry_name); - if (create_only) - { - sqlite3_free (select); - sqlite3_free (insert); - return 1; - } - -/* preparing the "SELECT * FROM topo-features-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, select, strlen (select), &stmt_ref, - NULL); - sqlite3_free (select); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "INSERT INTO out-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, insert, strlen (insert), &stmt_ins, - NULL); - sqlite3_free (insert); - insert = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "SELECT * FROM topo-features" query */ - table = sqlite3_mprintf ("%s_topofeatures", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT node_id, edge_id, face_id FROM \"%s\" " - "WHERE topolayer_id = ? AND fid = ?", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_rels, - NULL); - sqlite3_free (sql); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Nodes query */ - xprefix = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT geom FROM MAIN.\"%s\" WHERE node_id = ?", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_node, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Edges query */ - xprefix = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT geom FROM MAIN.\"%s\" WHERE edge_id = ?", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_edge, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Faces query */ - xprefix = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = - sqlite3_mprintf - ("SELECT edge_id, left_face, right_face, geom FROM MAIN.\"%s\" " - "WHERE left_face = ? OR right_face = ?", xtable); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_face, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_ExportTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* evaluating TopoLayer's Features */ - if (!do_eval_topogeo_features - (topo, stmt_ref, stmt_ins, stmt_rels, stmt_node, stmt_edge, stmt_face, - topolayer_id, out_type)) - goto error; - - sqlite3_finalize (stmt_ref); - sqlite3_finalize (stmt_ins); - sqlite3_finalize (stmt_rels); - sqlite3_finalize (stmt_node); - sqlite3_finalize (stmt_edge); - sqlite3_finalize (stmt_face); - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - if (stmt_ref != NULL) - sqlite3_finalize (stmt_ref); - if (stmt_ins != NULL) - sqlite3_finalize (stmt_ins); - if (stmt_rels != NULL) - sqlite3_finalize (stmt_rels); - if (stmt_node != NULL) - sqlite3_finalize (stmt_node); - if (stmt_edge != NULL) - sqlite3_finalize (stmt_edge); - if (stmt_face != NULL) - sqlite3_finalize (stmt_face); - return 0; -} - -static int -check_output_table (struct gaia_topology *topo, const char *out_table, - int *out_type) -{ -/* checking the output table */ - char *sql; - int ret; - int i; - char **results; - int rows; - int columns; - int count = 0; - int type; - - sql = - sqlite3_mprintf - ("SELECT geometry_type FROM MAIN.geometry_columns WHERE f_table_name = Lower(%Q)", - out_table); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - type = atoi (results[(i * columns) + 0]); - count++; - } - } - sqlite3_free_table (results); - - if (count != 1) - return 0; - - switch (type) - { - case GAIA_POINT: - case GAIA_POINTZ: - case GAIA_POINTM: - case GAIA_POINTZM: - *out_type = GAIA_POINT; - break; - case GAIA_MULTIPOINT: - case GAIA_MULTIPOINTZ: - case GAIA_MULTIPOINTM: - case GAIA_MULTIPOINTZM: - *out_type = GAIA_MULTIPOINT; - break; - case GAIA_LINESTRING: - case GAIA_LINESTRINGZ: - case GAIA_LINESTRINGM: - case GAIA_LINESTRINGZM: - case GAIA_MULTILINESTRING: - case GAIA_MULTILINESTRINGZ: - case GAIA_MULTILINESTRINGM: - case GAIA_MULTILINESTRINGZM: - *out_type = GAIA_MULTILINESTRING; - break; - case GAIA_POLYGON: - case GAIA_POLYGONZ: - case GAIA_POLYGONM: - case GAIA_POLYGONZM: - case GAIA_MULTIPOLYGON: - case GAIA_MULTIPOLYGONZ: - case GAIA_MULTIPOLYGONM: - case GAIA_MULTIPOLYGONZM: - *out_type = GAIA_MULTIPOLYGON; - break; - case GAIA_GEOMETRYCOLLECTION: - case GAIA_GEOMETRYCOLLECTIONZ: - case GAIA_GEOMETRYCOLLECTIONM: - case GAIA_GEOMETRYCOLLECTIONZM: - *out_type = GAIA_GEOMETRYCOLLECTION; - break; - default: - *out_type = GAIA_UNKNOWN; - break; - }; - return 1; -} - -static int -auxtopo_export_feature_sql (struct gaia_topology *topo, - const char *topolayer_name, const char *out_table, - char **xselect, char **xinsert, - sqlite3_int64 * topolayer_id, int *out_type) -{ -/* composing the CREATE TABLE insert-feature statement */ - char *select = NULL; - char *insert = NULL; - char *prev; - char *sql; - char *table; - char *xtable; - char *xprefix; - char dummy[64]; - int i; - char **results; - int rows; - int columns; - const char *name; - int ret; - int first_select = 1; - int first_insert = 1; - int ncols = 0; - int icol; - int ref_col = 0; - char *geometry_name = NULL; - int geom_alias = 0; - - *xselect = NULL; - *xinsert = NULL; - -/* checking the TopoLayer */ - if (!check_topolayer (topo, topolayer_name, topolayer_id)) - return 0; - -/* checking the output table */ - if (!check_output_table (topo, out_table, out_type)) - return 0; - - xtable = gaiaDoubleQuotedSql (out_table); - select = sqlite3_mprintf ("SELECT fid, "); - insert = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" (fid, ", xtable); - free (xtable); - sprintf (dummy, "%lld", *topolayer_id); - table = sqlite3_mprintf ("%s_topofeatures_%s", topo->topology_name, dummy); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("PRAGMA MAIN.table_info(\"%s\")", xtable); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - goto error; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - name = results[(i * columns) + 1]; - if (strcmp (name, "fid") == 0) - continue; - /* SELECT: adding a column */ - xprefix = gaiaDoubleQuotedSql (name); - prev = select; - if (first_select) - select = sqlite3_mprintf ("%s\"%s\"", prev, xprefix); - else - select = sqlite3_mprintf ("%s, \"%s\"", prev, xprefix); - first_select = 0; - free (xprefix); - sqlite3_free (prev); - ref_col++; - /* INSERT: adding a column */ - xprefix = gaiaDoubleQuotedSql (name); - prev = insert; - if (first_insert) - insert = sqlite3_mprintf ("%s\"%s\"", prev, xprefix); - else - insert = sqlite3_mprintf ("%s, \"%s\"", prev, xprefix); - first_insert = 0; - free (xprefix); - sqlite3_free (prev); - ncols++; - } - } - sqlite3_free_table (results); - - geometry_name = malloc (strlen ("geometry") + 1); - strcpy (geometry_name, "geometry"); - sprintf (dummy, "%lld", *topolayer_id); - table = sqlite3_mprintf ("%s_topofeatures_%s", topo->topology_name, dummy); - while (1) - { - /* searching an unique Geometry name */ - if (is_unique_geom_name (topo->db_handle, table, geometry_name)) - break; - sprintf (dummy, "geom_%d", ++geom_alias); - free (geometry_name); - geometry_name = malloc (strlen (dummy) + 1); - strcpy (geometry_name, dummy); - } - sqlite3_free (table); - -/* completing the SQL statements */ - prev = select; - sprintf (dummy, "%lld", *topolayer_id); - table = sqlite3_mprintf ("%s_topofeatures_%s", topo->topology_name, dummy); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - select = - sqlite3_mprintf ("%s FROM MAIN.\"%s\" WHERE fid = ?", prev, xtable); - free (xtable); - sqlite3_free (prev); - prev = insert; - insert = sqlite3_mprintf ("%s, \"%s\") VALUES (?, ", prev, geometry_name); - sqlite3_free (prev); - for (icol = 0; icol < ncols; icol++) - { - prev = insert; - if (icol == 0) - insert = sqlite3_mprintf ("%s?", prev); - else - insert = sqlite3_mprintf ("%s, ?", prev); - sqlite3_free (prev); - } - prev = insert; - insert = sqlite3_mprintf ("%s, ?)", prev); - sqlite3_free (prev); - - free (geometry_name); - *xselect = select; - *xinsert = insert; - return 1; - - error: - if (geometry_name != NULL) - free (geometry_name); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - return 0; -} - -static int -do_eval_topogeo_single_feature (struct gaia_topology *topo, - sqlite3_stmt * stmt_ref, - sqlite3_stmt * stmt_ins, - sqlite3_stmt * stmt_rels, - sqlite3_stmt * stmt_node, - sqlite3_stmt * stmt_edge, - sqlite3_stmt * stmt_face, - sqlite3_int64 topolayer_id, int out_type, - sqlite3_int64 fid) -{ -/* querying the ref-table */ - int ret; - int count = 0; - - sqlite3_reset (stmt_ref); - sqlite3_clear_bindings (stmt_ref); - sqlite3_bind_int64 (stmt_ref, 1, fid); - while (1) - { - /* scrolling the result set rows */ - gaiaGeomCollPtr geom = NULL; - ret = sqlite3_step (stmt_ref); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int icol; - int ncol = sqlite3_column_count (stmt_ref); - sqlite3_reset (stmt_ins); - sqlite3_clear_bindings (stmt_ins); - for (icol = 0; icol < ncol; icol++) - { - int col_type = sqlite3_column_type (stmt_ref, icol); - switch (col_type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_ins, icol + 1, - sqlite3_column_int64 (stmt_ref, - icol)); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_ins, icol + 1, - sqlite3_column_double - (stmt_ref, icol)); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_ins, icol + 1, - (const char *) - sqlite3_column_text (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - case SQLITE_BLOB: - sqlite3_bind_blob (stmt_ins, icol + 1, - sqlite3_column_blob (stmt_ref, - icol), - sqlite3_column_bytes (stmt_ref, - icol), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_ins, icol + 1); - break; - }; - } - /* the Geometry column */ - ncol = sqlite3_bind_parameter_count (stmt_ins); - geom = - do_eval_topo_geometry (topo, stmt_rels, stmt_node, - stmt_edge, stmt_face, fid, - topolayer_id, out_type); - if (geom != NULL) - { - unsigned char *p_blob; - int n_bytes; - gaiaToSpatiaLiteBlobWkb (geom, &p_blob, &n_bytes); - sqlite3_bind_blob (stmt_ins, ncol, p_blob, n_bytes, - SQLITE_TRANSIENT); - free (p_blob); - gaiaFreeGeomColl (geom); - } - else - sqlite3_bind_null (stmt_ins, ncol); - ret = sqlite3_step (stmt_ins); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("InsertFeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - count++; - } - else - { - char *msg = - sqlite3_mprintf - ("InsertFeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - - if (count <= 0) - { - char *msg = - sqlite3_mprintf - ("InsertFeatureFromTopoLayer(): not existing TopoFeature"); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - return 0; - } - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_InsertFeatureFromTopoLayer (GaiaTopologyAccessorPtr accessor, - const char *topolayer_name, - const char *out_table, - sqlite3_int64 fid) -{ -/* attempting to insert a single TopoLayer's Feature into the output GeoTable */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt_ref = NULL; - sqlite3_stmt *stmt_ins = NULL; - sqlite3_stmt *stmt_rels = NULL; - sqlite3_stmt *stmt_node = NULL; - sqlite3_stmt *stmt_edge = NULL; - sqlite3_stmt *stmt_face = NULL; - int ret; - char *select; - char *insert; - char *sql; - char *xprefix; - char *table; - char *xtable; - int out_type; - sqlite3_int64 topolayer_id; - if (topo == NULL) - return 0; - -/* composing the SQL statements */ - if (!auxtopo_export_feature_sql - (topo, topolayer_name, out_table, &select, &insert, &topolayer_id, - &out_type)) - goto error; - -/* preparing the "SELECT * FROM topo-features-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, select, strlen (select), &stmt_ref, - NULL); - sqlite3_free (select); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("InsertFeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "INSERT INTO out-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, insert, strlen (insert), &stmt_ins, - NULL); - sqlite3_free (insert); - insert = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("InsertFeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - goto error; - } - -/* preparing the "SELECT * FROM topo-features" query */ - table = sqlite3_mprintf ("%s_topofeatures", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT node_id, edge_id, face_id FROM \"%s\" " - "WHERE topolayer_id = ? AND fid = ?", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_rels, - NULL); - sqlite3_free (sql); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("InsertFeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Nodes query */ - xprefix = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT geom FROM MAIN.\"%s\" WHERE node_id = ?", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_node, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("InsertFeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Edges query */ - xprefix = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = sqlite3_mprintf ("SELECT geom FROM MAIN.\"%s\" WHERE edge_id = ?", - xtable, xprefix); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_edge, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("InsertFeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the Topo-Faces query */ - xprefix = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (xprefix); - sql = - sqlite3_mprintf - ("SELECT edge_id, left_face, right_face, geom FROM MAIN.\"%s\" " - "WHERE left_face = ? OR right_face = ?", xtable); - free (xtable); - sqlite3_free (xprefix); - ret = - sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt_face, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("InsertFeatureFromTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* evaluating TopoLayer's Features */ - if (!do_eval_topogeo_single_feature - (topo, stmt_ref, stmt_ins, stmt_rels, stmt_node, stmt_edge, stmt_face, - topolayer_id, out_type, fid)) - goto error; - - sqlite3_finalize (stmt_ref); - sqlite3_finalize (stmt_ins); - sqlite3_finalize (stmt_rels); - sqlite3_finalize (stmt_node); - sqlite3_finalize (stmt_edge); - sqlite3_finalize (stmt_face); - return 1; - - error: - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - if (stmt_ref != NULL) - sqlite3_finalize (stmt_ref); - if (stmt_ins != NULL) - sqlite3_finalize (stmt_ins); - if (stmt_rels != NULL) - sqlite3_finalize (stmt_rels); - if (stmt_node != NULL) - sqlite3_finalize (stmt_node); - if (stmt_edge != NULL) - sqlite3_finalize (stmt_edge); - if (stmt_face != NULL) - sqlite3_finalize (stmt_face); - return 0; -} - -static int -do_topo_snap (struct gaia_topology *topo, int geom_col, int geo_type, - double tolerance, int iterate, int remove_vertices, - sqlite3_stmt * stmt_in, sqlite3_stmt * stmt_out) -{ -/* snapping geometries againt Topology */ - int ret; - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int icol; - int ncol = sqlite3_column_count (stmt_in); - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - for (icol = 0; icol < ncol; icol++) - { - int col_type = sqlite3_column_type (stmt_in, icol); - if (icol == geom_col) - { - /* the geometry column */ - const unsigned char *blob = - sqlite3_column_blob (stmt_in, icol); - int blob_sz = sqlite3_column_bytes (stmt_in, icol); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - gaiaGeomCollPtr result; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - if (topo->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache - *) (topo->cache); - gpkg_mode = cache->gpkg_mode; - } - result = - gaiaTopoSnap ((GaiaTopologyAccessorPtr) - topo, geom, tolerance, - iterate, remove_vertices); - gaiaFreeGeomColl (geom); - if (result != NULL) - { - result->DeclaredType = geo_type; - gaiaToSpatiaLiteBlobWkbEx (result, - &p_blob, - &n_bytes, - gpkg_mode); - gaiaFreeGeomColl (result); - sqlite3_bind_blob (stmt_out, icol + 1, - p_blob, n_bytes, - free); - } - else - sqlite3_bind_null (stmt_out, icol + 1); - } - else - sqlite3_bind_null (stmt_out, icol + 1); - continue; - } - switch (col_type) - { - case SQLITE_INTEGER: - sqlite3_bind_int64 (stmt_out, icol + 1, - sqlite3_column_int64 (stmt_in, - icol)); - break; - case SQLITE_FLOAT: - sqlite3_bind_double (stmt_out, icol + 1, - sqlite3_column_double - (stmt_in, icol)); - break; - case SQLITE_TEXT: - sqlite3_bind_text (stmt_out, icol + 1, - (const char *) - sqlite3_column_text (stmt_in, - icol), - sqlite3_column_bytes (stmt_in, - icol), - SQLITE_STATIC); - break; - case SQLITE_BLOB: - sqlite3_bind_blob (stmt_out, icol + 1, - sqlite3_column_blob (stmt_in, - icol), - sqlite3_column_bytes (stmt_in, - icol), - SQLITE_STATIC); - break; - default: - sqlite3_bind_null (stmt_out, icol + 1); - break; - }; - } - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_SnappedGeoTable() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) - topo, msg); - sqlite3_free (msg); - return 0; - } - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnappedGeoTable() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - return 0; - } - } - return 1; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_SnappedGeoTable (GaiaTopologyAccessorPtr accessor, - const char *db_prefix, const char *table, - const char *column, const char *out_table, - double tolerance, int iterate, int remove_vertices) -{ -/* -/ attempting to create and populate a new GeoTable by snapping all Geometries -/ contained into another GeoTable against a given Topology -*/ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - int ret; - char *create; - char *select; - char *insert; - char *sql; - char *errMsg; - int geo_type; - const char *type; - int geom_col; - if (topo == NULL) - return 0; - -/* composing the CREATE TABLE output-table statement */ - if (!auxtopo_create_togeotable_sql - (topo->db_handle, db_prefix, table, column, out_table, &create, - &select, &insert, &geom_col)) - goto error; - -/* creating the output-table */ - ret = sqlite3_exec (topo->db_handle, create, NULL, NULL, &errMsg); - sqlite3_free (create); - create = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnappedGeoTable() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* checking the Geometry Type */ - if (!auxtopo_retrieve_geometry_type - (topo->db_handle, db_prefix, table, column, &geo_type)) - goto error; - switch (geo_type) - { - case GAIA_POINT: - case GAIA_POINTZ: - case GAIA_POINTM: - case GAIA_POINTZM: - type = "POINT"; - break; - case GAIA_MULTIPOINT: - case GAIA_MULTIPOINTZ: - case GAIA_MULTIPOINTM: - case GAIA_MULTIPOINTZM: - type = "MULTIPOINT"; - break; - case GAIA_LINESTRING: - case GAIA_LINESTRINGZ: - case GAIA_LINESTRINGM: - case GAIA_LINESTRINGZM: - type = "LINESTRING"; - break; - case GAIA_MULTILINESTRING: - case GAIA_MULTILINESTRINGZ: - case GAIA_MULTILINESTRINGM: - case GAIA_MULTILINESTRINGZM: - type = "MULTILINESTRING"; - break; - case GAIA_POLYGON: - case GAIA_POLYGONZ: - case GAIA_POLYGONM: - case GAIA_POLYGONZM: - type = "POLYGON"; - break; - case GAIA_MULTIPOLYGON: - case GAIA_MULTIPOLYGONZ: - case GAIA_MULTIPOLYGONM: - case GAIA_MULTIPOLYGONZM: - type = "MULTIPOLYGON"; - break; - case GAIA_GEOMETRYCOLLECTION: - case GAIA_GEOMETRYCOLLECTIONZ: - case GAIA_GEOMETRYCOLLECTIONM: - case GAIA_GEOMETRYCOLLECTIONZM: - type = "GEOMETRYCOLLECTION"; - break; - default: - type = "GEOMETRY"; - break; - }; - -/* creating the output Geometry Column */ - sql = - sqlite3_mprintf - ("SELECT AddGeometryColumn(Lower(%Q), Lower(%Q), %d, '%s', '%s')", - out_table, column, topo->srid, type, - (topo->has_z == 0) ? "XY" : "XYZ"); - ret = sqlite3_exec (topo->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnappedGeoTable() error: \"%s\"", - errMsg); - sqlite3_free (errMsg); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "SELECT * FROM ref-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, select, strlen (select), &stmt_in, - NULL); - sqlite3_free (select); - select = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnappedGeoTable() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the "INSERT INTO out-table" query */ - ret = - sqlite3_prepare_v2 (topo->db_handle, insert, strlen (insert), &stmt_out, - NULL); - sqlite3_free (insert); - insert = NULL; - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_SnappedGeoTable() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - -/* snapping all Geometries against the Topology */ - if (!do_topo_snap - (topo, geom_col, geo_type, tolerance, iterate, remove_vertices, stmt_in, - stmt_out)) - goto error; - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - error: - if (create != NULL) - sqlite3_free (create); - if (select != NULL) - sqlite3_free (select); - if (insert != NULL) - sqlite3_free (insert); - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -SPATIALITE_PRIVATE int -test_inconsistent_topology (const void *handle) -{ -/* testing for a Topology presenting an inconsistent state */ - struct gaia_topology *topo = (struct gaia_topology *) handle; - int ret; - char *errMsg = NULL; - int count = 0; - int i; - char **results; - int rows; - int columns; - char *sql; - char *table; - char *xtable; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT Count(*) FROM \"%s\" WHERE left_face IS NULL " - "OR right_face IS NULL", xtable); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("test_inconsistent_topology error: %s\n", errMsg); - sqlite3_free (errMsg); - return -1; - } - for (i = 1; i <= rows; i++) - count = atoi (results[(i * columns) + 0]); - sqlite3_free_table (results); - return count; -} - -static int -topoGeo_EdgeHeal_common (GaiaTopologyAccessorPtr accessor, int mode_new) -{ -/* common implementation of GeoTable EdgeHeal */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - int ret; - char *sql; - char *node; - char *xnode; - char *edge; - char *xedge; - sqlite3_stmt *stmt1 = NULL; - sqlite3_stmt *stmt2 = NULL; - sqlite3_stmt *stmt3 = NULL; - if (topo == NULL) - return 0; - - ret = test_inconsistent_topology (accessor); - if (ret != 0) - return 0; - -/* preparing the SQL query identifying all Nodes of cardinality = 2 */ - node = sqlite3_mprintf ("%s_node", topo->topology_name); - xnode = gaiaDoubleQuotedSql (node); - sqlite3_free (node); - edge = sqlite3_mprintf ("%s_edge", topo->topology_name); - xedge = gaiaDoubleQuotedSql (edge); - sqlite3_free (edge); - sql = - sqlite3_mprintf ("SELECT n.node_id, Count(*) AS cnt FROM \"%s\" AS n " - "JOIN \"%s\" AS e ON ((n.node_id = e.start_node OR n.node_id = e.end_node) " - "AND (e.start_node <> e.end_node)) GROUP BY n.node_id HAVING cnt = 2", - xnode, xedge); - free (xnode); - free (xedge); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt1, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_%sEdgeHeal error: \"%s\"", - mode_new ? "New" : "Mod", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the SQL query identifying a couple of Edges to be Healed */ - node = sqlite3_mprintf ("%s_node", topo->topology_name); - xnode = gaiaDoubleQuotedSql (node); - sqlite3_free (node); - edge = sqlite3_mprintf ("%s_edge", topo->topology_name); - xedge = gaiaDoubleQuotedSql (edge); - sqlite3_free (edge); - sql = - sqlite3_mprintf ("SELECT e1.edge_id, e2.edge_id FROM \"%s\" AS n " - "JOIN \"%s\" AS e1 ON (n.node_id = e1.end_node) " - "JOIN \"%s\" AS e2 ON (n.node_id = e2.start_node) WHERE n.node_id = ?", - xnode, xedge, xedge); - free (xnode); - free (xedge); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt2, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_%sEdgeHeal error: \"%s\"", - mode_new ? "New" : "Mod", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - -/* preparing the SQL query Healing a couple of Edges */ - sql = - sqlite3_mprintf ("SELECT ST_%sEdgeHeal(%Q, ?, ?)", - mode_new ? "New" : "Mod", topo->topology_name); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt3, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("TopoGeo_%sEdgeHeal error: \"%s\"", - mode_new ? "New" : "Mod", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - - while (1) - { - /* looping until all possible Edges have been healed */ - sqlite3_int64 edge_1_id = -1; - sqlite3_int64 edge_2_id = -1; - - sqlite3_reset (stmt1); - sqlite3_clear_bindings (stmt1); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt1); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt2); - sqlite3_clear_bindings (stmt2); - sqlite3_bind_int64 (stmt2, 1, - sqlite3_column_int64 (stmt1, 0)); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt2); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - edge_1_id = sqlite3_column_int64 (stmt2, 0); - edge_2_id = sqlite3_column_int64 (stmt2, 1); - break; - } - else - { - char *msg = - sqlite3_mprintf - ("TopoGeo_%sEdgeHeal error: \"%s\"", - mode_new ? "New" : "Mod", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - if (edge_1_id > 0 && edge_2_id > 0) - break; - - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_%sEdgeHeal error: \"%s\"", - mode_new ? "New" : "Mod", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - if (edge_1_id < 0 && edge_2_id < 0) - break; - - /* healing a couple of Edges */ - sqlite3_reset (stmt3); - sqlite3_clear_bindings (stmt3); - sqlite3_bind_int64 (stmt3, 1, edge_1_id); - sqlite3_bind_int64 (stmt3, 2, edge_2_id); - ret = sqlite3_step (stmt3); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - continue; - else - { - char *msg = sqlite3_mprintf ("TopoGeo_%sEdgeHeal error: \"%s\"", - mode_new ? "New" : "Mod", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt1); - sqlite3_finalize (stmt2); - sqlite3_finalize (stmt3); - return 1; - - error: - if (stmt1 != NULL) - sqlite3_finalize (stmt1); - if (stmt2 != NULL) - sqlite3_finalize (stmt2); - if (stmt3 != NULL) - sqlite3_finalize (stmt3); - return 0; -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_NewEdgeHeal (GaiaTopologyAccessorPtr ptr) -{ - return topoGeo_EdgeHeal_common (ptr, 1); -} - -GAIATOPO_DECLARE int -gaiaTopoGeo_ModEdgeHeal (GaiaTopologyAccessorPtr ptr) -{ - return topoGeo_EdgeHeal_common (ptr, 0); -} - -#endif /* end ENABLE_RTTOPO conditionals */ DELETED src/topology/gaia_netstmts.c Index: src/topology/gaia_netstmts.c ================================================================== --- src/topology/gaia_netstmts.c +++ src/topology/gaia_netstmts.c @@ -1,380 +0,0 @@ -/* - - gaia_netstmts.c -- implementation of Topology-Network prepared statements - - version 4.3, 2015 August 11 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include - -#include - -#include - -#include - -#include "network_private.h" - -#define GAIA_UNUSED() if (argc || argv) argc = argc; - - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_getNetNodeWithinDistance2D (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the getNetNodeWithinDistance2D prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (net == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT node_id FROM MAIN.\"%s\" " - "WHERE ST_Distance(geometry, MakePoint(?, ?)) <= ? AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geometry' AND search_frame = BuildCircleMBR(?, ?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("Prepare_getNetNodeWithinDistance2D error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_getLinkWithinDistance2D (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the getLinkWithinDistance2D prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (net == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT link_id FROM MAIN.\"%s\" " - "WHERE ST_Distance(geometry, MakePoint(?, ?)) <= ? AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geometry' AND search_frame = BuildCircleMBR(?, ?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getLinkWithinDistance2D error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_insertNetNodes (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the insertNetNodes prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (net == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO \"%s\" (node_id, geometry) VALUES (?, ?)", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_insertNetNodes error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_insertLinks (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the insertLinks prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (net == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO \"%s\" (link_id, start_node, end_node, geometry) " - "VALUES (?, ?, ?, ?)", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_insertLinks error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_deleteNetNodesById (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the deleteNodesById prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (net == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\" WHERE node_id = ?", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_deleteNetNodesById error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_getNetNodeWithinBox2D (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the getNetNodeWithinBox2D prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (net == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT node_id FROM MAIN.\"%s\" WHERE ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geometry' AND search_frame = BuildMBR(?, ?, ?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getNetNodeWithinBox2D error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - return stmt; -} - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_getNextLinkId (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the getNextLinkId prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - if (net == NULL) - return NULL; - - sql = - sqlite3_mprintf - ("SELECT next_link_id FROM MAIN.networks WHERE Lower(network_name) = Lower(%Q)", - net->network_name); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_getNextLinkId error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_setNextLinkId (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the setNextLinkId prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - if (net == NULL) - return NULL; - - sql = - sqlite3_mprintf - ("UPDATE MAIN.networks SET next_link_id = next_link_id + 1 " - "WHERE Lower(network_name) = Lower(%Q)", net->network_name); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_setNextLinkId error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -NETWORK_PRIVATE sqlite3_stmt * -do_create_stmt_deleteLinksById (GaiaNetworkAccessorPtr accessor) -{ -/* attempting to create the deleteNodesById prepared statement */ - struct gaia_network *net = (struct gaia_network *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (net == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\" WHERE link_id = ?", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (net->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_deleteLinksById error: \"%s\"", - sqlite3_errmsg (net->db_handle)); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -#endif /* end RTTOPO conditionals */ DELETED src/topology/gaia_network.c Index: src/topology/gaia_network.c ================================================================== --- src/topology/gaia_network.c +++ src/topology/gaia_network.c @@ -1,4250 +0,0 @@ -/* - - gaia_network.c -- implementation of Topology-Network SQL functions - - version 4.3, 2015 August 11 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include "network_private.h" -#include "topology_private.h" - -#ifdef _WIN32 -#define strcasecmp _stricmp -#endif /* not WIN32 */ - -#define GAIA_UNUSED() if (argc || argv) argc = argc; - -static struct splite_savepoint * -push_net_savepoint (struct splite_internal_cache *cache) -{ -/* adding a new SavePoint to the Network stack */ - struct splite_savepoint *p_svpt = malloc (sizeof (struct splite_savepoint)); - p_svpt->savepoint_name = NULL; - p_svpt->prev = cache->last_net_svpt; - p_svpt->next = NULL; - if (cache->first_net_svpt == NULL) - cache->first_net_svpt = p_svpt; - if (cache->last_net_svpt != NULL) - cache->last_net_svpt->next = p_svpt; - cache->last_net_svpt = p_svpt; - return p_svpt; -} - -static void -pop_net_savepoint (struct splite_internal_cache *cache) -{ -/* removing a SavePoint from the Network stack */ - struct splite_savepoint *p_svpt = cache->last_net_svpt; - if (p_svpt->prev != NULL) - p_svpt->prev->next = NULL; - cache->last_net_svpt = p_svpt->prev; - if (cache->first_net_svpt == p_svpt) - cache->first_net_svpt = NULL; - if (p_svpt->savepoint_name != NULL) - sqlite3_free (p_svpt->savepoint_name); - free (p_svpt); -} - -SPATIALITE_PRIVATE void -start_net_savepoint (const void *handle, const void *data) -{ -/* starting a new SAVEPOINT */ - char *sql; - int ret; - char *err_msg; - struct splite_savepoint *p_svpt; - sqlite3 *sqlite = (sqlite3 *) handle; - struct splite_internal_cache *cache = (struct splite_internal_cache *) data; - if (sqlite == NULL || cache == NULL) - return; - -/* creating an unique SavePoint name */ - p_svpt = push_net_savepoint (cache); - p_svpt->savepoint_name = - sqlite3_mprintf ("netsvpt%04x", cache->next_network_savepoint); - if (cache->next_network_savepoint >= 0xffffffffu) - cache->next_network_savepoint = 0; - else - cache->next_network_savepoint += 1; - -/* starting a SavePoint */ - sql = sqlite3_mprintf ("SAVEPOINT %s", p_svpt->savepoint_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("%s - error: %s\n", sql, err_msg); - sqlite3_free (err_msg); - } - sqlite3_free (sql); -} - -SPATIALITE_PRIVATE void -release_net_savepoint (const void *handle, const void *data) -{ -/* releasing the current SAVEPOINT (if any) */ - char *sql; - int ret; - char *err_msg; - struct splite_savepoint *p_svpt; - sqlite3 *sqlite = (sqlite3 *) handle; - struct splite_internal_cache *cache = (struct splite_internal_cache *) data; - if (sqlite == NULL || cache == NULL) - return; - p_svpt = cache->last_net_svpt; - if (p_svpt == NULL) - return; - if (p_svpt->savepoint_name == NULL) - return; - -/* releasing the current SavePoint */ - sql = sqlite3_mprintf ("RELEASE SAVEPOINT %s", p_svpt->savepoint_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("%s - error: %s\n", sql, err_msg); - sqlite3_free (err_msg); - } - sqlite3_free (sql); - pop_net_savepoint (cache); -} - -SPATIALITE_PRIVATE void -rollback_net_savepoint (const void *handle, const void *data) -{ -/* rolling back the current SAVEPOINT (if any) */ - char *sql; - int ret; - char *err_msg; - struct splite_savepoint *p_svpt; - sqlite3 *sqlite = (sqlite3 *) handle; - struct splite_internal_cache *cache = (struct splite_internal_cache *) data; - if (sqlite == NULL || cache == NULL) - return; - p_svpt = cache->last_net_svpt; - if (p_svpt == NULL) - return; - if (p_svpt->savepoint_name == NULL) - return; - -/* rolling back the current SavePoint */ - sql = sqlite3_mprintf ("ROLLBACK TO SAVEPOINT %s", p_svpt->savepoint_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("%s - error: %s\n", sql, err_msg); - sqlite3_free (err_msg); - } - sqlite3_free (sql); -/* releasing the current SavePoint */ - sql = sqlite3_mprintf ("RELEASE SAVEPOINT %s", p_svpt->savepoint_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("%s - error: %s\n", sql, err_msg); - sqlite3_free (err_msg); - } - sqlite3_free (sql); - pop_net_savepoint (cache); -} - -SPATIALITE_PRIVATE void -fnctaux_GetLastNetworkException (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ GetLastNetworkException ( text network-name ) -/ -/ returns: the more recent exception raised by given Topology-Network -/ NULL on invalid args (or when there is no pending exception) -*/ - const char *network_name; - GaiaNetworkAccessorPtr accessor; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - { - sqlite3_result_null (context); - return; - } - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - { - sqlite3_result_null (context); - return; - } - - sqlite3_result_text (context, gaianet_get_last_exception (accessor), -1, - SQLITE_STATIC); -} - -SPATIALITE_PRIVATE void -fnctaux_CreateNetwork (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_InitTopoNet ( text network-name ) -/ CreateNetwork ( text network-name ) -/ CreateNetwork ( text network-name, bool spatial ) -/ CreateNetwork ( text network-name, bool spatial, int srid ) -/ CreateNetwork ( text network-name, bool spatial, int srid, bool hasZ ) -/ CreateNetwork ( text network-name, bool spatial, int srid, bool hasZ, -/ bool allow_coincident ) -/ -/ returns: 1 on success, 0 on failure -/ -1 on invalid args -*/ - int ret; - const char *network_name; - int srid = -1; - int has_z = 0; - int spatial = 0; - int allow_coincident = 1; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - spatial = sqlite3_value_int (argv[1]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - srid = sqlite3_value_int (argv[2]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - if (argc >= 4) - { - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - has_z = sqlite3_value_int (argv[3]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - if (argc >= 5) - { - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER) - allow_coincident = sqlite3_value_int (argv[4]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - - start_net_savepoint (sqlite, cache); - ret = - gaiaNetworkCreate (sqlite, network_name, spatial, srid, has_z, - allow_coincident); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - sqlite3_result_int (context, ret); -} - -SPATIALITE_PRIVATE void -fnctaux_DropNetwork (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ DropNetwork ( text network-name ) -/ -/ returns: 1 on success, 0 on failure -/ -1 on invalid args -*/ - int ret; - const char *network_name; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GaiaNetworkAccessorPtr accessor; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - { - sqlite3_result_int (context, -1); - return; - } - - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor != NULL) - gaiaNetworkDestroy (accessor); - - start_net_savepoint (sqlite, cache); - ret = gaiaNetworkDrop (sqlite, network_name); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - sqlite3_result_int (context, ret); -} - -static int -check_matching_srid_dims (GaiaNetworkAccessorPtr accessor, int srid, int dims) -{ -/* checking for matching SRID and DIMs */ - struct gaia_network *net = (struct gaia_network *) accessor; - if (net->srid != srid) - return 0; - if (net->has_z) - { - if (dims == GAIA_XY_Z || dims == GAIA_XY_Z_M) - ; - else - return 0; - } - else - { - if (dims == GAIA_XY_Z || dims == GAIA_XY_Z_M) - return 0; - } - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_AddIsoNetNode (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_AddIsoNetNode ( text network-name, Geometry point ) -/ -/ returns: the ID of the inserted Node on success -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt = NULL; - int invalid = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - { - if (net->spatial) - goto spatial_err; - } - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - if (net->spatial == 0) - goto logical_err; - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - - /* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint - || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - pt = point->FirstPoint; - } - else - goto invalid_arg; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaAddIsoNetNode (accessor, pt); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (point != NULL) - { - gaiaFreeGeomColl (point); - point = NULL; - } - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - invalid_geom: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).", - -1); - return; - - spatial_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.", - -1); - return; - - logical_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Logical Network can't accept not null geometry.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_MoveIsoNetNode (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_MoveIsoNetNode ( text network-name, int node_id, Geometry point ) -/ -/ returns: TEXT (description of new location) -/ raises an exception on failure -*/ - char xid[80]; - char *newpos = NULL; - int ret; - const char *net_name; - sqlite3_int64 node_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt = NULL; - int invalid = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - net_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - node_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, net_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - { - if (net->spatial) - goto spatial_err; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - if (net->spatial == 0) - goto logical_err; - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - - /* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint - || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - pt = point->FirstPoint; - } - else - goto invalid_arg; - sprintf (xid, "%lld", node_id); - if (pt == NULL) - newpos = - sqlite3_mprintf ("Isolated Node %s moved to NULL location", xid); - else - newpos = - sqlite3_mprintf ("Isolated Node %s moved to location %f,%f", xid, - pt->X, pt->Y); - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaMoveIsoNetNode (accessor, node_id, pt); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (point != NULL) - gaiaFreeGeomColl (point); - point = NULL; - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - if (newpos != NULL) - sqlite3_free (newpos); - return; - } - sqlite3_result_text (context, newpos, strlen (newpos), sqlite3_free); - return; - - no_net: - if (newpos != NULL) - sqlite3_free (newpos); - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (newpos != NULL) - sqlite3_free (newpos); - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (newpos != NULL) - sqlite3_free (newpos); - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - invalid_geom: - if (newpos != NULL) - sqlite3_free (newpos); - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).", - -1); - return; - - spatial_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.", - -1); - return; - - logical_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Logical Network can't accept not null geometry.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_RemIsoNetNode (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_RemIsoNetNode ( text network-name, int node_id ) -/ -/ returns: TEXT (description of operation) -/ raises an exception on failure -*/ - char xid[80]; - char *newpos = NULL; - int ret; - const char *network_name; - sqlite3_int64 node_id; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - node_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - sprintf (xid, "%lld", node_id); - newpos = sqlite3_mprintf ("Isolated NetNode %s removed", xid); - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaRemIsoNetNode (accessor, node_id); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - if (newpos != NULL) - sqlite3_free (newpos); - return; - } - sqlite3_result_text (context, newpos, strlen (newpos), sqlite3_free); - return; - - no_net: - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_AddLink (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_AddLink ( text network-name, int start_node_id, int end_node_id, Geometry linestring ) -/ -/ returns: the ID of the inserted Link on success, 0 on failure -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - sqlite3_int64 start_node_id; - sqlite3_int64 end_node_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr line = NULL; - gaiaLinestringPtr ln = NULL; - int invalid = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - start_node_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - end_node_id = sqlite3_value_int64 (argv[2]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - { - if (net->spatial) - goto spatial_err; - } - else if (sqlite3_value_type (argv[3]) == SQLITE_BLOB) - { - if (net->spatial == 0) - goto logical_err; - p_blob = (unsigned char *) sqlite3_value_blob (argv[3]); - n_bytes = sqlite3_value_bytes (argv[3]); - -/* attempting to get a Linestring Geometry */ - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!line) - goto invalid_arg; - if (line->FirstPoint != NULL) - invalid = 1; - if (line->FirstPolygon != NULL) - invalid = 1; - if (line->FirstLinestring != line->LastLinestring - || line->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - if (!check_matching_srid_dims - (accessor, line->Srid, line->DimensionModel)) - goto invalid_geom; - ln = line->FirstLinestring; - } - else - goto invalid_arg; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaAddLink (accessor, start_node_id, end_node_id, ln); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (line != NULL) - gaiaFreeGeomColl (line); - line = NULL; - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - spatial_err: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.", - -1); - return; - - logical_err: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Logical Network can't accept not null geometry.", - -1); - return; - - invalid_geom: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ChangeLinkGeom (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ChangeLinkGeom ( text network-name, int link_id, Geometry linestring ) -/ -/ returns: TEXT (description of operation) -/ raises an exception on failure -*/ - char xid[80]; - char *newpos = NULL; - int ret; - const char *network_name; - sqlite3_int64 link_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr line = NULL; - gaiaLinestringPtr ln = NULL; - int invalid = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - { - if (net->spatial) - goto spatial_err; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - if (net->spatial == 0) - goto logical_err; - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - - /* attempting to get a Linestring Geometry */ - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!line) - goto invalid_arg; - if (line->FirstPoint != NULL) - invalid = 1; - if (line->FirstPolygon != NULL) - invalid = 1; - if (line->FirstLinestring != line->LastLinestring - || line->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - - if (!check_matching_srid_dims - (accessor, line->Srid, line->DimensionModel)) - goto invalid_geom; - ln = line->FirstLinestring; - } - else - goto invalid_arg; - sprintf (xid, "%lld", link_id); - newpos = sqlite3_mprintf ("Link %s changed", xid); - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaChangeLinkGeom (accessor, link_id, ln); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (line != NULL) - gaiaFreeGeomColl (line); - line = NULL; - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - if (newpos != NULL) - sqlite3_free (newpos); - return; - } - sqlite3_result_text (context, newpos, strlen (newpos), sqlite3_free); - return; - - no_net: - if (newpos != NULL) - sqlite3_free (newpos); - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (newpos != NULL) - sqlite3_free (newpos); - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (newpos != NULL) - sqlite3_free (newpos); - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - invalid_geom: - if (newpos != NULL) - sqlite3_free (newpos); - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).", - -1); - return; - - spatial_err: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.", - -1); - return; - - logical_err: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Logical Network can't accept not null geometry.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_RemoveLink (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_RemoveLink ( text network-name, int link_id ) -/ -/ returns: TEXT (description of operation) -/ raises an exception on failure -*/ - char xid[80]; - char *newpos = NULL; - int ret; - const char *network_name; - sqlite3_int64 link_id; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - sprintf (xid, "%lld", link_id); - newpos = sqlite3_mprintf ("Link %s removed", xid); - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaRemoveLink (accessor, link_id); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - if (newpos != NULL) - sqlite3_free (newpos); - return; - } - sqlite3_result_text (context, newpos, strlen (newpos), sqlite3_free); - return; - - no_net: - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_NewLogLinkSplit (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_NewLogLinkSplit ( text network-name, int link_id ) -/ -/ returns: the ID of the inserted Node on success -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - sqlite3_int64 link_id; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial) - goto spatial_err; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaNewLogLinkSplit (accessor, link_id); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - spatial_err: - sqlite3_result_error (context, - "SQL/MM Spatial exception - ST_NewLogLinkSplit can't support Spatial Network; try using ST_NewGeoLinkSplit.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ModLogLinkSplit (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ModLogLinkSplit ( text network-name, int link_id ) -/ -/ returns: the ID of the inserted Node on success -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - sqlite3_int64 link_id; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial) - goto spatial_err; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaModLogLinkSplit (accessor, link_id); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - spatial_err: - sqlite3_result_error (context, - "SQL/MM Spatial exception - ST_ModLogLinkSplit can't support Spatial Network; try using ST_ModGeoLinkSplit.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_NewGeoLinkSplit (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_NewGeoLinkSplit ( text network-name, int link_id, Geometry point ) -/ -/ returns: the ID of the inserted Node on success -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - sqlite3_int64 link_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - int invalid = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto spatial_err; - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - } - else - goto invalid_arg; - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - pt = point->FirstPoint; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaNewGeoLinkSplit (accessor, link_id, pt); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - invalid_geom: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).", - -1); - return; - - spatial_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.", - -1); - return; - - logical_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - ST_NewGeoLinkSplit can't support Logical Network; try using ST_NewLogLinkSplit.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ModGeoLinkSplit (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ModGeoLinkSplit ( text network-name, int link_id, Geometry point ) -/ -/ returns: the ID of the inserted Node on success -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - sqlite3_int64 link_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - int invalid = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto spatial_err; - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - } - else - goto invalid_arg; - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - pt = point->FirstPoint; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaModGeoLinkSplit (accessor, link_id, pt); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - invalid_geom: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).", - -1); - return; - - spatial_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.", - -1); - return; - - logical_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - ST_ModGeoLinkSplit can't support Logical Network; try using ST_ModLogLinkSplit.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_NewLinkHeal (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_NewLinkHeal ( text network-name, int link_id, int anotherlink_id ) -/ -/ returns: the ID of the removed Node on success -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - sqlite3_int64 link_id; - sqlite3_int64 anotherlink_id; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - anotherlink_id = sqlite3_value_int64 (argv[2]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaNewLinkHeal (accessor, link_id, anotherlink_id); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ModLinkHeal (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ModLinkHeal ( text network-name, int link_id ) -/ -/ returns: the ID of the removed Node on success -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - sqlite3_int64 link_id; - sqlite3_int64 anotherlink_id; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - anotherlink_id = sqlite3_value_int64 (argv[2]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaModLinkHeal (accessor, link_id, anotherlink_id); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; -} - -static int -check_empty_network (struct gaia_network *net) -{ -/* checking for an empty Network */ - char *sql; - char *table; - char *xtable; - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int already_populated = 0; - -/* testing NODE */ - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = - sqlite3_get_table (net->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - already_populated = 1; - } - sqlite3_free_table (results); - if (already_populated) - return 0; - -/* testing LINK */ - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = - sqlite3_get_table (net->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - already_populated = 1; - } - sqlite3_free_table (results); - if (already_populated) - return 0; - - return 1; -} - -static int -do_loginet_from_tgeo (struct gaia_network *net, struct gaia_topology *topo) -{ -/* populating a Logical Network starting from an existing Topology */ - char *table; - char *xtable1; - char *xtable2; - char *sql; - char *errMsg; - int ret; - -/* preparing the SQL statement - NODE */ - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("INSERT INTO \"%s\" (node_id, geometry) " - "SELECT node_id, NULL FROM MAIN.\"%s\"", xtable1, - xtable2); - free (xtable1); - free (xtable2); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_LogiNetFromTGeo() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return 0; - } - -/* preparing the SQL statement - LINK */ - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (link_id, start_node, end_node, geometry) " - "SELECT edge_id, start_node, end_node, NULL FROM MAIN.\"%s\"", xtable1, - xtable2); - free (xtable1); - free (xtable2); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_LogiNetFromTGeo() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return 0; - } - - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_LogiNetFromTGeo (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_LogiNetFromTGeo ( text network-name, text topology-name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - int ret; - const char *network_name; - const char *topo_name; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - GaiaTopologyAccessorPtr accessor2; - struct gaia_topology *topo; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial) - goto spatial_err; - if (!check_empty_network (net)) - goto non_empty; - -/* attempting to get a Topology Accessor */ - accessor2 = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor2 == NULL) - goto no_topo; - topo = (struct gaia_topology *) accessor2; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = do_loginet_from_tgeo (net, topo); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - spatial_err: - sqlite3_result_error (context, - "ST_LogiNetFromTGeo() cannot be applied to Spatial Network.", - -1); - return; - - non_empty: - sqlite3_result_error (context, - "SQL/MM Spatial exception - non-empty network.", -1); - return; - - no_topo: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid topology name.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; -} - -static int -check_matching_topo_net (struct gaia_network *net, struct gaia_topology *topo) -{ -/* checking for matching SRID and DIMs */ - if (net->srid != topo->srid) - return 0; - if (net->has_z != topo->has_z) - return 0; - return 1; -} - -static int -do_spatnet_from_tgeo (struct gaia_network *net, struct gaia_topology *topo) -{ -/* populating a Spatial Network starting from an existing Topology */ - char *table; - char *xtable1; - char *xtable2; - char *sql; - char *errMsg; - int ret; - -/* preparing the SQL statement - NODE */ - table = sqlite3_mprintf ("%s_node", net->network_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" (node_id, geometry) " - "SELECT node_id, geom FROM MAIN.\"%s\"", xtable1, - xtable2); - free (xtable1); - free (xtable2); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_SpatNetFromTGeo() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return 0; - } - -/* preparing the SQL statement - LINK */ - table = sqlite3_mprintf ("%s_link", net->network_name); - xtable1 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable2 = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (link_id, start_node, end_node, geometry) " - "SELECT edge_id, start_node, end_node, geom FROM MAIN.\"%s\"", xtable1, - xtable2); - free (xtable1); - free (xtable2); - ret = sqlite3_exec (net->db_handle, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("ST_SpatNetFromTGeo() error: \"%s\"", errMsg); - sqlite3_free (errMsg); - gaianet_set_last_error_msg ((GaiaNetworkAccessorPtr) net, msg); - sqlite3_free (msg); - return 0; - } - - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_SpatNetFromTGeo (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_SpatNetFromTGeo ( text network-name, text topology-name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - int ret; - const char *network_name; - const char *topo_name; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - GaiaTopologyAccessorPtr accessor2; - struct gaia_topology *topo; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - if (!check_empty_network (net)) - goto non_empty; - -/* attempting to get a Topology Accessor */ - accessor2 = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor2 == NULL) - goto no_topo; - topo = (struct gaia_topology *) accessor2; - if (!check_matching_topo_net (net, topo)) - goto mismatching; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = do_spatnet_from_tgeo (net, topo); - if (ret <= 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (ret <= 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - logical_err: - sqlite3_result_error (context, - "ST_SpatNetFromTGeo() cannot be applied to Logical Network.", - -1); - return; - - non_empty: - sqlite3_result_error (context, - "SQL/MM Spatial exception - non-empty network.", -1); - return; - - no_topo: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid topology name.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - mismatching: - sqlite3_result_error (context, - "SQL/MM Spatial exception - mismatching SRID or dimensions.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ValidLogicalNet (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ValidLogicalNet ( text network-name ) -/ -/ create/update a table containing an validation report for a given -/ Logical Network -/ -/ returns NULL on success -/ raises an exception on failure -*/ - const char *network_name; - int ret; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial) - goto spatial_err; - if (check_empty_network (net)) - goto empty; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaValidLogicalNet (accessor); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - spatial_err: - sqlite3_result_error (context, - "ST_ValidLogicalNet() cannot be applied to Spatial Network.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - empty: - sqlite3_result_error (context, - "SQL/MM Spatial exception - empty network.", -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ValidSpatialNet (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ValidSpatialNet ( text network-name ) -/ -/ create/update a table containing an validation report for a given -/ Spatial Network -/ -/ returns NULL on success -/ raises an exception on failure -*/ - const char *network_name; - int ret; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - if (check_empty_network (net)) - goto empty; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaValidSpatialNet (accessor); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - logical_err: - sqlite3_result_error (context, - "ST_ValidSpatialNet() cannot be applied to Logical Network.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - empty: - sqlite3_result_error (context, - "SQL/MM Spatial exception - empty network.", -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_SpatNetFromGeom (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_SpatNetFromGeom ( text network-name , blob geom-collection ) -/ -/ creates and populates an empty Network by importing a Geometry-collection -/ -/ returns NULL on success -/ raises an exception on failure -*/ - const char *network_name; - int ret; - const unsigned char *blob; - int blob_sz; - gaiaGeomCollPtr geom = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - blob = sqlite3_value_blob (argv[1]); - blob_sz = sqlite3_value_bytes (argv[1]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, gpkg_mode, - gpkg_amphibious); - } - else - goto invalid_arg; - if (geom == NULL) - goto not_geom; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - if (!check_empty_network (net)) - goto not_empty; - if (!check_matching_srid_dims (accessor, geom->Srid, geom->DimensionModel)) - goto invalid_geom; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = auxnet_insert_into_network (accessor, geom); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - gaiaFreeGeomColl (geom); - return; - - no_net: - if (geom != NULL) - gaiaFreeGeomColl (geom); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - logical_err: - sqlite3_result_error (context, - "ST_ValidSpatialNet() cannot be applied to Logical Network.", - -1); - return; - - null_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - not_empty: - if (geom != NULL) - gaiaFreeGeomColl (geom); - sqlite3_result_error (context, - "SQL/MM Spatial exception - non-empty network.", -1); - return; - - not_geom: - if (geom != NULL) - gaiaFreeGeomColl (geom); - sqlite3_result_error (context, - "SQL/MM Spatial exception - not a Geometry.", -1); - return; - - invalid_geom: - if (geom != NULL) - gaiaFreeGeomColl (geom); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid Geometry (mismatching SRID or dimensions).", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_GetNetNodeByPoint (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ GetNetNodeByPoint ( text network-name, Geometry point ) -/ GetNetNodeByPoint ( text network-name, Geometry point, double tolerance ) -/ -/ returns: the ID of some Node on success, 0 if no Node was found -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - double tolerance = 0.0; - int invalid = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[2]); - tolerance = t; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - pt = point->FirstPoint; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaGetNetNodeByPoint (accessor, pt, tolerance); - if (ret < 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (ret < 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - logical_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "GetNetNodekByPoint() cannot be applied to Logical Network.", - -1); - return; - - negative_tolerance: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - illegal negative tolerance.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_GetLinkByPoint (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ GetLinkByPoint ( text network-name, Geometry point ) -/ GetLinkByPoint ( text network-name, Geometry point, double tolerance ) -/ -/ returns: the ID of some Link on success -/ raises an exception on failure -*/ - sqlite3_int64 ret; - const char *network_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - double tolerance = 0; - int invalid = 0; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[2]); - tolerance = t; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - pt = point->FirstPoint; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaGetLinkByPoint (accessor, pt, tolerance); - if (ret < 0) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (ret < 0) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_net: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - logical_err: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "GetLinkByPoint() cannot be applied to Logical Network.", - -1); - return; - - negative_tolerance: - if (point != NULL) - gaiaFreeGeomColl (point); - sqlite3_result_error (context, - "SQL/MM Spatial exception - illegal negative tolerance.", - -1); - return; -} - -static int -check_matching_srid_dims_class (GaiaNetworkAccessorPtr accessor, int srid, - int dims, int linear) -{ -/* checking for matching SRID and DIMs */ - struct gaia_network *net = (struct gaia_network *) accessor; - if (net->srid != srid) - return 0; - if (!linear) - return 0; - if (net->has_z) - { - if (dims == GAIA_XY_Z || dims == GAIA_XY_Z_M) - ; - else - return 0; - } - else - { - if (dims == GAIA_XY_Z || dims == GAIA_XY_Z_M) - return 0; - } - return 1; -} - -static int -check_input_geonet_table (sqlite3 * sqlite, const char *db_prefix, - const char *table, const char *column, char **xtable, - char **xcolumn, int *srid, int *dims, int *linear) -{ -/* checking if an input GeoTable do really exist */ - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - char *sql; - char *xprefix; - int len; - int count = 0; - char *xx_table = NULL; - char *xx_column = NULL; - char *ztable; - int xtype; - int xdims; - int xsrid; - - *xtable = NULL; - *xcolumn = NULL; - *srid = -1; - *dims = GAIA_XY; - *linear = 1; - -/* querying GEOMETRY_COLUMNS */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - if (column == NULL) - sql = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column, geometry_type, srid " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q)", - xprefix, table); - else - sql = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column, geometry_type, srid " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q) AND " - "Lower(f_geometry_column) = Lower(%Q)", xprefix, table, column); - free (xprefix); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - const char *table_name = results[(i * columns) + 0]; - const char *column_name = results[(i * columns) + 1]; - xtype = atoi (results[(i * columns) + 2]); - xsrid = atoi (results[(i * columns) + 3]); - len = strlen (table_name); - if (xx_table != NULL) - free (xx_table); - xx_table = malloc (len + 1); - strcpy (xx_table, table_name); - len = strlen (column_name); - if (xx_column != NULL) - free (xx_column); - xx_column = malloc (len + 1); - strcpy (xx_column, column_name); - count++; - } - sqlite3_free_table (results); - - if (count != 1) - { - if (xx_table != NULL) - free (xx_table); - if (xx_column != NULL) - free (xx_column); - return 0; - } - -/* testing if the GeoTable do really exist */ - count = 0; - xprefix = gaiaDoubleQuotedSql (db_prefix); - ztable = gaiaDoubleQuotedSql (xx_table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, ztable); - free (xprefix); - free (ztable); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - const char *column_name = results[(i * columns) + 1]; - if (strcasecmp (column_name, xx_column) == 0) - count++; - } - sqlite3_free_table (results); - - if (count != 1) - { - if (xx_table != NULL) - free (xx_table); - if (xx_column != NULL) - free (xx_column); - return 0; - } - - switch (xtype) - { - case 2: - case 5: - xdims = GAIA_XY; - break; - case 1002: - case 1005: - xdims = GAIA_XY_Z; - break; - case 2002: - case 2005: - xdims = GAIA_XY_M; - break; - case 3002: - case 3005: - xdims = GAIA_XY_Z_M; - break; - default: - *linear = 0; - break; - }; - *xtable = xx_table; - *xcolumn = xx_column; - *srid = xsrid; - *dims = xdims; - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoNet_FromGeoTable (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoNet_FromGeoTable ( text network-name, text db-prefix, text table, -/ text column ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - int ret; - const char *network_name; - const char *db_prefix; - const char *table; - const char *column; - char *xtable = NULL; - char *xcolumn = NULL; - int srid; - int dims; - int linear; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - -/* checking the input GeoTable */ - if (!check_input_geonet_table - (sqlite, db_prefix, table, column, &xtable, &xcolumn, &srid, &dims, - &linear)) - goto no_input; - if (!check_matching_srid_dims_class (accessor, srid, dims, linear)) - goto invalid_geom; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaTopoNet_FromGeoTable (accessor, db_prefix, xtable, xcolumn); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - free (xtable); - free (xcolumn); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_net: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - no_input: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid input GeoTable.", - -1); - return; - - null_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - invalid_geom: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID, dimensions or class).", - -1); - return; - - logical_err: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - sqlite3_result_error (context, - "FromGeoTable() cannot be applied to Logical Network.", - -1); - return; -} - -static int -check_reference_geonet_table (sqlite3 * sqlite, const char *db_prefix, - const char *table, const char *column, - char **xtable, char **xcolumn, int *srid, - int *linear) -{ - int dims; - return check_input_geonet_table (sqlite, db_prefix, table, column, xtable, - xcolumn, srid, &dims, linear); -} - -static int -check_matching_srid_class (GaiaNetworkAccessorPtr accessor, int srid, - int linear) -{ -/* checking for matching SRID */ - struct gaia_network *net = (struct gaia_network *) accessor; - if (net->srid != srid) - return 0; - if (!linear) - return 0; - return 1; -} - -static int -check_output_geonet_table (sqlite3 * sqlite, const char *table) -{ -/* checking if an output GeoTable do already exist */ - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - char *sql; - int count = 0; - char *ztable; - -/* querying GEOMETRY_COLUMNS */ - sql = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column " - "FROM MAIN.geometry_columns WHERE Lower(f_table_name) = Lower(%Q)", - table); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - count++; - sqlite3_free_table (results); - - if (count != 0) - return 0; - -/* testing if the Table already exist */ - count = 0; - ztable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA MAIN.table_info(\"%s\")", ztable); - free (ztable); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - count++; - sqlite3_free_table (results); - - if (count != 0) - return 0; - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoNet_ToGeoTable (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoNet_ToGeoTable ( text network-name, text db-prefix, text ref_table, -/ text ref_column, text out_table ) -/ TopoNet_ToGeoTable ( text network-name, text db-prefix, text ref_table, -/ text ref_column, text out_table, int with_spatial_index ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - int ret; - const char *network_name; - const char *db_prefix; - const char *ref_table; - const char *ref_column; - const char *out_table; - int with_spatial_index = 0; - char *xreftable = NULL; - char *xrefcolumn = NULL; - int srid; - int linear; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - ref_table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - ref_column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - ref_column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - out_table = (const char *) sqlite3_value_text (argv[4]); - else - goto invalid_arg; - if (argc >= 6) - { - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - with_spatial_index = sqlite3_value_int (argv[5]); - else - goto invalid_arg; - } - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - -/* checking the reference GeoTable */ - if (!check_reference_geonet_table - (sqlite, db_prefix, ref_table, ref_column, &xreftable, &xrefcolumn, - &srid, &linear)) - goto no_reference; - if (!check_matching_srid_class (accessor, srid, linear)) - goto invalid_geom; - -/* checking the output GeoTable */ - if (!check_output_geonet_table (sqlite, out_table)) - goto err_output; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = - gaiaTopoNet_ToGeoTable (accessor, db_prefix, xreftable, xrefcolumn, - out_table, with_spatial_index); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_net: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - no_reference: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "TopoNet_ToGeoTable: invalid reference GeoTable.", - -1); - return; - - err_output: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "TopoNet_ToGeoTable: output GeoTable already exists.", - -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - invalid_geom: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID or class).", - -1); - return; - - logical_err: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "TopoNet_ToGeoTable() cannot be applied to Logical Network.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoNet_ToGeoTableGeneralize (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoNet_ToGeoTableGeneralize ( text network-name, text db-prefix, -/ text ref_table, text ref_column, -/ text out_table, int tolerance, -/ int with_spatial_index ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - int ret; - const char *network_name; - const char *db_prefix; - const char *ref_table; - const char *ref_column; - const char *out_table; - double tolerance = 0.0; - int with_spatial_index = 0; - char *xreftable = NULL; - char *xrefcolumn = NULL; - int srid; - int linear; - GaiaNetworkAccessorPtr accessor; - struct gaia_network *net; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - ref_table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - ref_column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - ref_column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - out_table = (const char *) sqlite3_value_text (argv[4]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[5]); - tolerance = val; - } - else if (sqlite3_value_type (argv[5]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[5]); - else - goto invalid_arg; - if (argc >= 7) - { - if (sqlite3_value_type (argv[6]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - with_spatial_index = sqlite3_value_int (argv[6]); - else - goto invalid_arg; - } - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - -/* checking the reference GeoTable */ - if (!check_reference_geonet_table - (sqlite, db_prefix, ref_table, ref_column, &xreftable, &xrefcolumn, - &srid, &linear)) - goto no_reference; - if (!check_matching_srid_class (accessor, srid, linear)) - goto invalid_geom; - -/* checking the output GeoTable */ - if (!check_output_geonet_table (sqlite, out_table)) - goto err_output; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = - gaiaTopoNet_ToGeoTableGeneralize (accessor, db_prefix, xreftable, - xrefcolumn, out_table, tolerance, - with_spatial_index); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_net: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - no_reference: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "TopoNet_ToGeoTableGeneralize: invalid reference GeoTable.", - -1); - return; - - err_output: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "TopoNet_ToGeoTableGeneralize: output GeoTable already exists.", - -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - invalid_geom: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID or class).", - -1); - return; - - logical_err: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - sqlite3_result_error (context, - "TopoNet_ToGeoTableGeneralize() cannot be applied to Logical Network.", - -1); - return; -} - -static int -do_clone_netnode (const char *db_prefix, const char *in_network, - struct gaia_network *net_out) -{ -/* cloning NODE */ - char *sql; - char *table; - char *xprefix; - char *xtable; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - int ret; - -/* preparing the input SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - table = sqlite3_mprintf ("%s_node", in_network); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT node_id, geometry FROM \"%s\".\"%s\"", xprefix, - xtable); - free (xprefix); - free (xtable); - ret = - sqlite3_prepare_v2 (net_out->db_handle, sql, strlen (sql), &stmt_in, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM \"node\" error: \"%s\"", - sqlite3_errmsg (net_out->db_handle)); - goto error; - } - -/* preparing the output SQL statement */ - table = sqlite3_mprintf ("%s_node", net_out->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("INSERT INTO MAIN.\"%s\" (node_id, geometry) " - "VALUES (?, ?)", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (net_out->db_handle, sql, strlen (sql), &stmt_out, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("INSERT INTO \"node\" error: \"%s\"", - sqlite3_errmsg (net_out->db_handle)); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - if (sqlite3_column_type (stmt_in, 0) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 1, - sqlite3_column_int64 (stmt_in, 0)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 1) == SQLITE_NULL) - sqlite3_bind_null (stmt_out, 2); - else if (sqlite3_column_type (stmt_in, 1) == SQLITE_BLOB) - sqlite3_bind_blob (stmt_out, 2, - sqlite3_column_blob (stmt_in, 1), - sqlite3_column_bytes (stmt_in, 1), - SQLITE_STATIC); - else - goto invalid_value; - /* inserting into the output table */ - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("INSERT INTO \"node\" step error: \"%s\"", - sqlite3_errmsg (net_out->db_handle)); - goto error; - } - } - else - { - spatialite_e ("SELECT FROM \"node\" step error: %s", - sqlite3_errmsg (net_out->db_handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - invalid_value: - spatialite_e ("SELECT FROM \"node\": found an invalid value"); - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -static int -do_clone_link (const char *db_prefix, const char *in_network, - struct gaia_network *net_out) -{ -/* cloning LINK */ - char *sql; - char *table; - char *xprefix; - char *xtable; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - int ret; - -/* preparing the input SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - table = sqlite3_mprintf ("%s_link", in_network); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT link_id, start_node, end_node, geometry FROM \"%s\".\"%s\"", - xprefix, xtable); - free (xprefix); - free (xtable); - ret = - sqlite3_prepare_v2 (net_out->db_handle, sql, strlen (sql), &stmt_in, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM \"link\" error: \"%s\"", - sqlite3_errmsg (net_out->db_handle)); - goto error; - } - -/* preparing the output SQL statement */ - table = sqlite3_mprintf ("%s_link", net_out->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (link_id, start_node, end_node, " - "geometry) VALUES (?, ?, ?, ?)", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (net_out->db_handle, sql, strlen (sql), &stmt_out, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("INSERT INTO \"link\" error: \"%s\"", - sqlite3_errmsg (net_out->db_handle)); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - if (sqlite3_column_type (stmt_in, 0) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 1, - sqlite3_column_int64 (stmt_in, 0)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 1) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 2, - sqlite3_column_int64 (stmt_in, 1)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 2) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 3, - sqlite3_column_int64 (stmt_in, 2)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 3) == SQLITE_NULL) - sqlite3_bind_null (stmt_out, 4); - else if (sqlite3_column_type (stmt_in, 3) == SQLITE_BLOB) - sqlite3_bind_blob (stmt_out, 4, - sqlite3_column_blob (stmt_in, 3), - sqlite3_column_bytes (stmt_in, 3), - SQLITE_STATIC); - else - goto invalid_value; - /* inserting into the output table */ - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("INSERT INTO \"link\" step error: \"%s\"", - sqlite3_errmsg (net_out->db_handle)); - goto error; - } - } - else - { - spatialite_e ("SELECT FROM \"link\" step error: %s", - sqlite3_errmsg (net_out->db_handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - invalid_value: - spatialite_e ("SELECT FROM \"link\": found an invalid value"); - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -static int -do_clone_network (const char *db_prefix, const char *in_network, - GaiaNetworkAccessorPtr accessor) -{ -/* cloning a full Network */ - struct gaia_network *net_out = (struct gaia_network *) accessor; - -/* cloning NODE */ - if (!do_clone_netnode (db_prefix, in_network, net_out)) - return 0; - -/* cloning LINK */ - if (!do_clone_link (db_prefix, in_network, net_out)) - return 0; - - return 1; -} - -static char * -gaiaGetAttachedNetwork (sqlite3 * handle, const char *db_prefix, - const char *network_name, int *spatial, int *srid, - int *has_z, int *allow_coincident) -{ -/* attempting to retrieve the Input Network for TopoNet_Clone */ - char *sql; - int ret; - sqlite3_stmt *stmt = NULL; - int ok = 0; - char *xprefix; - char *xnetwork_name = NULL; - int xspatial; - int xsrid; - int xhas_z; - int xallow_coincident; - -/* preparing the SQL query */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - sql = - sqlite3_mprintf - ("SELECT network_name, spatial, srid, has_z, allow_coincident " - "FROM \"%s\".networks WHERE Lower(network_name) = Lower(%Q)", xprefix, - network_name); - free (xprefix); - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM networks error: \"%s\"\n", - sqlite3_errmsg (handle)); - return NULL; - } - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int ok_name = 0; - int ok_srid = 0; - int ok_z = 0; - int ok_spatial = 0; - int ok_allow_coincident = 0; - if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT) - { - const char *str = - (const char *) sqlite3_column_text (stmt, 0); - if (xnetwork_name != NULL) - free (xnetwork_name); - xnetwork_name = malloc (strlen (str) + 1); - strcpy (xnetwork_name, str); - ok_name = 1; - } - if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER) - { - xspatial = sqlite3_column_int (stmt, 1); - ok_spatial = 1; - } - if (sqlite3_column_type (stmt, 2) == SQLITE_INTEGER) - { - xsrid = sqlite3_column_int (stmt, 2); - ok_srid = 1; - } - if (sqlite3_column_type (stmt, 3) == SQLITE_INTEGER) - { - xhas_z = sqlite3_column_int (stmt, 3); - ok_z = 1; - } - if (sqlite3_column_type (stmt, 4) == SQLITE_INTEGER) - { - xallow_coincident = sqlite3_column_int (stmt, 4); - ok_allow_coincident = 1; - } - if (ok_name && ok_spatial && ok_srid && ok_z - && ok_allow_coincident) - { - ok = 1; - break; - } - } - else - { - spatialite_e - ("step: SELECT FROM networks error: \"%s\"\n", - sqlite3_errmsg (handle)); - sqlite3_finalize (stmt); - return NULL; - } - } - sqlite3_finalize (stmt); - - if (ok) - { - *spatial = xspatial; - *srid = xsrid; - *has_z = xhas_z; - *allow_coincident = xallow_coincident; - return xnetwork_name; - } - - if (xnetwork_name != NULL) - free (xnetwork_name); - return NULL; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoNet_Clone (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoNet_Clone ( text db-prefix, text in-network-name, text out-network-name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - int ret; - const char *db_prefix = "MAIN"; - const char *in_network_name; - const char *out_network_name; - char *input_network_name = NULL; - int spatial; - int srid; - int has_z; - int allow_coincident; - GaiaNetworkAccessorPtr accessor; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - in_network_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - out_network_name = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - -/* checking the origin Network */ - input_network_name = - gaiaGetAttachedNetwork (sqlite, db_prefix, in_network_name, &spatial, - &srid, &has_z, &allow_coincident); - if (input_network_name == NULL) - goto no_net; - -/* attempting to create the destination Network */ - start_net_savepoint (sqlite, cache); - ret = - gaiaNetworkCreate (sqlite, out_network_name, spatial, srid, - has_z, allow_coincident); - if (!ret) - { - rollback_net_savepoint (sqlite, cache); - goto no_net2; - } - -/* attempting to get a Network Accessor (destination) */ - accessor = gaiaGetNetwork (sqlite, cache, out_network_name); - if (accessor == NULL) - { - rollback_net_savepoint (sqlite, cache); - goto no_net2; - } - -/* cloning Network */ - ret = do_clone_network (db_prefix, input_network_name, accessor); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (!ret) - { - sqlite3_result_error (context, "Clone Network failure", -1); - return; - } - sqlite3_result_int (context, 1); - free (input_network_name); - return; - - no_net: - if (input_network_name != NULL) - free (input_network_name); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name (origin).", - -1); - return; - - no_net2: - if (input_network_name != NULL) - free (input_network_name); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name (destination).", - -1); - return; - - null_arg: - if (input_network_name != NULL) - free (input_network_name); - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - if (input_network_name != NULL) - free (input_network_name); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoNet_GetLinkSeed (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoNet_GetLinkSeed ( text network-name, int link_id ) -/ -/ returns: a Point (seed) identifying the Link -/ raises an exception on failure -*/ - const char *network_name; - sqlite3_int64 link_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr geom; - GaiaNetworkAccessorPtr accessor; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - struct gaia_network *net; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - link_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - - gaianet_reset_last_error_msg (accessor); - geom = gaiaGetLinkSeed (accessor, link_id); - if (geom == NULL) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - if (msg != NULL) - { - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - } - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - if (p_blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, p_blob, n_bytes, free); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - logical_err: - sqlite3_result_error (context, - "TopoNet_GetLinkSeed() cannot be applied to Logical Network.", - -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoNet_UpdateSeeds (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoNet_UpdateSeeds ( text network-name ) -/ TopoNet_UpdateSeeds ( text network-name, int incremental_mode ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *network_name; - int incremental_mode = 1; - int ret; - GaiaNetworkAccessorPtr accessor; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - struct gaia_network *net; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - network_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - incremental_mode = sqlite3_value_int (argv[1]); - else - goto invalid_arg; - } - -/* attempting to get a Network Accessor */ - accessor = gaiaGetNetwork (sqlite, cache, network_name); - if (accessor == NULL) - goto no_net; - net = (struct gaia_network *) accessor; - if (net->spatial == 0) - goto logical_err; - - gaianet_reset_last_error_msg (accessor); - start_net_savepoint (sqlite, cache); - ret = gaiaTopoNetUpdateSeeds (accessor, incremental_mode); - if (!ret) - rollback_net_savepoint (sqlite, cache); - else - release_net_savepoint (sqlite, cache); - if (!ret) - { - const char *msg = lwn_GetErrorMsg (net->lwn_iface); - if (msg != NULL) - { - gaianet_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - } - sqlite3_result_int (context, 1); - return; - - no_net: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid network name.", - -1); - return; - - null_arg: - sqlite3_result_error (context, "SQL/MM Spatial exception - null argument.", - -1); - return; - - invalid_arg: - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid argument.", -1); - return; - - logical_err: - sqlite3_result_error (context, - "TopoNet_UpdateSeeds() cannot be applied to Logical Network.", - -1); - return; -} - -#endif /* end RTTOPO conditionals */ DELETED src/topology/gaia_topology.c Index: src/topology/gaia_topology.c ================================================================== --- src/topology/gaia_topology.c +++ src/topology/gaia_topology.c @@ -1,8649 +0,0 @@ -/* - - gaia_topology.c -- implementation of Topology SQL functions - - version 4.3, 2015 July 15 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/* - -CREDITS: - -this module has been completely funded by: -Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale -(Topology support) - -CIG: 6038019AE5 - -UPDATE: supporting the new RTTOTPO 1.1 API was funded by Regione Toscana -CIG: 644544015A Linea A - -*/ - -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include "topology_private.h" - -#ifdef _WIN32 -#define strcasecmp _stricmp -#endif /* not WIN32 */ - -#define GAIA_UNUSED() if (argc || argv) argc = argc; - -struct pk_item -{ -/* an helper struct for a primary key column */ - char *name; - char *type; - int notnull; - int pk; - struct pk_item *next; -}; - -struct pk_struct -{ -/* an helper struct for cloning dustbin primary keys */ - struct pk_item *first; - struct pk_item *last; - int count; -}; - -static struct pk_struct * -create_pk_dictionary (void) -{ -/* creating an empty PK dictionary */ - struct pk_struct *pk = malloc (sizeof (struct pk_struct)); - pk->first = NULL; - pk->last = NULL; - pk->count = 0; - return pk; -} - -static void -free_pk_dictionary (struct pk_struct *pk) -{ -/* memory cleanup - freeing a PK dictionary */ - struct pk_item *pI; - struct pk_item *pIn; - if (pk == NULL) - return; - pI = pk->first; - while (pI != NULL) - { - pIn = pI->next; - if (pI->name != NULL) - free (pI->name); - if (pI->type != NULL) - free (pI->type); - free (pI); - pI = pIn; - } - free (pk); -} - -static void -add_pk_column (struct pk_struct *pk, const char *name, const char *type, - int notnull, int pk_pos) -{ -/* adding a PK column into a dictionary */ - int len; - struct pk_item *pI; - if (pk == NULL) - return; - if (name == NULL || type == NULL) - return; - pI = malloc (sizeof (struct pk_item)); - len = strlen (name); - pI->name = malloc (len + 1); - strcpy (pI->name, name); - len = strlen (type); - pI->type = malloc (len + 1); - strcpy (pI->type, type); - pI->notnull = notnull; - pI->pk = pk_pos; - pI->next = NULL; -/* inserting into the PK dictionary linked list */ - if (pk->first == NULL) - pk->first = pI; - if (pk->last != NULL) - pk->last->next = pI; - pk->last = pI; - pk->count += 1; -} - -static struct splite_savepoint * -push_topo_savepoint (struct splite_internal_cache *cache) -{ -/* adding a new SavePoint to the Topology stack */ - struct splite_savepoint *p_svpt = malloc (sizeof (struct splite_savepoint)); - p_svpt->savepoint_name = NULL; - p_svpt->prev = cache->last_topo_svpt; - p_svpt->next = NULL; - if (cache->first_topo_svpt == NULL) - cache->first_topo_svpt = p_svpt; - if (cache->last_topo_svpt != NULL) - cache->last_topo_svpt->next = p_svpt; - cache->last_topo_svpt = p_svpt; - return p_svpt; -} - -static void -pop_topo_savepoint (struct splite_internal_cache *cache) -{ -/* removing a SavePoint from the Topology stack */ - struct splite_savepoint *p_svpt = cache->last_topo_svpt; - if (p_svpt->prev != NULL) - p_svpt->prev->next = NULL; - cache->last_topo_svpt = p_svpt->prev; - if (cache->first_topo_svpt == p_svpt) - cache->first_topo_svpt = NULL; - if (p_svpt->savepoint_name != NULL) - sqlite3_free (p_svpt->savepoint_name); - free (p_svpt); -} - -SPATIALITE_PRIVATE void -start_topo_savepoint (const void *handle, const void *data) -{ -/* starting a new SAVEPOINT */ - char *sql; - int ret; - char *err_msg; - struct splite_savepoint *p_svpt; - sqlite3 *sqlite = (sqlite3 *) handle; - struct splite_internal_cache *cache = (struct splite_internal_cache *) data; - if (sqlite == NULL || cache == NULL) - return; - -/* creating an unique SavePoint name */ - p_svpt = push_topo_savepoint (cache); - p_svpt->savepoint_name = - sqlite3_mprintf ("toposvpt%04x", cache->next_topo_savepoint); - if (cache->next_topo_savepoint >= 0xffffffffu) - cache->next_topo_savepoint = 0; - else - cache->next_topo_savepoint += 1; - -/* starting a SavePoint */ - sql = sqlite3_mprintf ("SAVEPOINT %s", p_svpt->savepoint_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("%s - error: %s\n", sql, err_msg); - sqlite3_free (err_msg); - } - sqlite3_free (sql); -} - -SPATIALITE_PRIVATE void -release_topo_savepoint (const void *handle, const void *data) -{ -/* releasing the current SAVEPOINT (if any) */ - char *sql; - int ret; - char *err_msg; - struct splite_savepoint *p_svpt; - sqlite3 *sqlite = (sqlite3 *) handle; - struct splite_internal_cache *cache = (struct splite_internal_cache *) data; - if (sqlite == NULL || cache == NULL) - return; - p_svpt = cache->last_topo_svpt; - if (p_svpt == NULL) - return; - if (p_svpt->savepoint_name == NULL) - return; - -/* releasing the current SavePoint */ - sql = sqlite3_mprintf ("RELEASE SAVEPOINT %s", p_svpt->savepoint_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("%s - error: %s\n", sql, err_msg); - sqlite3_free (err_msg); - } - sqlite3_free (sql); - pop_topo_savepoint (cache); -} - -SPATIALITE_PRIVATE void -rollback_topo_savepoint (const void *handle, const void *data) -{ -/* rolling back the current SAVEPOINT (if any) */ - char *sql; - int ret; - char *err_msg; - struct splite_savepoint *p_svpt; - sqlite3 *sqlite = (sqlite3 *) handle; - struct splite_internal_cache *cache = (struct splite_internal_cache *) data; - if (sqlite == NULL || cache == NULL) - return; - p_svpt = cache->last_topo_svpt; - if (p_svpt == NULL) - return; - if (p_svpt->savepoint_name == NULL) - return; - -/* rolling back the current SavePoint */ - sql = sqlite3_mprintf ("ROLLBACK TO SAVEPOINT %s", p_svpt->savepoint_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("%s - error: %s\n", sql, err_msg); - sqlite3_free (err_msg); - } - sqlite3_free (sql); -/* releasing the current SavePoint */ - sql = sqlite3_mprintf ("RELEASE SAVEPOINT %s", p_svpt->savepoint_name); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - spatialite_e ("%s - error: %s\n", sql, err_msg); - sqlite3_free (err_msg); - } - sqlite3_free (sql); - pop_topo_savepoint (cache); -} - -SPATIALITE_PRIVATE void -fnctaux_GetLastTopologyException (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ GetLastTopologyException ( text topology-name ) -/ -/ returns: the more recent exception raised by given Topology -/ NULL on invalid args (or when there is no pending exception) -*/ - const char *topo_name; - GaiaTopologyAccessorPtr accessor; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - { - sqlite3_result_null (context); - return; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - { - sqlite3_result_null (context); - return; - } - - sqlite3_result_text (context, gaiatopo_get_last_exception (accessor), -1, - SQLITE_STATIC); -} - -SPATIALITE_PRIVATE void -fnctaux_CreateTopology (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_InitTopoGeo ( text topology-name ) -/ CreateTopology ( text topology-name ) -/ CreateTopology ( text topology-name, int srid ) -/ CreateTopology ( text topology-name, int srid, bool hasZ ) -/ CreateTopology ( text topology-name, int srid, bool hasZ, -/ double tolerance ) -/ -/ returns: 1 on success, 0 on failure -/ -1 on invalid args -/ excèption on NEGATIVE tolerance -*/ - const char *msg; - int ret; - const char *topo_name; - int srid = -1; - int has_z = 0; - double tolerance = 0.0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - { - sqlite3_result_int (context, -1); - return; - } - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - srid = sqlite3_value_int (argv[1]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - has_z = sqlite3_value_int (argv[2]); - else - { - sqlite3_result_int (context, -1); - return; - } - } - if (argc >= 4) - { - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[3]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[3]); - else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - { - int tol = sqlite3_value_int (argv[3]); - tolerance = tol; - } - else - { - sqlite3_result_int (context, -1); - return; - } - } - -/* raising an exception on NEGATIVE tolerance */ - if (tolerance < 0.0) - goto negative_tolerance; - - start_topo_savepoint (sqlite, cache); - ret = gaiaTopologyCreate (sqlite, topo_name, srid, tolerance, has_z); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - sqlite3_result_int (context, ret); - return; - - negative_tolerance: - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_DropTopology (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ DropTopology ( text topology-name ) -/ -/ returns: 1 on success, 0 on failure -/ -1 on invalid args -*/ - int ret; - const char *topo_name; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GaiaTopologyAccessorPtr accessor; - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - { - sqlite3_result_int (context, -1); - return; - } - - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor != NULL) - gaiaTopologyDestroy (accessor); - - start_topo_savepoint (sqlite, cache); - ret = gaiaTopologyDrop (sqlite, topo_name); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - sqlite3_result_int (context, ret); -} - -static int -check_matching_srid_dims (GaiaTopologyAccessorPtr accessor, int srid, int dims) -{ -/* checking for matching SRID and DIMs */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo->srid != srid) - return 0; - if (topo->has_z) - { - if (dims == GAIA_XY_Z || dims == GAIA_XY_Z_M) - ; - else - return 0; - } - else - { - if (dims == GAIA_XY_Z || dims == GAIA_XY_Z_M) - return 0; - } - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_AddIsoNode (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_AddIsoNode ( text topology-name, int face_id, Geometry point ) -/ -/ returns: the ID of the inserted Node on success -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 face_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - face_id = -1; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - face_id = sqlite3_value_int64 (argv[1]); - if (face_id <= 0) - face_id = -1; - } - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - } - else - goto invalid_arg; - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - pt = point->FirstPoint; - - start_topo_savepoint (sqlite, cache); - ret = gaiaAddIsoNode (accessor, face_id, pt, 0); - if (ret <= 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (ret <= 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_topo: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_MoveIsoNode (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_MoveIsoNode ( text topology-name, int node_id, Geometry point ) -/ -/ returns: TEXT (description of new location) -/ raises an exception on failure -*/ - const char *msg; - char xid[80]; - char *newpos = NULL; - int ret; - const char *topo_name; - sqlite3_int64 node_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - node_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - } - else - goto invalid_arg; - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - pt = point->FirstPoint; - sprintf (xid, "%lld", node_id); - newpos = - sqlite3_mprintf ("Isolated Node %s moved to location %f,%f", xid, pt->X, - pt->Y); - - start_topo_savepoint (sqlite, cache); - ret = gaiaMoveIsoNode (accessor, node_id, pt); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_text (context, newpos, strlen (newpos), sqlite3_free); - return; - - no_topo: - if (newpos != NULL) - sqlite3_free (newpos); - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (newpos != NULL) - sqlite3_free (newpos); - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (newpos != NULL) - sqlite3_free (newpos); - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (newpos != NULL) - sqlite3_free (newpos); - if (point != NULL) - gaiaFreeGeomColl (point); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_RemIsoNode (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_RemIsoNode ( text topology-name, int node_id ) -/ -/ returns: TEXT (description of operation) -/ raises an exception on failure -*/ - const char *msg; - char xid[80]; - char *newpos = NULL; - int ret; - const char *topo_name; - sqlite3_int64 node_id; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - node_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - sprintf (xid, "%lld", node_id); - newpos = sqlite3_mprintf ("Isolated Node %s removed", xid); - - start_topo_savepoint (sqlite, cache); - ret = gaiaRemIsoNode (accessor, node_id); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_text (context, newpos, strlen (newpos), sqlite3_free); - return; - - no_topo: - if (newpos != NULL) - sqlite3_free (newpos); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (newpos != NULL) - sqlite3_free (newpos); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (newpos != NULL) - sqlite3_free (newpos); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_AddIsoEdge (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_AddIsoEdge ( text topology-name, int start_node_id, int end_node_id, Geometry linestring ) -/ -/ returns: the ID of the inserted Edge on success, 0 on failure -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - sqlite3_int64 start_node_id; - sqlite3_int64 end_node_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr line = NULL; - gaiaLinestringPtr ln; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - start_node_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - end_node_id = sqlite3_value_int64 (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[3]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[3]); - n_bytes = sqlite3_value_bytes (argv[3]); - } - else - goto invalid_arg; - -/* attempting to get a Linestring Geometry */ - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!line) - goto invalid_arg; - if (line->FirstPoint != NULL) - invalid = 1; - if (line->FirstPolygon != NULL) - invalid = 1; - if (line->FirstLinestring != line->LastLinestring - || line->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims (accessor, line->Srid, line->DimensionModel)) - goto invalid_geom; - ln = line->FirstLinestring; - - start_topo_savepoint (sqlite, cache); - ret = gaiaAddIsoEdge (accessor, start_node_id, end_node_id, ln); - if (ret <= 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (line); - line = NULL; - if (ret <= 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, ret); - return; - - no_topo: - if (line != NULL) - gaiaFreeGeomColl (line); - sqlite3_result_error (context, - "SQL/MM Spatial exception - invalid topology name.", - -1); - return; - - null_arg: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_RemIsoEdge (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_RemIsoEdge ( text topology-name, int edfe_id ) -/ -/ returns: TEXT (description of operation) -/ raises an exception on failure -*/ - const char *msg; - char xid[80]; - char *newpos = NULL; - int ret; - const char *topo_name; - sqlite3_int64 edge_id; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - sprintf (xid, "%lld", edge_id); - newpos = sqlite3_mprintf ("Isolated Edge %s removed", xid); - - start_topo_savepoint (sqlite, cache); - ret = gaiaRemIsoEdge (accessor, edge_id); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_text (context, newpos, strlen (newpos), sqlite3_free); - return; - - no_topo: - if (newpos != NULL) - sqlite3_free (newpos); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (newpos != NULL) - sqlite3_free (newpos); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (newpos != NULL) - sqlite3_free (newpos); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_RemEdgeModFace (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_RemEdgeModFace ( text topology-name, int edge_id ) -/ -/ returns: ID of the Face that takes up the space previously occupied by the removed edge -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 edge_id; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - - start_topo_savepoint (sqlite, cache); - ret = gaiaRemEdgeModFace (accessor, edge_id); - if (ret < 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (ret < 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_RemEdgeNewFace (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_RemEdgeNewFace ( text topology-name, int edge_id ) -/ -/ returns: ID of the created Face -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 edge_id; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - - start_topo_savepoint (sqlite, cache); - ret = gaiaRemEdgeNewFace (accessor, edge_id); - if (ret < 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (ret < 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ChangeEdgeGeom (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ChangeEdgeGeom ( text topology-name, int edge_id, Geometry linestring ) -/ -/ returns: TEXT (description of operation) -/ raises an exception on failure -*/ - const char *msg; - char xid[80]; - char *newpos = NULL; - int ret; - const char *topo_name; - sqlite3_int64 edge_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr line = NULL; - gaiaLinestringPtr ln; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - } - else - goto invalid_arg; - -/* attempting to get a Linestring Geometry */ - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!line) - goto invalid_arg; - if (line->FirstPoint != NULL) - invalid = 1; - if (line->FirstPolygon != NULL) - invalid = 1; - if (line->FirstLinestring != line->LastLinestring - || line->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims (accessor, line->Srid, line->DimensionModel)) - goto invalid_geom; - ln = line->FirstLinestring; - sprintf (xid, "%lld", edge_id); - newpos = sqlite3_mprintf ("Edge %s changed", xid); - - start_topo_savepoint (sqlite, cache); - ret = gaiaChangeEdgeGeom (accessor, edge_id, ln); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (line); - line = NULL; - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - if (newpos != NULL) - sqlite3_free (newpos); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_text (context, newpos, strlen (newpos), sqlite3_free); - return; - - no_topo: - if (newpos != NULL) - sqlite3_free (newpos); - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (newpos != NULL) - sqlite3_free (newpos); - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (newpos != NULL) - sqlite3_free (newpos); - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (newpos != NULL) - sqlite3_free (newpos); - if (line != NULL) - gaiaFreeGeomColl (line); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ModEdgeSplit (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ModEdgeSplit ( text topology-name, int edge_id, Geometry point ) -/ -/ returns: the ID of the inserted Node on success -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 edge_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - } - else - goto invalid_arg; - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - pt = point->FirstPoint; - - start_topo_savepoint (sqlite, cache); - ret = gaiaModEdgeSplit (accessor, edge_id, pt, 0); - if (ret <= 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (ret <= 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, ret); - return; - - no_topo: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_NewEdgesSplit (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_NewEdgesSplit ( text topology-name, int edge_id, Geometry point ) -/ -/ returns: the ID of the inserted Node on success -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 edge_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[2]); - n_bytes = sqlite3_value_bytes (argv[2]); - } - else - goto invalid_arg; - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - { - goto invalid_arg; - return; - } - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - pt = point->FirstPoint; - - start_topo_savepoint (sqlite, cache); - ret = gaiaNewEdgesSplit (accessor, edge_id, pt, 0); - if (ret <= 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (ret <= 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, ret); - return; - - no_topo: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_AddEdgeModFace (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_AddEdgeModFace ( text topology-name, int start_node_id, int end_node_id, Geometry linestring ) -/ -/ returns: the ID of the inserted Edge on success -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 start_node_id; - sqlite3_int64 end_node_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr line = NULL; - gaiaLinestringPtr ln; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - start_node_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - end_node_id = sqlite3_value_int64 (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[3]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[3]); - n_bytes = sqlite3_value_bytes (argv[3]); - } - else - goto invalid_arg; - -/* attempting to get a Linestring Geometry */ - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!line) - goto invalid_arg; - if (line->FirstPoint != NULL) - invalid = 1; - if (line->FirstPolygon != NULL) - invalid = 1; - if (line->FirstLinestring != line->LastLinestring - || line->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims (accessor, line->Srid, line->DimensionModel)) - goto invalid_geom; - ln = line->FirstLinestring; - - start_topo_savepoint (sqlite, cache); - ret = gaiaAddEdgeModFace (accessor, start_node_id, end_node_id, ln, 0); - if (ret <= 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (line); - line = NULL; - if (ret <= 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, ret); - return; - - no_topo: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_AddEdgeNewFaces (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_AddEdgeNewFaces ( text topology-name, int start_node_id, int end_node_id, Geometry linestring ) -/ -/ returns: the ID of the inserted Edge on success -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 start_node_id; - sqlite3_int64 end_node_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr line = NULL; - gaiaLinestringPtr ln; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - start_node_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - end_node_id = sqlite3_value_int64 (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[3]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[3]); - n_bytes = sqlite3_value_bytes (argv[3]); - } - else - goto invalid_arg; - -/* attempting to get a Linestring Geometry */ - line = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!line) - goto invalid_arg; - if (line->FirstPoint != NULL) - invalid = 1; - if (line->FirstPolygon != NULL) - invalid = 1; - if (line->FirstLinestring != line->LastLinestring - || line->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims (accessor, line->Srid, line->DimensionModel)) - goto invalid_geom; - ln = line->FirstLinestring; - - start_topo_savepoint (sqlite, cache); - ret = gaiaAddEdgeNewFaces (accessor, start_node_id, end_node_id, ln, 0); - if (ret <= 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (line); - line = NULL; - if (ret <= 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, ret); - return; - - no_topo: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (line != NULL) - gaiaFreeGeomColl (line); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_ModEdgeHeal (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ModEdgeHeal ( text topology-name, int edge_id1, int edge_id2 ) -/ -/ returns: ID of the removed Node -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 edge_id1; - sqlite3_int64 edge_id2; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id1 = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - edge_id2 = sqlite3_value_int64 (argv[2]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - - start_topo_savepoint (sqlite, cache); - ret = gaiaModEdgeHeal (accessor, edge_id1, edge_id2); - if (ret < 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (ret < 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_NewEdgeHeal (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_NewEdgeHeal ( text topology-name, int edge_id1, int edge_id2 ) -/ -/ returns: ID of the removed Node -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - sqlite3_int64 edge_id1; - sqlite3_int64 edge_id2; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id1 = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - edge_id2 = sqlite3_value_int64 (argv[2]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - - start_topo_savepoint (sqlite, cache); - ret = gaiaNewEdgeHeal (accessor, edge_id1, edge_id2); - if (ret < 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (ret < 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_GetFaceGeometry (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_GetFaceGeometry ( text topology-name, int face_id ) -/ -/ returns: the Face's geometry (Polygon) -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - sqlite3_int64 face_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr geom; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - face_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - - geom = gaiaGetFaceGeometry (accessor, face_id); - if (geom == NULL) - { - msg = gaiaGetRtTopoErrorMsg (cache); - if (msg != NULL) - { - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - } - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - if (p_blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, p_blob, n_bytes, free); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_GetFaceEdges (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_GetFaceEdges ( text topology-name, int face_id ) -/ -/ create/update a table containing an ordered list of EdgeIDs -/ -/ returns NULL on success -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - sqlite3_int64 face_id; - int ret; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - face_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - - start_topo_savepoint (sqlite, cache); - ret = gaiaGetFaceEdges (accessor, face_id); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -static int -check_empty_topology (struct gaia_topology *topo) -{ -/* checking for an empty Topology */ - char *sql; - char *table; - char *xtable; - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int already_populated = 0; - -/* testing NODE */ - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - already_populated = 1; - } - sqlite3_free_table (results); - if (already_populated) - return 0; - -/* testing EDGE */ - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - already_populated = 1; - } - sqlite3_free_table (results); - if (already_populated) - return 0; - -/* testing FACE */ - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("SELECT Count(*) FROM MAIN.\"%s\" WHERE face_id <> 0", - xtable); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - already_populated = 1; - } - sqlite3_free_table (results); - if (already_populated) - return 0; - - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_ValidateTopoGeo (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_ValidateTopoGeo ( text topology-name ) -/ -/ create/update a table containing an validation report for a given TopoGeo -/ -/ returns NULL on success -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - int ret; - GaiaTopologyAccessorPtr accessor = NULL; - struct gaia_topology *topo; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - topo = (struct gaia_topology *) accessor; - if (check_empty_topology (topo)) - goto empty; - - start_topo_savepoint (sqlite, cache); - ret = gaiaValidateTopoGeo (accessor); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - empty: - msg = "SQL/MM Spatial exception - empty topology."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_CreateTopoGeo (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ ST_CreateTopoGeo ( text topology-name , blob geom-collection ) -/ -/ creates and populates an empty Topology by importing a Geometry-collection -/ -/ returns NULL on success -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - int ret; - const unsigned char *blob; - int blob_sz; - gaiaGeomCollPtr geom = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - GaiaTopologyAccessorPtr accessor = NULL; - struct gaia_topology *topo; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - blob = sqlite3_value_blob (argv[1]); - blob_sz = sqlite3_value_bytes (argv[1]); - geom = - gaiaFromSpatiaLiteBlobWkbEx (blob, blob_sz, gpkg_mode, - gpkg_amphibious); - } - else - goto invalid_arg; - if (geom == NULL) - goto not_geom; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - topo = (struct gaia_topology *) accessor; - if (!check_empty_topology (topo)) - goto not_empty; - if (!check_matching_srid_dims (accessor, geom->Srid, geom->DimensionModel)) - goto invalid_geom; - - start_topo_savepoint (sqlite, cache); - ret = - auxtopo_insert_into_topology (accessor, geom, 0.0, -1, -1, - GAIA_MODE_TOPO_FACE); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - gaiaFreeGeomColl (geom); - return; - - no_topo: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - not_empty: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - non-empty topology."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - not_geom: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - not a Geometry."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = - "SQL/MM Spatial exception - invalid Geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_GetNodeByPoint (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ GetNodeByPoint ( text topology-name, Geometry point ) -/ GetNodeByPoint ( text topology-name, Geometry point, double tolerance ) -/ -/ returns: the ID of some Node on success, 0 if no Node was found -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - double tolerance = -1; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[2]); - tolerance = t; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - gaiatopo_reset_last_error_msg (accessor); - pt = point->FirstPoint; - - ret = gaiaGetNodeByPoint (accessor, pt, tolerance); - gaiaFreeGeomColl (point); - point = NULL; - if (ret < 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_topo: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_GetEdgeByPoint (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ GetEdgeByPoint ( text topology-name, Geometry point ) -/ GetEdgeByPoint ( text topology-name, Geometry point, double tolerance ) -/ -/ returns: the ID of some Edge on success -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - double tolerance = -1; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[2]); - tolerance = t; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - pt = point->FirstPoint; - - ret = gaiaGetEdgeByPoint (accessor, pt, tolerance); - gaiaFreeGeomColl (point); - point = NULL; - if (ret < 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_topo: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_GetFaceByPoint (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ GetFaceByPoint ( text topology-name, Geometry point ) -/ GetFaceByPoint ( text topology-name, Geometry point, double tolerance ) -/ -/ returns: the ID of some Face on success -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 ret; - const char *topo_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - double tolerance = -1; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[2]); - tolerance = t; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint != point->LastPoint || point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - pt = point->FirstPoint; - - ret = gaiaGetFaceByPoint (accessor, pt, tolerance); - gaiaFreeGeomColl (point); - point = NULL; - if (ret < 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int64 (context, ret); - return; - - no_topo: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_AddPoint (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_AddPoint ( text topology-name, Geometry (multi)point ) -/ TopoGeo_AddPoint ( text topology-name, Geometry (multi)point, double tolerance ) -/ -/ returns: a comma separated list of all IDs of corresponding Nodes on success -/ raises an exception on failure -*/ - const char *msg; - sqlite3_int64 node_id; - char xnode_id[64]; - char *retlist = NULL; - char *savelist; - const char *topo_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr point = NULL; - gaiaPointPtr pt; - double tolerance = -1; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[2]); - tolerance = t; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Point Geometry */ - point = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!point) - goto invalid_arg; - if (point->FirstLinestring != NULL) - invalid = 1; - if (point->FirstPolygon != NULL) - invalid = 1; - if (point->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims - (accessor, point->Srid, point->DimensionModel)) - goto invalid_geom; - - start_topo_savepoint (sqlite, cache); - pt = point->FirstPoint; - while (pt != NULL) - { - /* looping on elementary Points */ - node_id = gaiaTopoGeo_AddPoint (accessor, pt, tolerance); - if (node_id < 0) - break; - sprintf (xnode_id, "%lld", node_id); - if (retlist == NULL) - retlist = sqlite3_mprintf ("%s", xnode_id); - else - { - savelist = retlist; - retlist = sqlite3_mprintf ("%s, %s", savelist, xnode_id); - sqlite3_free (savelist); - } - pt = pt->Next; - } - - if (node_id < 0) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (point); - point = NULL; - if (node_id < 0) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - if (retlist != NULL) - sqlite3_free (retlist); - return; - } - sqlite3_result_text (context, retlist, strlen (retlist), sqlite3_free); - return; - - no_topo: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (point != NULL) - gaiaFreeGeomColl (point); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_AddLineString (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_AddLineString ( text topology-name, Geometry (multi)linestring ) -/ TopoGeo_AddLineString ( text topology-name, Geometry (multi)linestring, double tolerance ) -/ -/ returns: a comma separated list of all IDs of corresponding Edges on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - char xedge_id[64]; - sqlite3_int64 *edge_ids = NULL; - int ids_count = 0; - char *retlist = NULL; - char *savelist; - int i; - const char *topo_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr linestring = NULL; - gaiaLinestringPtr ln; - double tolerance = -1; - int invalid = 0; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[2]); - tolerance = t; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Linestring Geometry */ - linestring = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!linestring) - goto invalid_arg; - if (linestring->FirstPoint != NULL) - invalid = 1; - if (linestring->FirstPolygon != NULL) - invalid = 1; - if (linestring->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims - (accessor, linestring->Srid, linestring->DimensionModel)) - goto invalid_geom; - - start_topo_savepoint (sqlite, cache); - ln = linestring->FirstLinestring; - while (ln != NULL) - { - /* looping on individual Linestrings */ - ret = - gaiaTopoGeo_AddLineString (accessor, ln, tolerance, &edge_ids, - &ids_count); - if (!ret) - break; - for (i = 0; i < ids_count; i++) - { - sprintf (xedge_id, "%lld", edge_ids[i]); - if (retlist == NULL) - retlist = sqlite3_mprintf ("%s", xedge_id); - else - { - savelist = retlist; - retlist = sqlite3_mprintf ("%s, %s", savelist, xedge_id); - sqlite3_free (savelist); - } - } - free (edge_ids); - ln = ln->Next; - } - - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (linestring); - linestring = NULL; - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - sqlite3_free (retlist); - return; - } - sqlite3_result_text (context, retlist, strlen (retlist), sqlite3_free); - return; - - no_topo: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -static int -kill_all_existing_faces (sqlite3 * sqlite, char *toponame) -{ -/* to be executed before invoking any NO FACE function */ - char *sql; - char *table; - char *xtable; - int ret; - char *errMsg = NULL; - -/* invalidating all relationships between Edges and Faces */ - table = sqlite3_mprintf ("%s_edge", toponame); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("UPDATE \"%s\" SET left_face = NULL, right_face = NULL " - "WHERE left_face IS NOT NULL OR right_face IS NOT NULL", xtable); - free (xtable); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("NoFace invalidate Edge/Face: %s\n", errMsg); - sqlite3_free (errMsg); - return 0; - } - -/* removing all Faces except the Universe */ - table = sqlite3_mprintf ("%s_face", toponame); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM \"%s\" WHERE face_id <> 0", xtable); - free (xtable); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("NoFace remove Faces: %s\n", errMsg); - sqlite3_free (errMsg); - return 0; - } - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_AddLineStringNoFace (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_AddLineStringNoFace ( text topology-name, Geometry (multi)linestring ) -/ TopoGeo_AddLineStringNoFace ( text topology-name, Geometry (multi)linestring, -/ double tolerance ) -/ -/ returns: a comma separated list of all IDs of corresponding Edges on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - char xedge_id[64]; - sqlite3_int64 *edge_ids = NULL; - int ids_count = 0; - char *retlist = NULL; - char *savelist; - int i; - const char *topo_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr linestring = NULL; - gaiaLinestringPtr ln; - double tolerance = -1; - int invalid = 0; - struct gaia_topology *topo; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[2]); - tolerance = t; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Linestring Geometry */ - linestring = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!linestring) - goto invalid_arg; - if (linestring->FirstPoint != NULL) - invalid = 1; - if (linestring->FirstPolygon != NULL) - invalid = 1; - if (linestring->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - topo = (struct gaia_topology *) accessor; - if (!check_matching_srid_dims - (accessor, linestring->Srid, linestring->DimensionModel)) - goto invalid_geom; - - start_topo_savepoint (sqlite, cache); - -/* removing any existing Face except the Universal one */ - if (kill_all_existing_faces (sqlite, topo->topology_name) == 0) - { - msg = "TopoGeo_AddLineStringNoFace: unable to remove existing Faces"; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - - ln = linestring->FirstLinestring; - while (ln != NULL) - { - /* looping on individual Linestrings */ - ret = - gaiaTopoGeo_AddLineStringNoFace (accessor, ln, tolerance, - &edge_ids, &ids_count); - if (!ret) - break; - for (i = 0; i < ids_count; i++) - { - sprintf (xedge_id, "%lld", edge_ids[i]); - if (retlist == NULL) - retlist = sqlite3_mprintf ("%s", xedge_id); - else - { - savelist = retlist; - retlist = sqlite3_mprintf ("%s, %s", savelist, xedge_id); - sqlite3_free (savelist); - } - } - free (edge_ids); - ln = ln->Next; - } - - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - gaiaFreeGeomColl (linestring); - linestring = NULL; - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - sqlite3_free (retlist); - return; - } - sqlite3_result_text (context, retlist, strlen (retlist), sqlite3_free); - return; - - no_topo: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (linestring != NULL) - gaiaFreeGeomColl (linestring); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_Polygonize (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_Polygonize ( text topology-name ) -/ -/ TopoGeo_Polygonize ( text topology-name , int force-rebuild ) -*/ - int edgesCount = 0; - const char *msg; - int ret; - const char *topo_name; - int force_rebuild = 0; - struct gaia_topology *topo; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - force_rebuild = sqlite3_value_int (argv[1]); - else - goto invalid_arg; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - topo = (struct gaia_topology *) accessor; - -/* testing if there are unreferenced Edges */ - edgesCount = test_inconsistent_topology (accessor); - if (edgesCount < 0) - { - msg = "TopoGeo_Polygonize: unable to check Topology consistency"; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - if (!edgesCount) - { - if (!force_rebuild) - { - sqlite3_result_null (context); - return; - } - } - - start_topo_savepoint (sqlite, cache); - -/* removing any existing Face except the Universal one */ - if (kill_all_existing_faces (sqlite, topo->topology_name) == 0) - { - msg = "TopoGeo_Polygonize: unable to remove existing Faces"; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - - ret = gaiaTopoGeo_Polygonize (accessor); - - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_TopoSnap (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_TopoSnap ( text topology-name, Geometry geom, int iterate, -/ int remove_vertices ) -/ TopoGeo_TopoSnap ( text topology-name, Geometry geom, int iterate, -/ int remove_vertices, double tolerance ) -/ -/ returns: the snapped Geometry -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr geom = NULL; - gaiaGeomCollPtr g2; - int iterate; - int remove_vertices; - double tolerance = -1; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[1]); - n_bytes = sqlite3_value_bytes (argv[1]); - } - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - iterate = sqlite3_value_int (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - remove_vertices = sqlite3_value_int (argv[3]); - else - goto invalid_arg; - if (argc >= 5) - { - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[4]); - tolerance = t; - } - else if (sqlite3_value_type (argv[4]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[4]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Geometry */ - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geom) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - gaiatopo_reset_last_error_msg (accessor); - g2 = gaiaTopoSnap (accessor, geom, tolerance, iterate, remove_vertices); - gaiaFreeGeomColl (geom); - if (g2 == NULL) - { - msg = gaiaGetRtTopoErrorMsg (cache); - if (msg != NULL) - { - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - } - gaiaToSpatiaLiteBlobWkbEx (g2, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (g2); - if (p_blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, p_blob, n_bytes, free); - return; - - no_topo: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (geom != NULL) - gaiaFreeGeomColl (geom); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -static int -check_input_geo_table (sqlite3 * sqlite, const char *db_prefix, - const char *table, const char *column, char **xtable, - char **xcolumn, int *srid, int *dims) -{ -/* checking if an input GeoTable do really exist */ - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - char *sql; - char *xprefix; - int len; - int count = 0; - char *xx_table = NULL; - char *xx_column = NULL; - char *ztable; - int xtype; - int xdims; - int xsrid; - - *xtable = NULL; - *xcolumn = NULL; - *srid = -1; - *dims = GAIA_XY; - -/* querying GEOMETRY_COLUMNS */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - if (column == NULL) - sql = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column, geometry_type, srid " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q)", - xprefix, table); - else - sql = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column, geometry_type, srid " - "FROM \"%s\".geometry_columns WHERE Lower(f_table_name) = Lower(%Q) AND " - "Lower(f_geometry_column) = Lower(%Q)", xprefix, table, column); - free (xprefix); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - const char *table_name = results[(i * columns) + 0]; - const char *column_name = results[(i * columns) + 1]; - xtype = atoi (results[(i * columns) + 2]); - xsrid = atoi (results[(i * columns) + 3]); - len = strlen (table_name); - if (xx_table != NULL) - free (xx_table); - xx_table = malloc (len + 1); - strcpy (xx_table, table_name); - len = strlen (column_name); - if (xx_column != NULL) - free (xx_column); - xx_column = malloc (len + 1); - strcpy (xx_column, column_name); - count++; - } - sqlite3_free_table (results); - - if (count != 1) - { - if (xx_table != NULL) - free (xx_table); - if (xx_column != NULL) - free (xx_column); - return 0; - } - -/* testing if the GeoTable do really exist */ - count = 0; - xprefix = gaiaDoubleQuotedSql (db_prefix); - ztable = gaiaDoubleQuotedSql (xx_table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, ztable); - free (xprefix); - free (ztable); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - const char *column_name = results[(i * columns) + 1]; - if (strcasecmp (column_name, xx_column) == 0) - count++; - } - sqlite3_free_table (results); - - if (count != 1) - { - if (xx_table != NULL) - free (xx_table); - if (xx_column != NULL) - free (xx_column); - return 0; - } - - switch (xtype) - { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - xdims = GAIA_XY; - break; - case 1000: - case 1001: - case 1002: - case 1003: - case 1004: - case 1005: - case 1006: - case 1007: - xdims = GAIA_XY_Z; - break; - case 2000: - case 2001: - case 2002: - case 2003: - case 2004: - case 2005: - case 2006: - case 2007: - xdims = GAIA_XY_M; - break; - case 3000: - case 3001: - case 3002: - case 3003: - case 3004: - case 3005: - case 3006: - case 3007: - xdims = GAIA_XY_Z_M; - break; - }; - *xtable = xx_table; - *xcolumn = xx_column; - *srid = xsrid; - *dims = xdims; - return 1; -} - -static int -check_output_geo_table (sqlite3 * sqlite, const char *table) -{ -/* checking if an output GeoTable do already exist */ - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - char *sql; - int count = 0; - char *ztable; - -/* querying GEOMETRY_COLUMNS */ - sql = - sqlite3_mprintf - ("SELECT f_table_name, f_geometry_column " - "FROM MAIN.geometry_columns WHERE Lower(f_table_name) = Lower(%Q)", - table); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - count++; - sqlite3_free_table (results); - - if (count != 0) - return 0; - -/* testing if the Table already exist */ - count = 0; - ztable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA MAIN.table_info(\"%s\")", ztable); - free (ztable); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - count++; - sqlite3_free_table (results); - - if (count != 0) - return 0; - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_SnappedGeoTable (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_SnappedGeoTable ( text topology-name, text db-prefix, text table, -/ text column, text outtable, int iterate, -/ int remove_vertices ) -/ TopoGeo_SnappedGeoTable ( text topology-name, text db-prefix, text table, -/ text column, text outtable, int iterate, -/ int remove_vertices, double tolerance ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - int ret; - const char *msg; - const char *topo_name; - const char *db_prefix; - const char *table; - const char *column; - const char *outtable; - char *xtable = NULL; - char *xcolumn = NULL; - int iterate; - int remove_vertices; - double tolerance = -1; - int srid; - int dims; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - outtable = (const char *) sqlite3_value_text (argv[4]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - iterate = sqlite3_value_int (argv[5]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[6]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - remove_vertices = sqlite3_value_int (argv[6]); - else - goto invalid_arg; - if (argc >= 8) - { - if (sqlite3_value_type (argv[7]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[7]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[7]); - tolerance = t; - } - else if (sqlite3_value_type (argv[7]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[7]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the input GeoTable */ - if (!check_input_geo_table - (sqlite, db_prefix, table, column, &xtable, &xcolumn, &srid, &dims)) - goto no_input; - if (!check_matching_srid_dims (accessor, srid, dims)) - goto invalid_geom; - -/* checking the output GeoTable */ - if (!check_output_geo_table (sqlite, outtable)) - goto err_output; - - start_topo_savepoint (sqlite, cache); - ret = - gaiaTopoGeo_SnappedGeoTable (accessor, db_prefix, xtable, xcolumn, - outtable, tolerance, iterate, - remove_vertices); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xtable); - free (xcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_input: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid input GeoTable."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - err_output: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "TopoGeo_SnappedGeoTable: output GeoTable already exists."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_SubdivideLines (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_SubdivideLines ( Geometry geom, int line_max_points ) -/ TopoGeo_SubdivideLines ( Geometry geom, int line_max_points, -/ double max_length ) -/ -/ returns: a MultiLinestring -/ raises an exception on failure -*/ - const char *msg; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr geom; - gaiaGeomCollPtr result; - int line_max_points = -1; - double max_length = -1.0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - } - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - line_max_points = sqlite3_value_int (argv[1]); - if (line_max_points < 2) - goto illegal_max_points; - } - else - goto invalid_arg; - if (argc >= 3) - { - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - ; - else - { - if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int max = sqlite3_value_int (argv[2]); - max_length = max; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - max_length = sqlite3_value_int (argv[2]); - else - goto invalid_arg; - if (max_length <= 0.0) - goto nonpositive_max_length; - } - } - -/* attempting to get a Geometry */ - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geom) - goto invalid_geom; - -/* splitting the geometry */ - result = gaiaTopoGeo_SubdivideLines (geom, line_max_points, max_length); - gaiaFreeGeomColl (geom); - if (result == NULL) - goto invalid_geom; - gaiaToSpatiaLiteBlobWkbEx (result, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (result); - if (p_blob == NULL) - goto invalid_geom; - else - sqlite3_result_blob (context, p_blob, n_bytes, free); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - msg = "SQL/MM Spatial exception - invalid Geometry."; - sqlite3_result_error (context, msg, -1); - return; - - illegal_max_points: - msg = "SQL/MM Spatial exception - max_points should be >= 2."; - sqlite3_result_error (context, msg, -1); - return; - - nonpositive_max_length: - msg = "SQL/MM Spatial exception - max_length should be > 0.0."; - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_FromGeoTable (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_FromGeoTable ( text topology-name, text db-prefix, text table, -/ text column ) -/ TopoGeo_FromGeoTable ( text topology-name, text db-prefix, text table, -/ text column, int line_max_points ) -/ TopoGeo_FromGeoTable ( text topology-name, text db-prefix, text table, -/ text column, int line_max_points, double max_length ) -/ TopoGeo_FromGeoTable ( text topology-name, text db-prefix, text table, -/ text column, int line_max_points, double max_length, -/ double tolerance ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *db_prefix; - const char *table; - const char *column; - char *xtable = NULL; - char *xcolumn = NULL; - int srid; - int dims; - int line_max_points = -1; - double max_length = -1.0; - double tolerance = -1; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (argc >= 5) - { - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER) - { - line_max_points = sqlite3_value_int (argv[4]); - if (line_max_points < 2) - goto illegal_max_points; - } - else - goto invalid_arg; - } - if (argc >= 6) - { - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - ; - else - { - if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - { - int max = sqlite3_value_int (argv[5]); - max_length = max; - } - else if (sqlite3_value_type (argv[5]) == SQLITE_FLOAT) - max_length = sqlite3_value_double (argv[5]); - else - goto invalid_arg; - if (max_length <= 0.0) - goto nonpositive_max_length; - } - } - if (argc >= 7) - { - if (sqlite3_value_type (argv[6]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[6]); - tolerance = t; - } - else if (sqlite3_value_type (argv[6]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[6]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the input GeoTable */ - if (!check_input_geo_table - (sqlite, db_prefix, table, column, &xtable, &xcolumn, &srid, &dims)) - goto no_input; - if (!check_matching_srid_dims (accessor, srid, dims)) - goto invalid_geom; - - start_topo_savepoint (sqlite, cache); - ret = - gaiaTopoGeo_FromGeoTable (accessor, db_prefix, xtable, xcolumn, - tolerance, line_max_points, max_length); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xtable); - free (xcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_input: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid input GeoTable."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - illegal_max_points: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - max_points should be >= 2."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - nonpositive_max_length: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - max_length should be > 0.0."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_FromGeoTableNoFace (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_FromGeoTableNoFace ( text topology-name, text db-prefix, text table, -/ text column ) -/ TopoGeo_FromGeoTableNoFace ( text topology-name, text db-prefix, text table, -/ text column, int line_max_points ) -/ TopoGeo_FromGeoTableNoFace ( text topology-name, text db-prefix, text table, -/ text column, int line_max_points, double max_length ) -/ TopoGeo_FromGeoTableNoFace ( text topology-name, text db-prefix, text table, -/ text column, int line_max_points, double max_length, -/ double tolerance ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *db_prefix; - const char *table; - const char *column; - char *xtable = NULL; - char *xcolumn = NULL; - int srid; - int dims; - int line_max_points = -1; - double max_length = -1.0; - double tolerance = -1; - struct gaia_topology *topo; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (argc >= 5) - { - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER) - { - line_max_points = sqlite3_value_int (argv[4]); - if (line_max_points < 2) - goto illegal_max_points; - } - else - goto invalid_arg; - } - if (argc >= 6) - { - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - ; - else - { - if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - { - int max = sqlite3_value_int (argv[5]); - max_length = max; - } - else if (sqlite3_value_type (argv[5]) == SQLITE_FLOAT) - max_length = sqlite3_value_double (argv[5]); - else - goto invalid_arg; - if (max_length <= 0.0) - goto nonpositive_max_length; - } - } - if (argc >= 7) - { - if (sqlite3_value_type (argv[6]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[6]); - tolerance = t; - } - else if (sqlite3_value_type (argv[6]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[6]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - topo = (struct gaia_topology *) accessor; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the input GeoTable */ - if (!check_input_geo_table - (sqlite, db_prefix, table, column, &xtable, &xcolumn, &srid, &dims)) - goto no_input; - if (!check_matching_srid_dims (accessor, srid, dims)) - goto invalid_geom; - - start_topo_savepoint (sqlite, cache); - -/* removing any existing Face except the Universal one */ - if (kill_all_existing_faces (sqlite, topo->topology_name) == 0) - { - msg = "TopoGeo_FromGeoTableNoFace: unable to remove existing Faces"; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - - ret = - gaiaTopoGeo_FromGeoTableNoFace (accessor, db_prefix, xtable, xcolumn, - tolerance, line_max_points, max_length); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xtable); - free (xcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_input: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid input GeoTable."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - illegal_max_points: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - max_points should be >= 2."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - nonpositive_max_length: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - msg = "SQL/MM Spatial exception - max_length should be > 0.0."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -static int -create_dustbin_table (sqlite3 * sqlite, const char *db_prefix, - const char *table, const char *dustbin_table) -{ -/* attempting to create a dustbin table */ - char *xprefix; - char *xtable; - char *sql; - char *prev_sql; - int ret; - char *err_msg = NULL; - int i; - char **results; - int rows; - int columns; - const char *value; - int error = 0; - struct pk_struct *pk_dictionary = NULL; - struct pk_item *pI; - -/* checking if the target table already exists */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - sql = - sqlite3_mprintf - ("SELECT Count(*) FROM \"%s\".sqlite_master WHERE Lower(name) = Lower(%Q)", - xprefix, dustbin_table); - free (xprefix); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - { - spatialite_e - ("TopoGeo_FromGeoTableExt: dustbin-table \"%s\" already exists\n", - dustbin_table); - return 0; - } - -/* identifying all Primary Key columns */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xprefix); - free (xtable); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - pk_dictionary = create_pk_dictionary (); - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 1]; - const char *type = results[(i * columns) + 2]; - int notnull = atoi (results[(i * columns) + 3]); - int pk = atoi (results[(i * columns) + 5]); - if (pk > 0) - add_pk_column (pk_dictionary, name, type, notnull, pk); - } - } - sqlite3_free_table (results); - if (pk_dictionary->count <= 0) - { - free_pk_dictionary (pk_dictionary); - spatialite_e - ("TopoGeo_FromGeoTableExt: the input table \"%s\" has no Primary Key\n", - table); - return 0; - } - -/* going to create the dustbin table */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (dustbin_table); - sql = sqlite3_mprintf ("CREATE TABLE \"%s\".\"%s\" (\n", xprefix, xtable); - free (xprefix); - free (xtable); - prev_sql = sql; - pI = pk_dictionary->first; - while (pI != NULL) - { - char *xcolumn = gaiaDoubleQuotedSql (pI->name); - if (pI->notnull) - sql = - sqlite3_mprintf ("%s\t\"%s\" %s NOT NULL,\n", prev_sql, - xcolumn, pI->type); - else - sql = - sqlite3_mprintf ("%s\t\"%s\" %s,\n", prev_sql, xcolumn, - pI->type); - free (xcolumn); - sqlite3_free (prev_sql); - prev_sql = sql; - pI = pI->next; - } - xprefix = sqlite3_mprintf ("pk_%s", dustbin_table); - xtable = gaiaDoubleQuotedSql (xprefix); - sqlite3_free (xprefix); - sql = - sqlite3_mprintf ("%s\tmessage TEXT,\n\ttolerance DOUBLE NOT NULL,\n" - "\tCONSTRAINT \"%s\" PRIMARY KEY (", prev_sql, xtable); - sqlite3_free (prev_sql); - free (xtable); - prev_sql = sql; - for (i = 1; i <= pk_dictionary->count; i++) - { - pI = pk_dictionary->first; - while (pI != NULL) - { - if (pI->pk == i) - { - char *xcolumn = gaiaDoubleQuotedSql (pI->name); - if (i == 1) - sql = sqlite3_mprintf ("%s\"%s\"", prev_sql, xcolumn); - else - sql = - sqlite3_mprintf ("%s, \"%s\"", prev_sql, xcolumn); - sqlite3_free (prev_sql); - free (xcolumn); - prev_sql = sql; - } - pI = pI->next; - } - } - sql = sqlite3_mprintf ("%s))", prev_sql); - sqlite3_free (prev_sql); - free_pk_dictionary (pk_dictionary); - - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("TopoGeo_FromGeoTableExt: unable to create dustbin-table \"%s\": %s\n", - dustbin_table, err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -create_dustbin_view (sqlite3 * sqlite, const char *db_prefix, const char *table, - const char *column, const char *dustbin_table, - const char *dustbin_view, char **sql_in, char **sql_out, - char **sql_in2) -{ -/* attempting to create a dustbin view */ - char *xprefix; - char *xtable; - char *xcolumn; - char *sql; - char *prev_sql; - char *sql2; - int ret; - char *err_msg = NULL; - int i; - char **results; - int rows; - int columns; - const char *value; - int error = 0; - struct pk_struct *pk_dictionary = NULL; - struct pk_item *pI; - int first; - - *sql_in = NULL; - *sql_out = NULL; - *sql_in2 = NULL; -/* checking if the target view already exists */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - sql = - sqlite3_mprintf - ("SELECT Count(*) FROM \"%s\".sqlite_master WHERE Lower(name) = Lower(%Q)", - xprefix, dustbin_view); - free (xprefix); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - value = results[(i * columns) + 0]; - if (atoi (value) != 0) - error = 1; - } - } - sqlite3_free_table (results); - if (error) - return 0; - -/* identifying all main table's columns */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xprefix); - free (xtable); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - return 0; - pk_dictionary = create_pk_dictionary (); - if (rows < 1) - ; - else - { - for (i = 1; i <= rows; i++) - { - const char *name = results[(i * columns) + 1]; - const char *type = results[(i * columns) + 2]; - int notnull = atoi (results[(i * columns) + 3]); - int pk = atoi (results[(i * columns) + 5]); - add_pk_column (pk_dictionary, name, type, notnull, pk); - } - } - sqlite3_free_table (results); - if (pk_dictionary->count <= 0) - { - free_pk_dictionary (pk_dictionary); - spatialite_e - ("TopoGeo_FromGeoTableExt: unable to retrieve \"%s\" columns\n", - table); - return 0; - } - -/* going to create the dustbin view */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (dustbin_view); - sql = sqlite3_mprintf ("CREATE VIEW \"%s\".\"%s\" AS\n" - "SELECT a.ROWID AS rowid", xprefix, xtable); - free (xprefix); - free (xtable); - prev_sql = sql; - pI = pk_dictionary->first; - while (pI != NULL) - { - char *xcolumn = gaiaDoubleQuotedSql (pI->name); - sql = - sqlite3_mprintf ("%s, a.\"%s\" AS \"%s\"", prev_sql, xcolumn, - xcolumn); - free (xcolumn); - sqlite3_free (prev_sql); - prev_sql = sql; - pI = pI->next; - } - xtable = gaiaDoubleQuotedSql (table); - xprefix = gaiaDoubleQuotedSql (dustbin_table); - sql = - sqlite3_mprintf - ("%s, b.message AS message, b.tolerance AS tolerance " - "FROM \"%s\" AS a, \"%s\" AS b\nWHERE ", prev_sql, xtable, xprefix); - sqlite3_free (prev_sql); - free (xtable); - free (xprefix); - prev_sql = sql; - pI = pk_dictionary->first; - first = 1; - while (pI != NULL) - { - if (pI->pk > 0) - { - char *xcolumn = gaiaDoubleQuotedSql (pI->name); - if (first) - sql = - sqlite3_mprintf ("%sa.\"%s\" = b.\"%s\"", prev_sql, - xcolumn, xcolumn); - else - sql = - sqlite3_mprintf ("%s AND a.\"%s\" = b.\"%s\"", prev_sql, - xcolumn, xcolumn); - first = 0; - sqlite3_free (prev_sql); - free (xcolumn); - prev_sql = sql; - } - pI = pI->next; - } - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("TopoGeo_FromGeoTableExt: unable to create dustbin-view \"%s\": %s\n", - dustbin_table, err_msg); - sqlite3_free (err_msg); - free_pk_dictionary (pk_dictionary); - return 0; - } - -/* registering the Spatial View */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - sql = - sqlite3_mprintf - ("INSERT INTO \"%s\".views_geometry_columns (view_name, " - "view_geometry, view_rowid, f_table_name, f_geometry_column, read_only) " - "VALUES (%Q, %Q, 'rowid', %Q, %Q, 1)", xprefix, dustbin_view, column, - table, column); - free (xprefix); - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e - ("TopoGeo_FromGeoTableExt: unable to register the dustbin-view \"%s\": %s\n", - dustbin_table, err_msg); - sqlite3_free (err_msg); - free_pk_dictionary (pk_dictionary); - return 0; - } - -/* constructing the input SQL statement */ - sql = sqlite3_mprintf ("SELECT ROWID"); - prev_sql = sql; - pI = pk_dictionary->first; - while (pI != NULL) - { - if (pI->pk > 0) - { - char *xcolumn = gaiaDoubleQuotedSql (pI->name); - sql = sqlite3_mprintf ("%s, \"%s\"", prev_sql, xcolumn); - sqlite3_free (prev_sql); - free (xcolumn); - prev_sql = sql; - } - pI = pI->next; - } - xcolumn = gaiaDoubleQuotedSql (column); - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("%s, \"%s\" FROM \"%s\".\"%s\" " - "WHERE ROWID > ? ORDER BY ROWID", prev_sql, xcolumn, - xprefix, xtable); - sql2 = - sqlite3_mprintf ("%s, \"%s\" FROM \"%s\".\"%s\" WHERE ROWID = ?", - prev_sql, xcolumn, xprefix, xtable); - free (xcolumn); - free (xprefix); - free (xtable); - sqlite3_free (prev_sql); - *sql_in = sql; - *sql_in2 = sql2; - -/* constructing the output SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (dustbin_table); - sql = sqlite3_mprintf ("INSERT INTO \"%s\".\"%s\" (", xprefix, xtable); - prev_sql = sql; - free (xprefix); - free (xtable); - pI = pk_dictionary->first; - first = 1; - while (pI != NULL) - { - if (pI->pk > 0) - { - char *xcolumn = gaiaDoubleQuotedSql (pI->name); - if (first) - sql = sqlite3_mprintf ("%s\"%s\"", prev_sql, xcolumn); - else - sql = sqlite3_mprintf ("%s, \"%s\"", prev_sql, xcolumn); - first = 0; - sqlite3_free (prev_sql); - free (xcolumn); - prev_sql = sql; - } - pI = pI->next; - } - sql = sqlite3_mprintf ("%s, message, tolerance) VALUES (", prev_sql); - sqlite3_free (prev_sql); - prev_sql = sql; - pI = pk_dictionary->first; - first = 1; - while (pI != NULL) - { - if (pI->pk > 0) - { - if (first) - sql = sqlite3_mprintf ("%s?", prev_sql); - else - sql = sqlite3_mprintf ("%s, ?", prev_sql); - first = 0; - sqlite3_free (prev_sql); - prev_sql = sql; - } - pI = pI->next; - } - sql = sqlite3_mprintf ("%s, ?, ?)", prev_sql); - sqlite3_free (prev_sql); - *sql_out = sql; - - free_pk_dictionary (pk_dictionary); - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_FromGeoTableExt (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_FromGeoTableExt ( text topology-name, text db-prefix, text table, -/ text column, text dustbin-table, text dustbin-view ) -/ TopoGeo_FromGeoTableExt ( text topology-name, text db-prefix, text table, -/ text column, text dustbin-table, text dustbin-view, -/ int line_max_points ) -/ TopoGeo_FromGeoTableExt ( text topology-name, text db-prefix, text table, -/ text column, text dustbin-table, text dustbin-view, -/ int line_max_points, double max_length ) -/ TopoGeo_FromGeoTableExt ( text topology-name, text db-prefix, text table, -/ text column, text dustbin-table, text dustbin-view, -/ int line_max_points, double max_length , -/ double tolerance ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *db_prefix; - const char *table; - const char *column; - char *xtable = NULL; - char *xcolumn = NULL; - int srid; - int dims; - const char *dustbin_table; - const char *dustbin_view; - int line_max_points = -1; - double max_length = -1.0; - double tolerance = -1; - char *sql_in = NULL; - char *sql_out = NULL; - char *sql_in2 = NULL; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - dustbin_table = (const char *) sqlite3_value_text (argv[4]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[5]) == SQLITE_TEXT) - dustbin_view = (const char *) sqlite3_value_text (argv[5]); - else - goto invalid_arg; - if (argc >= 7) - { - if (sqlite3_value_type (argv[6]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - { - line_max_points = sqlite3_value_int (argv[6]); - if (line_max_points < 2) - goto illegal_max_points; - } - else - goto invalid_arg; - } - if (argc >= 8) - { - if (sqlite3_value_type (argv[7]) == SQLITE_NULL) - ; - else - { - if (sqlite3_value_type (argv[7]) == SQLITE_INTEGER) - { - int max = sqlite3_value_int (argv[7]); - max_length = max; - } - else if (sqlite3_value_type (argv[7]) == SQLITE_FLOAT) - max_length = sqlite3_value_double (argv[7]); - else - goto invalid_arg; - if (max_length <= 0.0) - goto nonpositive_max_length; - } - } - if (argc >= 9) - { - if (sqlite3_value_type (argv[8]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[8]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[8]); - tolerance = t; - } - else if (sqlite3_value_type (argv[8]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[8]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the input GeoTable */ - if (!check_input_geo_table - (sqlite, db_prefix, table, column, &xtable, &xcolumn, &srid, &dims)) - goto no_input; - if (!check_matching_srid_dims (accessor, srid, dims)) - goto invalid_geom; - -/* attempting to create the dustbin table and view */ - start_topo_savepoint (sqlite, cache); - if (!create_dustbin_table (sqlite, db_prefix, xtable, dustbin_table)) - { - rollback_topo_savepoint (sqlite, cache); - goto no_dustbin_table; - } - if (!create_dustbin_view - (sqlite, db_prefix, xtable, xcolumn, dustbin_table, dustbin_view, - &sql_in, &sql_out, &sql_in2)) - { - rollback_topo_savepoint (sqlite, cache); - goto no_dustbin_view; - } - release_topo_savepoint (sqlite, cache); - - ret = - gaiaTopoGeo_FromGeoTableExtended (accessor, sql_in, sql_out, sql_in2, - tolerance, line_max_points, - max_length); - free (xtable); - free (xcolumn); - sqlite3_free (sql_in); - sqlite3_free (sql_out); - sqlite3_free (sql_in2); - sqlite3_result_int (context, ret); - return; - - no_topo: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_input: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - invalid input GeoTable."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_dustbin_table: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - msg = "SQL/MM Spatial exception - unable to create the dustbin table."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_dustbin_view: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - unable to create the dustbin view."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - illegal_max_points: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - max_points should be >= 2."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - nonpositive_max_length: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - max_length should be > 0.0."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_FromGeoTableNoFaceExt (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_FromGeoTableNoFaceExt ( text topology-name, text db-prefix, -/ text table, text column, text dustbin-table, -/ text dustbin-view ) -/ TopoGeo_FromGeoTableNoFaceExt ( text topology-name, text db-prefix, -/ text table, text column, text dustbin-table, -/ text dustbin-view, int line_max_points ) -/ TopoGeo_FromGeoTableNoFaceExt ( text topology-name, text db-prefix, -/ text table, text column, text dustbin-table, -/ text dustbin-view, int line_max_points, -/ double max_length ) -/ TopoGeo_FromGeoTableNoFaceExt ( text topology-name, text db-prefix, -/ text table, text column, text dustbin-table, -/ text dustbin-view, int line_max_points, -/ double max_length, double tolerance ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *db_prefix; - const char *table; - const char *column; - char *xtable = NULL; - char *xcolumn = NULL; - int srid; - int dims; - const char *dustbin_table; - const char *dustbin_view; - int line_max_points = -1; - double max_length = -1.0; - double tolerance = -1; - char *sql_in = NULL; - char *sql_out = NULL; - char *sql_in2 = NULL; - struct gaia_topology *topo; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - dustbin_table = (const char *) sqlite3_value_text (argv[4]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[5]) == SQLITE_TEXT) - dustbin_view = (const char *) sqlite3_value_text (argv[5]); - else - goto invalid_arg; - if (argc >= 7) - { - if (sqlite3_value_type (argv[6]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - { - line_max_points = sqlite3_value_int (argv[6]); - if (line_max_points < 2) - goto illegal_max_points; - } - else - goto invalid_arg; - } - if (argc >= 8) - { - if (sqlite3_value_type (argv[7]) == SQLITE_NULL) - ; - else - { - if (sqlite3_value_type (argv[7]) == SQLITE_INTEGER) - { - int max = sqlite3_value_int (argv[7]); - max_length = max; - } - else if (sqlite3_value_type (argv[7]) == SQLITE_FLOAT) - max_length = sqlite3_value_double (argv[7]); - else - goto invalid_arg; - if (max_length <= 0.0) - goto nonpositive_max_length; - } - } - if (argc >= 9) - { - if (sqlite3_value_type (argv[8]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[8]) == SQLITE_INTEGER) - { - int t = sqlite3_value_int (argv[8]); - tolerance = t; - } - else if (sqlite3_value_type (argv[8]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[8]); - else - goto invalid_arg; - if (tolerance < 0.0) - goto negative_tolerance; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - topo = (struct gaia_topology *) accessor; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the input GeoTable */ - if (!check_input_geo_table - (sqlite, db_prefix, table, column, &xtable, &xcolumn, &srid, &dims)) - goto no_input; - if (!check_matching_srid_dims (accessor, srid, dims)) - goto invalid_geom; - - start_topo_savepoint (sqlite, cache); - -/* removing any existing Face except the Universal one */ - if (kill_all_existing_faces (sqlite, topo->topology_name) == 0) - { - msg = - "TopoGeo_FromGeoTableNoFaceExt: unable to remove existing Faces"; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - -/* attempting to create the dustbin table and view */ - if (!create_dustbin_table (sqlite, db_prefix, xtable, dustbin_table)) - { - rollback_topo_savepoint (sqlite, cache); - goto no_dustbin_table; - } - if (!create_dustbin_view - (sqlite, db_prefix, xtable, xcolumn, dustbin_table, dustbin_view, - &sql_in, &sql_out, &sql_in2)) - { - rollback_topo_savepoint (sqlite, cache); - goto no_dustbin_view; - } - release_topo_savepoint (sqlite, cache); - - ret = - gaiaTopoGeo_FromGeoTableNoFaceExtended (accessor, sql_in, sql_out, - sql_in2, tolerance, - line_max_points, max_length); - free (xtable); - free (xcolumn); - sqlite3_free (sql_in); - sqlite3_free (sql_out); - sqlite3_free (sql_in2); - sqlite3_result_int (context, ret); - return; - - no_topo: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_input: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - invalid input GeoTable."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_dustbin_table: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - msg = "SQL/MM Spatial exception - unable to create the dustbin table."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_dustbin_view: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - unable to create the dustbin view."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - negative_tolerance: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - illegal negative tolerance."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - illegal_max_points: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - max_points should be >= 2."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - nonpositive_max_length: - if (xtable != NULL) - free (xtable); - if (xcolumn != NULL) - free (xcolumn); - if (sql_in != NULL) - sqlite3_free (sql_in); - if (sql_out != NULL) - sqlite3_free (sql_out); - if (sql_in2 != NULL) - sqlite3_free (sql_in2); - msg = "SQL/MM Spatial exception - max_length should be > 0.0."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -static int -check_matching_srid (GaiaTopologyAccessorPtr accessor, int srid) -{ -/* checking for matching SRID */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo->srid != srid) - return 0; - return 1; -} - -static int -check_reference_geo_table (sqlite3 * sqlite, const char *db_prefix, - const char *table, const char *column, char **xtable, - char **xcolumn, int *srid) -{ - int dims; - return check_input_geo_table (sqlite, db_prefix, table, column, xtable, - xcolumn, srid, &dims); -} - -static int -check_reference_table (sqlite3 * sqlite, const char *db_prefix, - const char *table) -{ -/* checking if an input GeoTable do really exist */ - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - char *sql; - char *xprefix; - int count = 0; - char *xtable; - -/* testing if the Table do really exist */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - sql = sqlite3_mprintf ("PRAGMA \"%s\".table_info(\"%s\")", xprefix, xtable); - free (xprefix); - free (xtable); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - count++; - sqlite3_free_table (results); - - if (count < 1) - return 0; - return 1; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_ToGeoTable (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_ToGeoTable ( text topology-name, text db-prefix, text ref_table, -/ text ref_column, text out_table ) -/ TopoGeo_ToGeoTable ( text topology-name, text db-prefix, text ref_table, -/ text ref_column, text out_table, int with-spatial-index ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *db_prefix; - const char *ref_table; - const char *ref_column; - const char *out_table; - int with_spatial_index = 0; - char *xreftable = NULL; - char *xrefcolumn = NULL; - int srid; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - ref_table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - ref_column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - ref_column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - out_table = (const char *) sqlite3_value_text (argv[4]); - else - goto invalid_arg; - if (argc >= 6) - { - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - with_spatial_index = sqlite3_value_int (argv[5]); - else - goto invalid_arg; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the reference GeoTable */ - if (!check_reference_geo_table - (sqlite, db_prefix, ref_table, ref_column, &xreftable, &xrefcolumn, - &srid)) - goto no_reference; - if (!check_matching_srid (accessor, srid)) - goto invalid_geom; - -/* checking the output GeoTable */ - if (!check_output_geo_table (sqlite, out_table)) - goto err_output; - - start_topo_savepoint (sqlite, cache); - ret = - gaiaTopoGeo_ToGeoTable (accessor, db_prefix, xreftable, xrefcolumn, - out_table, with_spatial_index); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_reference: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "TopoGeo_ToGeoTable: invalid reference GeoTable."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - err_output: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "TopoGeo_ToGeoTable: output GeoTable already exists."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_ToGeoTableGeneralize (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_ToGeoTableGeneralize ( text topology-name, text db-prefix, -/ text ref_table, text ref_column, -/ text out_table, double tolerance ) -/ TopoGeo_ToGeoTableGeneralize ( text topology-name, text db-prefix, -/ text ref_table, text ref_column, -/ text out_table, double tolerance, -/ int with-spatial-index ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *db_prefix; - const char *ref_table; - const char *ref_column; - const char *out_table; - double tolerance = 0.0; - int with_spatial_index = 0; - char *xreftable = NULL; - char *xrefcolumn = NULL; - int srid; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - ref_table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - ref_column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - ref_column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - out_table = (const char *) sqlite3_value_text (argv[4]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[5]); - tolerance = val; - } - else if (sqlite3_value_type (argv[5]) == SQLITE_FLOAT) - tolerance = sqlite3_value_double (argv[5]); - else - goto invalid_arg; - if (argc >= 7) - { - if (sqlite3_value_type (argv[6]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[6]) == SQLITE_INTEGER) - with_spatial_index = sqlite3_value_int (argv[6]); - else - goto invalid_arg; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the reference GeoTable */ - if (!check_reference_geo_table - (sqlite, db_prefix, ref_table, ref_column, &xreftable, &xrefcolumn, - &srid)) - goto no_reference; - if (!check_matching_srid (accessor, srid)) - goto invalid_geom; - -/* checking the output GeoTable */ - if (!check_output_geo_table (sqlite, out_table)) - goto err_output; - - start_topo_savepoint (sqlite, cache); - ret = - gaiaTopoGeo_ToGeoTableGeneralize (accessor, db_prefix, xreftable, - xrefcolumn, out_table, tolerance, - with_spatial_index); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_reference: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "TopoGeo_ToGeoTableGeneralize: invalid reference GeoTable."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - err_output: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "TopoGeo_ToGeoTableGeneralize: output GeoTable already exists."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_RemoveSmallFaces (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_RemoveSmallFaces ( text topology-name, double min-area ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - double min_area = 0.0; - char *xreftable = NULL; - char *xrefcolumn = NULL; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - { - int val = sqlite3_value_int (argv[1]); - min_area = val; - } - else if (sqlite3_value_type (argv[1]) == SQLITE_FLOAT) - min_area = sqlite3_value_double (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - gaiatopo_reset_last_error_msg (accessor); - start_topo_savepoint (sqlite, cache); - ret = gaiaTopoGeo_RemoveSmallFaces (accessor, min_area); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_RemoveDanglingEdges (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_RemoveDanglingEdges ( text topology-name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - char *xreftable = NULL; - char *xrefcolumn = NULL; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - gaiatopo_reset_last_error_msg (accessor); - start_topo_savepoint (sqlite, cache); - ret = gaiaTopoGeo_RemoveDanglingEdges (accessor); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_RemoveDanglingNodes (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_RemoveDanglingNodes ( text topology-name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - char *xreftable = NULL; - char *xrefcolumn = NULL; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - gaiatopo_reset_last_error_msg (accessor); - start_topo_savepoint (sqlite, cache); - ret = gaiaTopoGeo_RemoveDanglingNodes (accessor); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_NewEdgeHeal (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_NewEdgeHeal ( text topology-name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - char *xreftable = NULL; - char *xrefcolumn = NULL; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - if (test_inconsistent_topology (accessor) != 0) - goto inconsistent_topology; - - gaiatopo_reset_last_error_msg (accessor); - start_topo_savepoint (sqlite, cache); - ret = gaiaTopoGeo_NewEdgeHeal (accessor); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - inconsistent_topology: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = - "TopoGeo_NewEdgeHeal exception - inconsisten Topology; try executiong TopoGeo_Polygonize to recover."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_ModEdgeHeal (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_ModEdgeHeal ( text topology-name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - char *xreftable = NULL; - char *xrefcolumn = NULL; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - if (test_inconsistent_topology (accessor) != 0) - goto inconsistent_topology; - - gaiatopo_reset_last_error_msg (accessor); - start_topo_savepoint (sqlite, cache); - ret = gaiaTopoGeo_ModEdgeHeal (accessor); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - inconsistent_topology: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = - "TopoGeo_ModEdgeHeal exception - inconsisten Topology; try executiong TopoGeo_Polygonize to recover."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -static int -do_clone_face (const char *db_prefix, const char *in_topology_name, - struct gaia_topology *topo_out) -{ -/* cloning FACE */ - char *sql; - char *table; - char *xprefix; - char *xtable; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - int ret; - -/* preparing the input SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - table = sqlite3_mprintf ("%s_face", in_topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT face_id, mbr FROM \"%s\".\"%s\" WHERE face_id <> 0", - xprefix, xtable); - free (xprefix); - free (xtable); - ret = - sqlite3_prepare_v2 (topo_out->db_handle, sql, strlen (sql), &stmt_in, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM \"face\" error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - -/* preparing the output SQL statement */ - table = sqlite3_mprintf ("%s_face", topo_out->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (face_id, mbr) VALUES (?, ?)", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo_out->db_handle, sql, strlen (sql), &stmt_out, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("INSERT INTO \"face\" error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - if (sqlite3_column_type (stmt_in, 0) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 1, - sqlite3_column_int64 (stmt_in, 0)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 1) == SQLITE_NULL) - sqlite3_bind_null (stmt_out, 2); - else if (sqlite3_column_type (stmt_in, 1) == SQLITE_BLOB) - sqlite3_bind_blob (stmt_out, 2, - sqlite3_column_blob (stmt_in, 1), - sqlite3_column_bytes (stmt_in, 1), - SQLITE_STATIC); - else - goto invalid_value; - /* inserting into the output table */ - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("INSERT INTO \"face\" step error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - } - else - { - spatialite_e ("SELECT FROM \"face\" step error: %s", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - invalid_value: - spatialite_e ("SELECT FROM \"face\": found an invalid value"); - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -static int -do_clone_node (const char *db_prefix, const char *in_topology_name, - struct gaia_topology *topo_out) -{ -/* cloning NODE */ - char *sql; - char *table; - char *xprefix; - char *xtable; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - int ret; - -/* preparing the input SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - table = sqlite3_mprintf ("%s_node", in_topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT node_id, containing_face, geom FROM \"%s\".\"%s\"", xprefix, - xtable); - free (xprefix); - free (xtable); - ret = - sqlite3_prepare_v2 (topo_out->db_handle, sql, strlen (sql), &stmt_in, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM \"node\" error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - -/* preparing the output SQL statement */ - table = sqlite3_mprintf ("%s_node", topo_out->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (node_id, containing_face, geom) " - "VALUES (?, ?, ?)", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo_out->db_handle, sql, strlen (sql), &stmt_out, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("INSERT INTO \"node\" error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - if (sqlite3_column_type (stmt_in, 0) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 1, - sqlite3_column_int64 (stmt_in, 0)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 1) == SQLITE_NULL) - sqlite3_bind_null (stmt_out, 2); - else if (sqlite3_column_type (stmt_in, 1) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 2, - sqlite3_column_int64 (stmt_in, 1)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 2) == SQLITE_BLOB) - sqlite3_bind_blob (stmt_out, 3, - sqlite3_column_blob (stmt_in, 2), - sqlite3_column_bytes (stmt_in, 2), - SQLITE_STATIC); - else - goto invalid_value; - /* inserting into the output table */ - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("INSERT INTO \"node\" step error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - } - else - { - spatialite_e ("SELECT FROM \"node\" step error: %s", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - invalid_value: - spatialite_e ("SELECT FROM \"node\": found an invalid value"); - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -static int -do_clone_edge (const char *db_prefix, const char *in_topology_name, - struct gaia_topology *topo_out) -{ -/* cloning EDGE */ - char *sql; - char *table; - char *xprefix; - char *xtable; - sqlite3_stmt *stmt_in = NULL; - sqlite3_stmt *stmt_out = NULL; - int ret; - -/* preparing the input SQL statement */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - table = sqlite3_mprintf ("%s_edge", in_topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT edge_id, start_node, end_node, next_left_edge, " - "next_right_edge, left_face, right_face, geom FROM \"%s\".\"%s\"", - xprefix, xtable); - free (xprefix); - free (xtable); - ret = - sqlite3_prepare_v2 (topo_out->db_handle, sql, strlen (sql), &stmt_in, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM \"edge\" error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - -/* preparing the output SQL statement */ - table = sqlite3_mprintf ("%s_edge", topo_out->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (edge_id, start_node, end_node, " - "next_left_edge, next_right_edge, left_face, right_face, geom) " - "VALUES (?, ?, ?, ?, ?, ?, ?, ?)", xtable); - free (xtable); - ret = - sqlite3_prepare_v2 (topo_out->db_handle, sql, strlen (sql), &stmt_out, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("INSERT INTO \"edge\" error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - if (sqlite3_column_type (stmt_in, 0) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 1, - sqlite3_column_int64 (stmt_in, 0)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 1) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 2, - sqlite3_column_int64 (stmt_in, 1)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 2) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 3, - sqlite3_column_int64 (stmt_in, 2)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 3) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 4, - sqlite3_column_int64 (stmt_in, 3)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 4) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 5, - sqlite3_column_int64 (stmt_in, 4)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 5) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 6, - sqlite3_column_int64 (stmt_in, 5)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 6) == SQLITE_INTEGER) - sqlite3_bind_int64 (stmt_out, 7, - sqlite3_column_int64 (stmt_in, 6)); - else - goto invalid_value; - if (sqlite3_column_type (stmt_in, 7) == SQLITE_BLOB) - sqlite3_bind_blob (stmt_out, 8, - sqlite3_column_blob (stmt_in, 7), - sqlite3_column_bytes (stmt_in, 7), - SQLITE_STATIC); - else - goto invalid_value; - /* inserting into the output table */ - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - spatialite_e ("INSERT INTO \"edge\" step error: \"%s\"", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - } - else - { - spatialite_e ("SELECT FROM \"edge\" step error: %s", - sqlite3_errmsg (topo_out->db_handle)); - goto error; - } - } - - sqlite3_finalize (stmt_in); - sqlite3_finalize (stmt_out); - return 1; - - invalid_value: - spatialite_e ("SELECT FROM \"edge\": found an invalid value"); - - error: - if (stmt_in != NULL) - sqlite3_finalize (stmt_in); - if (stmt_out != NULL) - sqlite3_finalize (stmt_out); - return 0; -} - -static int -do_clone_topology (const char *db_prefix, const char *in_topology, - GaiaTopologyAccessorPtr accessor) -{ -/* cloning a full Topology */ - struct gaia_topology *topo_out = (struct gaia_topology *) accessor; - -/* cloning FACE */ - if (!do_clone_face (db_prefix, in_topology, topo_out)) - return 0; - -/* cloning NODE */ - if (!do_clone_node (db_prefix, in_topology, topo_out)) - return 0; - -/* cloning EDGE */ - if (!do_clone_edge (db_prefix, in_topology, topo_out)) - return 0; - - return 1; -} - -static char * -gaiaGetAttachedTopology (sqlite3 * handle, const char *db_prefix, - const char *topo_name, int *srid, double *tolerance, - int *has_z) -{ -/* attempting to retrieve the Input Topology for TopoGeo_Clone */ - char *sql; - int ret; - sqlite3_stmt *stmt = NULL; - int ok = 0; - char *xprefix; - char *xtopology_name = NULL; - int xsrid; - double xtolerance; - int xhas_z; - -/* preparing the SQL query */ - xprefix = gaiaDoubleQuotedSql (db_prefix); - sql = - sqlite3_mprintf - ("SELECT topology_name, srid, tolerance, has_z FROM \"%s\".topologies WHERE " - "Lower(topology_name) = Lower(%Q)", xprefix, topo_name); - free (xprefix); - ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - spatialite_e ("SELECT FROM topologys error: \"%s\"\n", - sqlite3_errmsg (handle)); - return NULL; - } - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int ok_name = 0; - int ok_srid = 0; - int ok_tolerance = 0; - int ok_z = 0; - if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT) - { - const char *str = - (const char *) sqlite3_column_text (stmt, 0); - if (xtopology_name != NULL) - free (xtopology_name); - xtopology_name = malloc (strlen (str) + 1); - strcpy (xtopology_name, str); - ok_name = 1; - } - if (sqlite3_column_type (stmt, 1) == SQLITE_INTEGER) - { - xsrid = sqlite3_column_int (stmt, 1); - ok_srid = 1; - } - if (sqlite3_column_type (stmt, 2) == SQLITE_FLOAT) - { - xtolerance = sqlite3_column_double (stmt, 2); - ok_tolerance = 1; - } - if (sqlite3_column_type (stmt, 3) == SQLITE_INTEGER) - { - xhas_z = sqlite3_column_int (stmt, 3); - ok_z = 1; - } - if (ok_name && ok_srid && ok_tolerance && ok_z) - { - ok = 1; - break; - } - } - else - { - spatialite_e - ("step: SELECT FROM topologies error: \"%s\"\n", - sqlite3_errmsg (handle)); - sqlite3_finalize (stmt); - return NULL; - } - } - sqlite3_finalize (stmt); - - if (ok) - { - *srid = xsrid; - *tolerance = xtolerance; - *has_z = xhas_z; - return xtopology_name; - } - - if (xtopology_name != NULL) - free (xtopology_name); - return NULL; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_Clone (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_Clone ( text db-prefix, text in-topology-name, text out-topology-name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *db_prefix = "MAIN"; - const char *in_topo_name; - const char *out_topo_name; - char *input_topo_name = NULL; - int srid; - double tolerance; - int has_z; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - ; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - in_topo_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - out_topo_name = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - -/* checking the origin Topology */ - input_topo_name = - gaiaGetAttachedTopology (sqlite, db_prefix, in_topo_name, &srid, - &tolerance, &has_z); - if (input_topo_name == NULL) - goto no_topo; - -/* attempting to create the destination Topology */ - start_topo_savepoint (sqlite, cache); - ret = gaiaTopologyCreate (sqlite, out_topo_name, srid, tolerance, has_z); - if (!ret) - { - rollback_topo_savepoint (sqlite, cache); - goto no_topo2; - } - -/* attempting to get a Topology Accessor (destination) */ - accessor = gaiaGetTopology (sqlite, cache, out_topo_name); - if (accessor == NULL) - goto no_topo2; - gaiatopo_reset_last_error_msg (accessor); - -/* cloning Topology */ - ret = do_clone_topology (db_prefix, input_topo_name, accessor); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - sqlite3_result_error (context, "Clone Topology failure", -1); - return; - } - sqlite3_result_int (context, 1); - if (input_topo_name != NULL) - free (input_topo_name); - return; - - no_topo: - if (input_topo_name != NULL) - free (input_topo_name); - msg = "SQL/MM Spatial exception - invalid topology name (origin)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_topo2: - if (input_topo_name != NULL) - free (input_topo_name); - msg = "SQL/MM Spatial exception - invalid topology name (destination)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (input_topo_name != NULL) - free (input_topo_name); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (input_topo_name != NULL) - free (input_topo_name); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_GetEdgeSeed (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_GetEdgeSeed ( text topology-name, int edge_id ) -/ -/ returns: a Point (seed) identifying the Edge -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - sqlite3_int64 edge_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr geom; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - edge_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - gaiatopo_reset_last_error_msg (accessor); - geom = gaiaGetEdgeSeed (accessor, edge_id); - if (geom == NULL) - { - msg = gaiaGetRtTopoErrorMsg (cache); - if (msg != NULL) - { - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - } - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - if (p_blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, p_blob, n_bytes, free); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_GetFaceSeed (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_GetFaceSeed ( text topology-name, int face_id ) -/ -/ returns: a Point (seed) identifying the Edge -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - sqlite3_int64 face_id; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr geom; - GaiaTopologyAccessorPtr accessor = NULL; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (cache != NULL) - gpkg_mode = cache->gpkg_mode; - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - face_id = sqlite3_value_int64 (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - gaiatopo_reset_last_error_msg (accessor); - geom = gaiaGetFaceSeed (accessor, face_id); - if (geom == NULL) - { - msg = gaiaGetRtTopoErrorMsg (cache); - if (msg != NULL) - { - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - } - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - if (p_blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, p_blob, n_bytes, free); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_UpdateSeeds (const void *xcontext, int argc, const void *xargv) -{ -/* SQL function: -/ TopoGeo_UpdateSeeds ( text topology-name ) -/ TopoGeo_UpdateSeeds ( text topology-name, int incremental_mode ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - int incremental_mode = 1; - int ret; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (argc >= 2) - { - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_INTEGER) - incremental_mode = sqlite3_value_int (argv[1]); - else - goto invalid_arg; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - - gaiatopo_reset_last_error_msg (accessor); - start_topo_savepoint (sqlite, cache); - ret = gaiaTopoGeoUpdateSeeds (accessor, incremental_mode); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - if (msg != NULL) - { - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_null (context); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_SnapPointToSeed (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_SnapPointToSeed ( geometry point, text topology-name, double distance ) -/ -/ returns: a snapped point geometry -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - GaiaTopologyAccessorPtr accessor = NULL; - gaiaGeomCollPtr geom = NULL; - gaiaGeomCollPtr result = NULL; - double dist; - unsigned char *p_blob; - int n_bytes; - int invalid = 0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - } - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int intval = sqlite3_value_int (argv[2]); - dist = intval; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - dist = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - -/* attempting to get a Point Geometry */ - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geom) - goto invalid_arg; - if (geom->FirstLinestring != NULL) - invalid = 1; - if (geom->FirstPolygon != NULL) - invalid = 1; - if (geom->FirstPoint != geom->LastPoint || geom->FirstPoint == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims (accessor, geom->Srid, geom->DimensionModel)) - goto invalid_geom; - - result = gaiaTopoGeoSnapPointToSeed (accessor, geom, dist); - if (result == NULL) - { - gaiaFreeGeomColl (geom); - sqlite3_result_null (context); - return; - } - gaiaToSpatiaLiteBlobWkbEx (result, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - gaiaFreeGeomColl (result); - if (p_blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, p_blob, n_bytes, free); - return; - - no_topo: - if (geom != NULL) - gaiaFreeGeomColl (geom); - if (result != NULL) - gaiaFreeGeomColl (result); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - if (result != NULL) - gaiaFreeGeomColl (result); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - if (result != NULL) - gaiaFreeGeomColl (result); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (geom != NULL) - gaiaFreeGeomColl (geom); - if (result != NULL) - gaiaFreeGeomColl (result); - msg = - "SQL/MM Spatial exception - invalid Point (mismatching SRID od dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_SnapLineToSeed (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_SnapLineToSeed ( geometry line, text topology-name, double distance ) -/ -/ returns: a snapped linestring geometry -/ raises an exception on failure -*/ - const char *msg; - const char *topo_name; - GaiaTopologyAccessorPtr accessor = NULL; - gaiaGeomCollPtr geom = NULL; - gaiaGeomCollPtr result = NULL; - double dist; - unsigned char *p_blob; - int n_bytes; - int invalid = 0; - int gpkg_amphibious = 0; - int gpkg_mode = 0; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - - if (cache != NULL) - { - gpkg_amphibious = cache->gpkg_amphibious_mode; - gpkg_mode = cache->gpkg_mode; - } - - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - if (sqlite3_value_type (argv[0]) == SQLITE_BLOB) - { - p_blob = (unsigned char *) sqlite3_value_blob (argv[0]); - n_bytes = sqlite3_value_bytes (argv[0]); - } - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_INTEGER) - { - int intval = sqlite3_value_int (argv[2]); - dist = intval; - } - else if (sqlite3_value_type (argv[2]) == SQLITE_FLOAT) - dist = sqlite3_value_double (argv[2]); - else - goto invalid_arg; - -/* attempting to get a Linestring Geometry */ - geom = - gaiaFromSpatiaLiteBlobWkbEx (p_blob, n_bytes, gpkg_mode, - gpkg_amphibious); - if (!geom) - goto invalid_arg; - if (geom->FirstPoint != NULL) - invalid = 1; - if (geom->FirstPolygon != NULL) - invalid = 1; - if (geom->FirstLinestring != geom->LastLinestring - || geom->FirstLinestring == NULL) - invalid = 1; - if (invalid) - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - if (!check_matching_srid_dims (accessor, geom->Srid, geom->DimensionModel)) - goto invalid_geom; - - result = gaiaTopoGeoSnapLinestringToSeed (accessor, geom, dist); - if (result == NULL) - { - gaiaFreeGeomColl (geom); - sqlite3_result_null (context); - return; - } - gaiaToSpatiaLiteBlobWkbEx (result, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - gaiaFreeGeomColl (result); - if (p_blob == NULL) - sqlite3_result_null (context); - else - sqlite3_result_blob (context, p_blob, n_bytes, free); - return; - - no_topo: - if (geom != NULL) - gaiaFreeGeomColl (geom); - if (result != NULL) - gaiaFreeGeomColl (result); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - if (result != NULL) - gaiaFreeGeomColl (result); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (geom != NULL) - gaiaFreeGeomColl (geom); - if (result != NULL) - gaiaFreeGeomColl (result); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (geom != NULL) - gaiaFreeGeomColl (geom); - if (result != NULL) - gaiaFreeGeomColl (result); - msg = - "SQL/MM Spatial exception - invalid Line (mismatching SRID od dimensions)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -static int -topolayer_exists (GaiaTopologyAccessorPtr accessor, const char *topolayer_name) -{ -/* checking if a TopoLayer is already defined */ - char *table; - char *xtable; - char *sql; - int ret; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int count = 0; - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (topo == NULL) - return 0; - - table = sqlite3_mprintf ("%s_topolayers", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT Count(*) FROM MAIN.\"%s\" WHERE topolayer_name = Lower(%Q)", - xtable, topolayer_name); - free (xtable); - ret = - sqlite3_get_table (topo->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return 0; - } - for (i = 1; i <= rows; i++) - { - count = atoi (results[(i * columns) + 0]); - } - sqlite3_free_table (results); - - if (count == 0) - return 0; - return 1; -} - -static int -check_view (struct gaia_topology *topo, const char *db_prefix, - const char *table, const char *column) -{ -/* checking a candidate View (or unregistered Table) for valid Geoms */ - char *sql; - char *xcolumn; - char *xprefix; - char *xtable; - int ret; - sqlite3_stmt *stmt = NULL; - int nulls = 0; - int others = 0; - int geoms = 0; - int wrong_srids = 0; - - xcolumn = gaiaDoubleQuotedSql (column); - xprefix = gaiaDoubleQuotedSql (db_prefix); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT \"%s\" FROM \"%s\".\"%s\"", xcolumn, xprefix, - xtable); - free (xcolumn); - free (xprefix); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer() error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, msg); - sqlite3_free (msg); - goto error; - } - - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - gaiaGeomCollPtr geom = NULL; - const unsigned char *blob; - int blob_sz; - if (sqlite3_column_type (stmt, 0) == SQLITE_NULL) - nulls++; - else if (sqlite3_column_type (stmt, 0) == SQLITE_BLOB) - { - blob = sqlite3_column_blob (stmt, 0); - blob_sz = sqlite3_column_bytes (stmt, 0); - geom = gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom) - { - if (geom->Srid != topo->srid) - wrong_srids++; - gaiaFreeGeomColl (geom); - geoms++; - } - else - others++; - } - else - others++; - } - else - { - char *msg = - sqlite3_mprintf ("TopoGeo_CreateTopoLayer step error: %s", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg ((GaiaTopologyAccessorPtr) topo, - msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_finalize (stmt); - if (geoms == 0) - return 0; - if (others != 0) - return 0; - if (wrong_srids != 0) - return 0; - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_CreateTopoLayer (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_CreateTopoLayer ( text topology-name, text db-prefix, text ref_table, -/ text ref_column, text topolayer_name ) -/ TopoGeo_CreateTopoLayer ( text topology-name, text db-prefix, text ref_table, -/ text ref_column, text topolayer_name, -/ boolean is_view ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *db_prefix; - const char *ref_table; - const char *ref_column; - const char *topolayer_name; - int is_view = 0; - char *xreftable = NULL; - char *xrefcolumn = NULL; - int srid; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - ref_table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - ref_column = NULL; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - ref_column = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_TEXT) - topolayer_name = (const char *) sqlite3_value_text (argv[4]); - else - goto invalid_arg; - if (argc >= 6) - { - if (sqlite3_value_type (argv[5]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[5]) == SQLITE_INTEGER) - is_view = sqlite3_value_int (argv[5]); - else - goto invalid_arg; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - - if (is_view) - { - /* checking a View (or an unregistered geo-table) */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - if (ref_column == NULL) - goto null_view_geom; - if (!check_view (topo, db_prefix, ref_table, ref_column)) - goto invalid_view; - xreftable = malloc (strlen (ref_table) + 1); - strcpy (xreftable, ref_table); - xrefcolumn = malloc (strlen (ref_column) + 1); - strcpy (xrefcolumn, ref_column); - } - else - { - /* checking the reference GeoTable */ - if (!check_reference_geo_table - (sqlite, db_prefix, ref_table, ref_column, &xreftable, - &xrefcolumn, &srid)) - goto no_reference; - if (!check_matching_srid (accessor, srid)) - goto invalid_geom; - } - -/* checking the output TopoLayer */ - if (topolayer_exists (accessor, topolayer_name)) - goto err_output; - - start_topo_savepoint (sqlite, cache); - ret = - gaiaTopoGeo_CreateTopoLayer (accessor, db_prefix, xreftable, xrefcolumn, - topolayer_name); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - free (xreftable); - free (xrefcolumn); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_reference: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "TopoGeo_CreateTopoLayer: invalid reference GeoTable."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_view_geom: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = - "TopoGeo_CreateTopoLayer: IsView requires an explicit Geometry column-name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_view: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "TopoGeo_CreateTopoLayer: invalid reference View (invalid Geometry)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - err_output: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = - "TopoGeo_CreateTopoLayer: a TopoLayer of the same name already exists."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_geom: - if (xreftable != NULL) - free (xreftable); - if (xrefcolumn != NULL) - free (xrefcolumn); - msg = - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID)."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_InitTopoLayer (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_InitTopoLayer ( text topology-name, text db-prefix, text ref_table, -/ text topolayer_name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *db_prefix; - const char *ref_table; - const char *topolayer_name; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - db_prefix = "main"; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - db_prefix = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - ref_table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[3]) == SQLITE_TEXT) - topolayer_name = (const char *) sqlite3_value_text (argv[3]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the reference Table */ - if (!check_reference_table (sqlite, db_prefix, ref_table)) - goto no_reference; - -/* checking the output TopoLayer */ - if (topolayer_exists (accessor, topolayer_name)) - goto err_output; - - start_topo_savepoint (sqlite, cache); - ret = - gaiaTopoGeo_InitTopoLayer (accessor, db_prefix, ref_table, - topolayer_name); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - no_reference: - msg = "TopoGeo_InitTopoLayer: invalid reference Table."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - err_output: - msg = "TopoGeo_InitTopoLayer: a TopoLayer of the same name already exists."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_RemoveTopoLayer (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_RemoveTopoLayer ( text topology-name, text topolayer_name ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *topolayer_name; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - topolayer_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the TopoLayer */ - if (!topolayer_exists (accessor, topolayer_name)) - goto err_topolayer; - - start_topo_savepoint (sqlite, cache); - ret = gaiaTopoGeo_RemoveTopoLayer (accessor, topolayer_name); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - const char *msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - err_topolayer: - msg = "TopoGeo_RemoveTopoLayer: not existing TopoLayer."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_ExportTopoLayer (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_ExportTopoLayer ( text topology-name, text topolayer_name, -/ text out_table ) -/ TopoGeo_ExportTopoLayer ( text topology-name, text topolayer_name, -/ text out_table, integer with-spatial-index ) -/ TopoGeo_ExportTopoLayer ( text topology-name, text topolayer_name, -/ text out_table, integer with-spatial-index, -/ integer create-only ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *topolayer_name; - const char *out_table; - int with_spatial_index = 0; - int create_only = 0; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - topolayer_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - out_table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (argc >= 4) - { - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - with_spatial_index = sqlite3_value_int (argv[3]); - else - goto invalid_arg; - } - if (argc >= 5) - { - if (sqlite3_value_type (argv[4]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[4]) == SQLITE_INTEGER) - create_only = sqlite3_value_int (argv[4]); - else - goto invalid_arg; - } - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the input TopoLayer */ - if (!topolayer_exists (accessor, topolayer_name)) - goto err_topolayer; - -/* checking the output GeoTable */ - if (!check_output_geo_table (sqlite, out_table)) - goto invalid_output; - - start_topo_savepoint (sqlite, cache); - ret = - gaiaTopoGeo_ExportTopoLayer (accessor, topolayer_name, out_table, - with_spatial_index, create_only); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_output: - msg = "TopoGeo_ExportTopoLayer: the output GeoTable already exists."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - err_topolayer: - sqlite3_result_error (context, - "TopoGeo_ExportTopoLayer: not existing TopoLayer.", - -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -SPATIALITE_PRIVATE void -fnctaux_TopoGeo_InsertFeatureFromTopoLayer (const void *xcontext, int argc, - const void *xargv) -{ -/* SQL function: -/ TopoGeo_InsertFeatureFromTopoLayer ( text topology-name, -/ text topolayer_name, -/ text out_table, integer fid ) -/ -/ returns: 1 on success -/ raises an exception on failure -*/ - const char *msg; - int ret; - const char *topo_name; - const char *topolayer_name; - const char *out_table; - sqlite3_int64 fid; - GaiaTopologyAccessorPtr accessor = NULL; - sqlite3_context *context = (sqlite3_context *) xcontext; - sqlite3_value **argv = (sqlite3_value **) xargv; - sqlite3 *sqlite = sqlite3_context_db_handle (context); - struct splite_internal_cache *cache = sqlite3_user_data (context); - GAIA_UNUSED (); /* LCOV_EXCL_LINE */ - if (sqlite3_value_type (argv[0]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[0]) == SQLITE_TEXT) - topo_name = (const char *) sqlite3_value_text (argv[0]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[1]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[1]) == SQLITE_TEXT) - topolayer_name = (const char *) sqlite3_value_text (argv[1]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[2]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[2]) == SQLITE_TEXT) - out_table = (const char *) sqlite3_value_text (argv[2]); - else - goto invalid_arg; - if (sqlite3_value_type (argv[3]) == SQLITE_NULL) - goto null_arg; - else if (sqlite3_value_type (argv[3]) == SQLITE_INTEGER) - fid = sqlite3_value_int64 (argv[3]); - else - goto invalid_arg; - -/* attempting to get a Topology Accessor */ - accessor = gaiaGetTopology (sqlite, cache, topo_name); - if (accessor == NULL) - goto no_topo; - gaiatopo_reset_last_error_msg (accessor); - -/* checking the input TopoLayer */ - if (!topolayer_exists (accessor, topolayer_name)) - goto err_topolayer; - -/* checking the output GeoTable */ - if (check_output_geo_table (sqlite, out_table)) - goto invalid_output; - - start_topo_savepoint (sqlite, cache); - ret = - gaiaTopoGeo_InsertFeatureFromTopoLayer (accessor, topolayer_name, - out_table, fid); - if (!ret) - rollback_topo_savepoint (sqlite, cache); - else - release_topo_savepoint (sqlite, cache); - if (!ret) - { - msg = gaiaGetRtTopoErrorMsg (cache); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - } - sqlite3_result_int (context, 1); - return; - - no_topo: - msg = "SQL/MM Spatial exception - invalid topology name."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_output: - msg = - "TopoGeo_InsertFeatureFromTopoLayer: the output GeoTable does not exists."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - err_topolayer: - msg = "TopoGeo_InsertFeatureFromTopoLayer: non-existing TopoLayer."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - null_arg: - msg = "SQL/MM Spatial exception - null argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; - - invalid_arg: - msg = "SQL/MM Spatial exception - invalid argument."; - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_result_error (context, msg, -1); - return; -} - -#endif /* end RTTOPO conditionals */ DELETED src/topology/gaia_topostmts.c Index: src/topology/gaia_topostmts.c ================================================================== --- src/topology/gaia_topostmts.c +++ src/topology/gaia_topostmts.c @@ -1,675 +0,0 @@ -/* - - gaia_topostmts.c -- implementation of Topology prepared statements - - version 4.3, 2015 July 18 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/* - -CREDITS: - -this module has been completely funded by: -Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale -(Topology support) - -CIG: 6038019AE5 - -*/ - -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include - -#include - -#include - -#include "topology_private.h" - -#define GAIA_UNUSED() if (argc || argv) argc = argc; - - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getNodeWithinDistance2D (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getNodeWithinDistance2D prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT node_id FROM MAIN.\"%s\" " - "WHERE ST_Distance(geom, MakePoint(?, ?)) <= ? AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geom' AND search_frame = BuildCircleMBR(?, ?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getNodeWithinDistance2D error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getNodeWithinBox2D (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getNodeWithinBox2D prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT node_id FROM MAIN.\"%s\" WHERE ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geom' AND search_frame = BuildMBR(?, ?, ?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getNodeWithinBox2D error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_insertNodes (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the insertNodes prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (node_id, containing_face, geom) " - "VALUES (?, ?, ?)", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_insertNodes error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getEdgeWithinDistance2D (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getEdgeWithinDistance2D prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT edge_id FROM MAIN.\"%s\" " - "WHERE ST_Distance(geom, MakePoint(?, ?)) <= ? AND ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geom' AND search_frame = BuildCircleMBR(?, ?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getEdgeWithinDistance2D error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getEdgeWithinBox2D (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getEdgeWithinBox2D prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf ("SELECT edge_id FROM MAIN.\"%s\" WHERE ROWID IN (" - "SELECT ROWID FROM SpatialIndex WHERE f_table_name = %Q AND " - "f_geometry_column = 'geom' AND search_frame = BuildMBR(?, ?, ?, ?))", - xtable, table); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getEdgeWithinBox2D error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getAllEdges (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getAllEdges prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("SELECT edge_id, start_node, end_node, left_face, right_face, " - "next_left_edge, next_right_edge, geom FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_getAllEdges error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getFaceContainingPoint_1 (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getFaceContainingPoint #1 prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *rtree; - char *xrtree; - if (topo == NULL) - return NULL; - - rtree = sqlite3_mprintf ("idx_%s_face_mbr", topo->topology_name); - xrtree = gaiaDoubleQuotedSql (rtree); - sql = - sqlite3_mprintf - ("SELECT pkid FROM MAIN.\"%s\" WHERE xmin <= ? AND xmax >= ? AND ymin <= ? AND ymax >= ?", - xrtree); - free (xrtree); - sqlite3_free (rtree); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("Prepare_getFaceContainingPoint #1 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getFaceContainingPoint_2 (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getFaceContainingPoint #2 prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - if (topo == NULL) - return NULL; - - sql = - sqlite3_mprintf - ("SELECT ST_Contains(ST_GetFaceGeometry(%Q, ?), MakePoint(?, ?))", - topo->topology_name); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("Prepare_getFaceContainingPoint #2 error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_insertEdges (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the insertEdges prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (edge_id, start_node, end_node, left_face, " - "right_face, next_left_edge, next_right_edge, geom) " - "VALUES (?, ?, ?, ?, ?, ?, ?, ?)", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_insertEdges error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getNextEdgeId (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getNextEdgeId prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - if (topo == NULL) - return NULL; - - sql = - sqlite3_mprintf - ("SELECT next_edge_id FROM MAIN.topologies WHERE Lower(topology_name) = Lower(%Q)", - topo->topology_name); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_getNextEdgeId error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_setNextEdgeId (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the setNextEdgeId prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - if (topo == NULL) - return NULL; - - sql = - sqlite3_mprintf - ("UPDATE MAIN.topologies SET next_edge_id = next_edge_id + 1 " - "WHERE Lower(topology_name) = Lower(%Q)", topo->topology_name); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_setNextEdgeId error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getRingEdges (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getRingEdges prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_edge", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("WITH RECURSIVE edgering AS (" - "SELECT ? as signed_edge_id, edge_id, next_left_edge, next_right_edge " - "FROM MAIN.\"%s\" WHERE edge_id = ABS(?) UNION SELECT CASE WHEN " - "p.signed_edge_id < 0 THEN p.next_right_edge ELSE p.next_left_edge END, " - "e.edge_id, e.next_left_edge, e.next_right_edge " - "FROM MAIN.\"%s\" AS e, edgering AS p WHERE " - "e.edge_id = CASE WHEN p.signed_edge_id < 0 THEN " - "ABS(p.next_right_edge) ELSE ABS(p.next_left_edge) END ) " - "SELECT * FROM edgering", xtable, xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_getRingEdges error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_insertFaces (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the insertFaces prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("INSERT INTO MAIN.\"%s\" (face_id, mbr) VALUES (?, BuildMBR(?, ?, ?, ?, %d))", - xtable, topo->srid); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_insertFaces error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_updateFacesById (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the updateFacesById prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("UPDATE MAIN.\"%s\" SET mbr = BuildMBR(?, ?, ?, ?, %d) WHERE face_id = ?", - xtable, topo->srid); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_updateFacesById error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_deleteFacesById (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the deleteFacesById prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_face", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\" WHERE face_id = ?", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_deleteFacesById error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_deleteNodesById (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the deleteNodesById prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("%s_node", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\" WHERE node_id = ?", xtable); - free (xtable); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_deleteNodesById error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - - return stmt; -} - -TOPOLOGY_PRIVATE sqlite3_stmt * -do_create_stmt_getFaceWithinBox2D (GaiaTopologyAccessorPtr accessor) -{ -/* attempting to create the getFaceWithinBox2D prepared statement */ - struct gaia_topology *topo = (struct gaia_topology *) accessor; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *table; - char *xtable; - if (topo == NULL) - return NULL; - - table = sqlite3_mprintf ("idx_%s_face_mbr", topo->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sql = - sqlite3_mprintf - ("SELECT pkid, xmin, ymin, xmax, ymax FROM MAIN.\"%s\" " - "WHERE xmin <= ? AND xmax >= ? AND ymin <= ? AND ymax >= ?", xtable); - free (xtable); - sqlite3_free (table); - ret = sqlite3_prepare_v2 (topo->db_handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getFaceWithinBox2D error: \"%s\"", - sqlite3_errmsg (topo->db_handle)); - gaiatopo_set_last_error_msg (accessor, msg); - sqlite3_free (msg); - return NULL; - } - return stmt; -} - -#endif /* end RTTOPO conditionals */ DELETED src/topology/lwn_network.c Index: src/topology/lwn_network.c ================================================================== --- src/topology/lwn_network.c +++ src/topology/lwn_network.c @@ -1,1907 +0,0 @@ -/* - - lwn_network.c -- Topology-Network abstract multi-backend interface - - version 4.3, 2015 August 13 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include - -#include "lwn_network.h" -#include "lwn_network_private.h" - -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif -#include - -#include - -#include - -/********************************************************************* - * - * Backend iface - * - ********************************************************************/ - -LWN_BE_IFACE * -lwn_CreateBackendIface (const RTCTX * ctx, const LWN_BE_DATA * data) -{ - LWN_BE_IFACE *iface = malloc (sizeof (LWN_BE_IFACE)); - iface->ctx = ctx; - iface->data = data; - iface->cb = NULL; - iface->errorMsg = NULL; - return iface; -} - -void -lwn_BackendIfaceRegisterCallbacks (LWN_BE_IFACE * iface, - const LWN_BE_CALLBACKS * cb) -{ - iface->cb = cb; -} - -void -lwn_FreeBackendIface (LWN_BE_IFACE * iface) -{ - if (iface == NULL) - return; - if (iface->errorMsg != NULL) - free (iface->errorMsg); - free (iface); -} - -/********************************************************************* - * - * Backend wrappers - * - ********************************************************************/ - -#define CHECKCB(be, method) do { \ - if ( ! (be)->cb || ! (be)->cb->method ) \ - lwn_SetErrorMsg(be, "Callback " # method " not registered by backend"); \ -} while (0) - -#define NETCB0(be, method) \ - CHECKCB(be, method);\ - return (be)->cb->method((be)->data) - -#define NETCB1(be, method, a1) \ - CHECKCB(be, method);\ - return (be)->cb->method((be)->data, a1) - -#define NETCBT0(to, method) \ - CHECKCB((to)->be_iface, method);\ - return (to)->be_iface->cb->method((to)->be_net) - -#define NETCBT1(to, method, a1) \ - CHECKCB((to)->be_iface, method);\ - return (to)->be_iface->cb->method((to)->be_net, a1) - -#define NETCBT2(to, method, a1, a2) \ - CHECKCB((to)->be_iface, method);\ - return (to)->be_iface->cb->method((to)->be_net, a1, a2) - -#define NETCBT3(to, method, a1, a2, a3) \ - CHECKCB((to)->be_iface, method);\ - return (to)->be_iface->cb->method((to)->be_net, a1, a2, a3) - -#define NETCBT4(to, method, a1, a2, a3, a4) \ - CHECKCB((to)->be_iface, method);\ - return (to)->be_iface->cb->method((to)->be_net, a1, a2, a3, a4) - -#define NETCBT5(to, method, a1, a2, a3, a4, a5) \ - CHECKCB((to)->be_iface, method);\ - return (to)->be_iface->cb->method((to)->be_net, a1, a2, a3, a4, a5) - - -static LWN_BE_NETWORK * -lwn_be_loadNetworkByName (LWN_BE_IFACE * be, const char *name) -{ - NETCB1 (be, loadNetworkByName, name); -} - -static int -lwn_be_netGetSRID (LWN_NETWORK * net) -{ - NETCBT0 (net, netGetSRID); -} - -static int -lwn_be_netHasZ (LWN_NETWORK * net) -{ - NETCBT0 (net, netHasZ); -} - -static int -lwn_be_netIsSpatial (LWN_NETWORK * net) -{ - NETCBT0 (net, netIsSpatial); -} - -static int -lwn_be_netAllowCoincident (LWN_NETWORK * net) -{ - NETCBT0 (net, netAllowCoincident); -} - -static const void * -lwn_be_netGetGEOS (LWN_NETWORK * net) -{ - NETCBT0 (net, netGetGEOS); -} - -static int -lwn_be_freeNetwork (LWN_NETWORK * net) -{ - NETCBT0 (net, freeNetwork); -} - -static LWN_NET_NODE * -lwn_be_getNetNodeWithinDistance2D (const LWN_NETWORK * net, - const LWN_POINT * pt, double dist, - int *numelems, int fields, int limit) -{ - NETCBT5 (net, getNetNodeWithinDistance2D, pt, dist, numelems, fields, - limit); -} - -static LWN_LINK * -lwn_be_getLinkWithinDistance2D (const LWN_NETWORK * net, const LWN_POINT * pt, - double dist, int *numelems, int fields, - int limit) -{ - NETCBT5 (net, getLinkWithinDistance2D, pt, dist, numelems, fields, limit); -} - -static int -lwn_be_updateNetNodesById (const LWN_NETWORK * net, - const LWN_NET_NODE * nodes, int numnodes, - int upd_fields) -{ - NETCBT3 (net, updateNetNodesById, nodes, numnodes, upd_fields); -} - -static int -lwn_be_insertNetNodes (const LWN_NETWORK * net, LWN_NET_NODE * node, - int numelems) -{ - NETCBT2 (net, insertNetNodes, node, numelems); -} - -static LWN_NET_NODE * -lwn_be_getNetNodeById (const LWN_NETWORK * net, const LWN_ELEMID * ids, - int *numelems, int fields) -{ - NETCBT3 (net, getNetNodeById, ids, numelems, fields); -} - -static LWN_LINK * -lwn_be_getLinkByNetNode (const LWN_NETWORK * net, const LWN_ELEMID * ids, - int *numelems, int fields) -{ - NETCBT3 (net, getLinkByNetNode, ids, numelems, fields); -} - -static int -lwn_be_deleteNetNodesById (const LWN_NETWORK * net, const LWN_ELEMID * ids, - int numelems) -{ - NETCBT2 (net, deleteNetNodesById, ids, numelems); -} - -static LWN_ELEMID -lwn_be_getNextLinkId (const LWN_NETWORK * net) -{ - NETCBT0 (net, getNextLinkId); -} - -static LWN_NET_NODE * -lwn_be_getNetNodeWithinBox2D (const LWN_NETWORK * net, - const LWN_BBOX * box, int *numelems, int fields, - int limit) -{ - NETCBT4 (net, getNetNodeWithinBox2D, box, numelems, fields, limit); -} - -static int -lwn_be_insertLinks (const LWN_NETWORK * net, LWN_LINK * link, int numelems) -{ - NETCBT2 (net, insertLinks, link, numelems); -} - -static int -lwn_be_updateLinksById (const LWN_NETWORK * net, LWN_LINK * links, int numlinks, - int upd_fields) -{ - NETCBT3 (net, updateLinksById, links, numlinks, upd_fields); -} - -static LWN_LINK * -lwn_be_getLinkById (const LWN_NETWORK * net, const LWN_ELEMID * ids, - int *numelems, int fields) -{ - NETCBT3 (net, getLinkById, ids, numelems, fields); -} - -static int -lwn_be_deleteLinksById (const LWN_NETWORK * net, const LWN_ELEMID * ids, - int numelems) -{ - NETCBT2 (net, deleteLinksById, ids, numelems); -} - - -/************************************************************************ - * - * API implementation - * - ************************************************************************/ - -LWN_NETWORK * -lwn_LoadNetwork (LWN_BE_IFACE * iface, const char *name) -{ - LWN_BE_NETWORK *be_net; - LWN_NETWORK *net; - - be_net = lwn_be_loadNetworkByName (iface, name); - if (!be_net) - { - lwn_SetErrorMsg (iface, "Could not load network from backend"); - return NULL; - } - net = malloc (sizeof (LWN_NETWORK)); - net->be_iface = iface; - net->be_net = be_net; - net->srid = lwn_be_netGetSRID (net); - net->hasZ = lwn_be_netHasZ (net); - net->spatial = lwn_be_netIsSpatial (net); - net->allowCoincident = lwn_be_netAllowCoincident (net); - net->geos_handle = lwn_be_netGetGEOS (net); - return net; -} - -void -lwn_FreeNetwork (LWN_NETWORK * net) -{ - if (!lwn_be_freeNetwork (net)) - { - lwn_SetErrorMsg (net->be_iface, - "Could not release backend topology memory"); - } - free (net); -} - -LWN_POINT * -lwn_create_point2d (int srid, double x, double y) -{ - LWN_POINT *point = malloc (sizeof (LWN_POINT)); - point->srid = srid; - point->has_z = 0; - point->x = x; - point->y = y; - return point; -} - -LWN_POINT * -lwn_create_point3d (int srid, double x, double y, double z) -{ - LWN_POINT *point = malloc (sizeof (LWN_POINT)); - point->srid = srid; - point->has_z = 1; - point->x = x; - point->y = y; - point->z = z; - return point; -} - -void -lwn_free_point (LWN_POINT * point) -{ - if (point == NULL) - return; - free (point); -} - -LWN_LINE * -lwn_alloc_line (int points, int srid, int hasz) -{ - LWN_LINE *line = malloc (sizeof (LWN_LINE)); - line->points = points; - line->srid = srid; - line->has_z = hasz; - line->x = malloc (sizeof (double) * points); - line->y = malloc (sizeof (double) * points); - if (hasz) - line->z = malloc (sizeof (double) * points); - else - line->z = NULL; - return line; -} - -void -lwn_free_line (LWN_LINE * line) -{ - if (line == NULL) - return; - if (line->x != NULL) - free (line->x); - if (line->y != NULL) - free (line->y); - if (line->z != NULL && line->has_z) - free (line->z); - free (line); -} - -void -lwn_ResetErrorMsg (LWN_BE_IFACE * iface) -{ - if (iface == NULL) - return; - if (iface->errorMsg != NULL) - free (iface->errorMsg); - iface->errorMsg = NULL; -} - -void -lwn_SetErrorMsg (LWN_BE_IFACE * iface, const char *message) -{ - int len; - if (iface == NULL) - return; - if (iface->errorMsg != NULL) - free (iface->errorMsg); - iface->errorMsg = NULL; - if (message == NULL) - return; - len = strlen (message); - iface->errorMsg = malloc (len + 1); - strcpy (iface->errorMsg, message); -} - -const char * -lwn_GetErrorMsg (LWN_BE_IFACE * iface) -{ - if (iface == NULL) - return NULL; - return iface->errorMsg; -} - -static void -_lwn_release_nodes (LWN_NET_NODE * nodes, int num_nodes) -{ - int i; - for (i = 0; i < num_nodes; ++i) - { - if (nodes[i].geom != NULL) - lwn_free_point (nodes[i].geom); - } - free (nodes); -} - -static void -_lwn_release_links (LWN_LINK * links, int num_links) -{ - int i; - for (i = 0; i < num_links; ++i) - { - if (links[i].geom != NULL) - lwn_free_line (links[i].geom); - } - free (links); -} - -LWN_ELEMID -lwn_AddIsoNetNode (LWN_NETWORK * net, LWN_POINT * pt) -{ - LWN_NET_NODE node; - - if (net->spatial && net->allowCoincident == 0) - { - if (lwn_be_existsCoincidentNode (net, pt)) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - coincident node."); - return -1; - } - if (lwn_be_existsLinkIntersectingPoint (net, pt)) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - link crosses node."); - return -1; - } - } - - node.node_id = -1; - node.geom = pt; - if (!lwn_be_insertNetNodes (net, &node, 1)) - return -1; - - return node.node_id; -} - -static LWN_NET_NODE * -_lwn_GetIsoNetNode (LWN_NETWORK * net, LWN_ELEMID nid) -{ - LWN_NET_NODE *node; - int n = 1; - LWN_LINK *links; - int nlinks; - - node = lwn_be_getNetNodeById (net, &nid, &n, LWN_COL_NODE_NODE_ID); - if (n < 0) - return 0; - if (n < 1) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent node."); - return 0; - } - - nlinks = 1; - links = lwn_be_getLinkByNetNode (net, &nid, &nlinks, LWN_COL_LINK_LINK_ID); - if (nlinks < 0) - return 0; - if (nlinks != 0) - { - free (node); - _lwn_release_links (links, nlinks); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - not isolated node."); - return 0; - } - - return node; -} - -static LWN_LINK * -_lwn_GetLink (LWN_NETWORK * net, LWN_ELEMID link_id) -{ - LWN_LINK *link; - int n = 1; - - link = lwn_be_getLinkById (net, &link_id, &n, LWN_COL_LINK_LINK_ID); - if (n < 0) - return 0; - if (n < 1) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent link."); - return 0; - } - return link; -} - -static int -line2bbox (const LWN_LINE * line, LWN_BBOX * bbox) -{ - int iv; - if (line == NULL) - return 0; - - bbox->min_x = DBL_MAX; - bbox->min_y = DBL_MAX; - bbox->max_x = -DBL_MAX; - bbox->max_y = -DBL_MAX; - - for (iv = 0; iv < line->points; iv++) - { - double x = line->x[iv]; - double y = line->y[iv]; - if (x < bbox->min_x) - bbox->min_x = x; - if (y < bbox->min_y) - bbox->min_y = y; - if (x > bbox->max_x) - bbox->max_x = x; - if (y > bbox->max_y) - bbox->max_y = y; - } - - return 1; -} - - -static GEOSGeometry * -point2geos (GEOSContextHandle_t handle, const LWN_POINT * point) -{ - GEOSGeometry *geos = NULL; - GEOSCoordSequence *cs; - cs = GEOSCoordSeq_create_r (handle, 1, 2); - GEOSCoordSeq_setX_r (handle, cs, 0, point->x); - GEOSCoordSeq_setY_r (handle, cs, 0, point->y); - geos = GEOSGeom_createPoint_r (handle, cs); - return geos; -} - -static GEOSGeometry * -line2geos (GEOSContextHandle_t handle, const LWN_LINE * line) -{ - int iv; - GEOSGeometry *geos = NULL; - GEOSCoordSequence *cs; - cs = GEOSCoordSeq_create_r (handle, line->points, 2); - for (iv = 0; iv < line->points; iv++) - { - GEOSCoordSeq_setX_r (handle, cs, iv, line->x[iv]); - GEOSCoordSeq_setY_r (handle, cs, iv, line->y[iv]); - } - geos = GEOSGeom_createLineString_r (handle, cs); - return geos; -} - -/* Check that a link does not cross an existing node - * - * Return -1 on cross or error, 0 if everything is fine. - * Note that before returning -1, lwerror is invoked... - */ -static int -_lwn_CheckLinkCrossing (LWN_NETWORK * net, - LWN_ELEMID start_node, LWN_ELEMID end_node, - const LWN_LINE * geom) -{ - int i, num_nodes; - LWN_NET_NODE *nodes; - LWN_BBOX linkbbox; - GEOSContextHandle_t handle = (GEOSContextHandle_t) (net->geos_handle); - GEOSGeometry *linkgg; - const GEOSPreparedGeometry *prepared_link; - - linkgg = line2geos (handle, geom); - if (!linkgg) - return -1; - prepared_link = GEOSPrepare_r (handle, linkgg); - if (!prepared_link) - return -1; - if (!line2bbox (geom, &linkbbox)) - { - GEOSPreparedGeom_destroy_r (handle, prepared_link); - GEOSGeom_destroy_r (handle, linkgg); - return -1; - } - - /* loop over each node within the edge's gbox */ - nodes = lwn_be_getNetNodeWithinBox2D (net, &linkbbox, &num_nodes, - LWN_COL_NODE_ALL, 0); - if (num_nodes == -1) - { - GEOSPreparedGeom_destroy_r (handle, prepared_link); - GEOSGeom_destroy_r (handle, linkgg); - return -1; - } - for (i = 0; i < num_nodes; ++i) - { - LWN_NET_NODE *node = &(nodes[i]); - GEOSGeometry *nodegg; - int contains; - if (node->node_id == start_node) - continue; - if (node->node_id == end_node) - continue; - /* check if the link contains this node (not on boundary) */ - nodegg = point2geos (handle, node->geom); - /* ST_RelateMatch(rec.relate, 'T********') */ - contains = GEOSPreparedContains_r (handle, prepared_link, nodegg); - GEOSGeom_destroy_r (handle, nodegg); - if (contains == 2) - { - GEOSPreparedGeom_destroy_r (handle, prepared_link); - GEOSGeom_destroy_r (handle, linkgg); - _lwn_release_nodes (nodes, num_nodes); - lwn_SetErrorMsg (net->be_iface, - "GEOS exception on PreparedContains"); - return -1; - } - if (contains) - { - GEOSPreparedGeom_destroy_r (handle, prepared_link); - GEOSGeom_destroy_r (handle, linkgg); - _lwn_release_nodes (nodes, num_nodes); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - geometry crosses a node."); - return -1; - } - } - if (nodes) - _lwn_release_nodes (nodes, num_nodes); - GEOSPreparedGeom_destroy_r (handle, prepared_link); - GEOSGeom_destroy_r (handle, linkgg); - - return 0; -} - -int -lwn_MoveIsoNetNode (LWN_NETWORK * net, LWN_ELEMID nid, const LWN_POINT * pt) -{ - LWN_NET_NODE *node; - int ret; - - node = _lwn_GetIsoNetNode (net, nid); - if (!node) - return -1; - - if (net->spatial && net->allowCoincident == 0) - { - if (lwn_be_existsCoincidentNode (net, pt)) - { - _lwn_release_nodes (node, 1); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - coincident node."); - return -1; - } - - if (lwn_be_existsLinkIntersectingPoint (net, pt)) - { - _lwn_release_nodes (node, 1); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - link crosses node."); - return -1; - } - } - - node->node_id = nid; - if (node->geom) - lwn_free_point (node->geom); - node->geom = (LWN_POINT *) pt; - ret = lwn_be_updateNetNodesById (net, node, 1, LWN_COL_NODE_GEOM); - node->geom = NULL; - _lwn_release_nodes (node, 1); - if (ret == -1) - return -1; - - return 0; -} - -int -lwn_RemIsoNetNode (LWN_NETWORK * net, LWN_ELEMID nid) -{ - LWN_NET_NODE *node; - int n = 1; - - node = _lwn_GetIsoNetNode (net, nid); - if (!node) - return -1; - - n = lwn_be_deleteNetNodesById (net, &nid, n); - if (n == -1) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - not isolated node."); - return -1; - } - if (n != 1) - return -1; - - free (node); - return 0; -} - -static int -getLineFirstPoint (const LWN_LINE * geom, LWN_POINT * pt) -{ - if (geom == NULL) - return 0; - pt->srid = geom->srid; - pt->has_z = geom->has_z; - pt->x = geom->x[0]; - pt->y = geom->y[0]; - if (geom->has_z) - pt->z = geom->z[0]; - return 1; -} - -static int -getLineLastPoint (const LWN_LINE * geom, LWN_POINT * pt) -{ - int iv; - if (geom == NULL) - return 0; - iv = geom->points - 1; - pt->srid = geom->srid; - pt->has_z = geom->has_z; - pt->x = geom->x[iv]; - pt->y = geom->y[iv]; - if (geom->has_z) - pt->z = geom->z[iv]; - return 1; -} - -static int -point_same_2d (LWN_POINT * pt1, LWN_POINT * pt2) -{ - if (pt1->x == pt2->x && pt1->y == pt2->y) - return 1; - return 0; -} - -LWN_ELEMID -lwn_AddLink (LWN_NETWORK * net, - LWN_ELEMID startNode, LWN_ELEMID endNode, LWN_LINE * geom) -{ - int num_nodes; - int i; - LWN_LINK newlink; - LWN_NET_NODE *endpoints; - LWN_ELEMID *node_ids; - LWN_POINT pt; - - /* NOT IN THE SPECS: - * A closed link makes no sense and should always be forbidden - */ - if (startNode == endNode) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - self-closed links are forbidden."); - return -1; - } - - /* - * Check for: - * existence of nodes - * Extract: - * nodes geoms - */ - num_nodes = 2; - node_ids = malloc (sizeof (LWN_ELEMID) * num_nodes); - node_ids[0] = startNode; - node_ids[1] = endNode; - endpoints = lwn_be_getNetNodeById (net, node_ids, &num_nodes, - LWN_COL_NODE_ALL); - if (num_nodes < 0) - return -1; - else if (num_nodes < 2) - { - if (num_nodes) - _lwn_release_nodes (endpoints, num_nodes); - free (node_ids); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent node."); - return -1; - } - for (i = 0; i < num_nodes; ++i) - { - const LWN_NET_NODE *n = &(endpoints[i]); - if (net->spatial) - { - if (n->geom == NULL) - return -1; - if (n->node_id == startNode) - { - /* l) Check that start point of acurve match start node geoms. */ - if (!getLineFirstPoint (geom, &pt)) - return -1; - if (!point_same_2d (&pt, n->geom)) - { - _lwn_release_nodes (endpoints, num_nodes); - free (node_ids); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - " - "start node not geometry start point."); - return -1; - } - } - else - { - /* m) Check that end point of acurve match end node geoms. */ - if (!getLineLastPoint (geom, &pt)) - return -1; - if (!point_same_2d (&pt, n->geom)) - { - _lwn_release_nodes (endpoints, num_nodes); - free (node_ids); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - " - "end node not geometry end point."); - return -1; - } - } - } - } - _lwn_release_nodes (endpoints, num_nodes); - free (node_ids); - - if (net->spatial && net->allowCoincident == 0) - { - if (_lwn_CheckLinkCrossing (net, startNode, endNode, geom)) - return -1; - } - - /* - * All checks passed, time to prepare the new link - */ - - newlink.link_id = lwn_be_getNextLinkId (net); - if (newlink.link_id == -1) - return -1; - - newlink.start_node = startNode; - newlink.end_node = endNode; - newlink.geom = geom; - - if (!lwn_be_insertLinks (net, &newlink, 1)) - return -1; - - return newlink.link_id; -} - -int -lwn_ChangeLinkGeom (LWN_NETWORK * net, LWN_ELEMID link, const LWN_LINE * geom) -{ - int num_nodes; - int i; - LWN_LINK newlink; - LWN_LINK *oldlink; - LWN_NET_NODE *endpoints; - LWN_ELEMID *node_ids; - LWN_POINT pt; - LWN_ELEMID startNode; - LWN_ELEMID endNode; - int ret; - - i = 1; - oldlink = - lwn_be_getLinkById (net, &link, &i, - LWN_COL_LINK_START_NODE | LWN_COL_LINK_END_NODE); - if (!oldlink) - { - if (i == -1) - return -1; - else if (i == 0) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent link."); - return -1; - } - } - startNode = oldlink->start_node; - endNode = oldlink->end_node; - _lwn_release_links (oldlink, 1); - - /* - * Check for: - * existence of nodes - * Extract: - * nodes geoms - */ - num_nodes = 2; - node_ids = malloc (sizeof (LWN_ELEMID) * num_nodes); - node_ids[0] = startNode; - node_ids[1] = endNode; - endpoints = lwn_be_getNetNodeById (net, node_ids, &num_nodes, - LWN_COL_NODE_ALL); - if (num_nodes < 0) - return -1; - else if (num_nodes < 2) - { - if (num_nodes) - _lwn_release_nodes (endpoints, num_nodes); - free (node_ids); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent node."); - return -1; - } - for (i = 0; i < num_nodes; ++i) - { - const LWN_NET_NODE *n = &(endpoints[i]); - if (net->spatial) - { - if (n->geom == NULL) - return -1; - if (n->node_id == startNode) - { - /* l) Check that start point of acurve match start node geoms. */ - if (!getLineFirstPoint (geom, &pt)) - return -1; - if (!point_same_2d (&pt, n->geom)) - { - _lwn_release_nodes (endpoints, num_nodes); - free (node_ids); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - " - "start node not geometry start point."); - return -1; - } - } - else - { - /* m) Check that end point of acurve match end node geoms. */ - if (!getLineLastPoint (geom, &pt)) - return -1; - if (!point_same_2d (&pt, n->geom)) - { - _lwn_release_nodes (endpoints, num_nodes); - free (node_ids); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - " - "end node not geometry end point."); - return -1; - } - } - } - } - _lwn_release_nodes (endpoints, num_nodes); - free (node_ids); - - if (net->spatial && net->allowCoincident == 0) - { - if (_lwn_CheckLinkCrossing (net, startNode, endNode, geom)) - return -1; - } - - /* - * All checks passed, time to prepare the new link - */ - - newlink.link_id = link; - newlink.start_node = startNode; - newlink.end_node = endNode; - newlink.geom = (LWN_LINE *) geom; - - ret = lwn_be_updateLinksById (net, &newlink, 1, LWN_COL_LINK_GEOM); - if (ret == -1) - return -1; - else if (ret == 0) - return -1; - - return 0; -} - -int -lwn_RemoveLink (LWN_NETWORK * net, LWN_ELEMID link_id) -{ - LWN_LINK *link; - int n = 1; - - link = _lwn_GetLink (net, link_id); - if (!link) - return -1; - - n = lwn_be_deleteLinksById (net, &link_id, n); - if (n != 1) - return -1; - - free (link); - return 0; -} - -LWN_INT64 -lwn_NewLogLinkSplit (LWN_NETWORK * net, LWN_ELEMID link) -{ - int i; - LWN_LINK *oldlink; - LWN_LINK newlink[2]; - LWN_ELEMID startNode; - LWN_ELEMID endNode; - LWN_NET_NODE newnode; - - i = 1; - oldlink = - lwn_be_getLinkById (net, &link, &i, - LWN_COL_LINK_START_NODE | LWN_COL_LINK_END_NODE); - if (!oldlink) - { - if (i == -1) - return -1; - else if (i == 0) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent link."); - return -1; - } - } - startNode = oldlink->start_node; - endNode = oldlink->end_node; - _lwn_release_links (oldlink, 1); - -/* inserting a new NetNode */ - newnode.node_id = -1; - newnode.geom = NULL; - if (!lwn_be_insertNetNodes (net, &newnode, 1)) - return -1; - -/* deleting the original Link */ - i = lwn_be_deleteLinksById (net, &link, 1); - if (i != 1) - return -1; - -/* inserting two new Links */ - newlink[0].link_id = lwn_be_getNextLinkId (net); - if (newlink[0].link_id == -1) - return -1; - newlink[1].link_id = lwn_be_getNextLinkId (net); - if (newlink[1].link_id == -1) - return -1; - - newlink[0].start_node = startNode; - newlink[0].end_node = newnode.node_id; - newlink[0].geom = NULL; - newlink[1].start_node = newnode.node_id; - newlink[1].end_node = endNode; - newlink[1].geom = NULL; - - if (!lwn_be_insertLinks (net, newlink, 2)) - return -1; - - return newnode.node_id; -} - -LWN_INT64 -lwn_ModLogLinkSplit (LWN_NETWORK * net, LWN_ELEMID link) -{ - int i; - LWN_LINK *oldlink; - LWN_LINK newlink; - LWN_ELEMID startNode; - LWN_ELEMID endNode; - LWN_NET_NODE newnode; - - i = 1; - oldlink = - lwn_be_getLinkById (net, &link, &i, - LWN_COL_LINK_START_NODE | LWN_COL_LINK_END_NODE); - if (!oldlink) - { - if (i == -1) - return -1; - else if (i == 0) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent link."); - return -1; - } - } - startNode = oldlink->start_node; - endNode = oldlink->end_node; - _lwn_release_links (oldlink, 1); - -/* inserting a new NetNode */ - newnode.node_id = -1; - newnode.geom = NULL; - if (!lwn_be_insertNetNodes (net, &newnode, 1)) - return -1; - -/* update the original Link */ - newlink.link_id = link; - newlink.start_node = startNode; - newlink.end_node = newnode.node_id; - newlink.geom = NULL; - if (!lwn_be_updateLinksById (net, &newlink, 1, LWN_COL_LINK_END_NODE)) - return -1; - -/* inserting a new Link */ - newlink.link_id = lwn_be_getNextLinkId (net); - if (newlink.link_id == -1) - return -1; - newlink.start_node = newnode.node_id; - newlink.end_node = endNode; - newlink.geom = NULL; - - if (!lwn_be_insertLinks (net, &newlink, 1)) - return -1; - - return newnode.node_id; -} - -static int -geo_link_split (LWN_NETWORK * net, const LWN_LINE * oldline, - const LWN_POINT * pt, LWN_LINE * newline1, LWN_LINE * newline2) -{ - const RTCTX *ctx = NULL; - RTPOINTARRAY *pa; - RTPOINT4D point; - int iv; - RTGEOM *rtg_ln; - RTGEOM *rtg_pt; - RTGEOM *split; - RTCOLLECTION *split_col; - RTGEOM *rtg = NULL; - RTLINE *rtl = NULL; - RTPOINT4D pt4d; - int ret = 0; - - if (net == NULL) - return 0; - if (net->be_iface == NULL) - return 0; - ctx = net->be_iface->ctx; - if (ctx == NULL) - return 0; - -/* creating an RTGEOM Linestring from oldline */ - pa = ptarray_construct (ctx, oldline->has_z, 0, oldline->points); - for (iv = 0; iv < oldline->points; iv++) - { - /* copying vertices */ - point.x = oldline->x[iv]; - point.y = oldline->y[iv]; - if (oldline->has_z) - point.z = oldline->z[iv]; - ptarray_set_point4d (ctx, pa, iv, &point); - } - rtg_ln = (RTGEOM *) rtline_construct (ctx, oldline->srid, NULL, pa); - -/* creating an RTGEOM Point from pt */ - pa = ptarray_construct (ctx, pt->has_z, 0, 1); - point.x = pt->x; - point.y = pt->y; - if (pt->has_z) - point.z = pt->z; - ptarray_set_point4d (ctx, pa, 0, &point); - rtg_pt = (RTGEOM *) rtpoint_construct (ctx, oldline->srid, NULL, pa); - -/* Split link */ - split = rtgeom_split (ctx, rtg_ln, rtg_pt); - rtgeom_free (ctx, rtg_ln); - rtgeom_free (ctx, rtg_pt); - if (!split) - { - lwn_SetErrorMsg (net->be_iface, "could not split link by point ?"); - goto end; - } - split_col = rtgeom_as_rtcollection (ctx, split); - if (!split_col) - { - lwn_SetErrorMsg (net->be_iface, - "lwgeom_as_lwcollection returned NULL"); - goto end; - } - if (split_col->ngeoms != 2) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - point not on link."); - goto end; - } - -/* retrieving the first half of the split link */ - rtg = split_col->geoms[0]; - if (rtg->type == RTLINETYPE) - { - rtl = (RTLINE *) rtg; - pa = rtl->points; - newline1->points = pa->npoints; - newline1->x = malloc (sizeof (double) * newline1->points); - newline1->y = malloc (sizeof (double) * newline1->points); - if (newline1->has_z) - newline1->z = malloc (sizeof (double) * newline1->points); - for (iv = 0; iv < newline1->points; iv++) - { - /* copying LINESTRING vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - newline1->x[iv] = pt4d.x; - newline1->y[iv] = pt4d.y; - if (newline1->has_z) - newline1->z[iv] = pt4d.z; - } - } - else - goto end; - -/* retrieving the second half of the split link */ - rtg = split_col->geoms[1]; - if (rtg->type == RTLINETYPE) - { - rtl = (RTLINE *) rtg; - pa = rtl->points; - newline2->points = pa->npoints; - newline2->x = malloc (sizeof (double) * newline2->points); - newline2->y = malloc (sizeof (double) * newline2->points); - if (newline2->has_z) - newline2->z = malloc (sizeof (double) * newline2->points); - for (iv = 0; iv < newline2->points; iv++) - { - /* copying LINESTRING vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - newline2->x[iv] = pt4d.x; - newline2->y[iv] = pt4d.y; - if (newline2->has_z) - newline2->z[iv] = pt4d.z; - } - } - else - goto end; - - ret = 1; - - end: - if (split != NULL) - rtgeom_free (ctx, split); - return ret; -} - -static void -cleanup_line (LWN_LINE * line) -{ - if (line->x != NULL) - free (line->x); - if (line->y != NULL) - free (line->y); - if (line->z != NULL) - free (line->z); -} - -LWN_INT64 -lwn_NewGeoLinkSplit (LWN_NETWORK * net, LWN_ELEMID link, const LWN_POINT * pt) -{ - int i; - LWN_LINK *oldlink; - LWN_LINK newlink[2]; - LWN_ELEMID startNode; - LWN_ELEMID endNode; - LWN_NET_NODE newnode; - LWN_LINE newline1; - LWN_LINE newline2; - - i = 1; - oldlink = lwn_be_getLinkById (net, &link, &i, LWN_COL_LINK_ALL); - if (!oldlink) - { - if (i == -1) - return -1; - else if (i == 0) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent link."); - return -1; - } - } - startNode = oldlink->start_node; - endNode = oldlink->end_node; - - newline1.srid = oldlink->geom->srid; - newline1.has_z = oldlink->geom->has_z; - newline1.points = 0; - newline1.x = NULL; - newline1.y = NULL; - newline1.z = NULL; - newline2.srid = oldlink->geom->srid; - newline2.has_z = oldlink->geom->has_z; - newline2.points = 0; - newline2.x = NULL; - newline2.y = NULL; - newline2.z = NULL; - if (!geo_link_split (net, oldlink->geom, pt, &newline1, &newline2)) - { - _lwn_release_links (oldlink, 1); - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - _lwn_release_links (oldlink, 1); - - if (net->spatial && net->allowCoincident == 0) - { - /* check if a coincident node already exists */ - if (lwn_be_existsCoincidentNode (net, pt)) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - coincident node"); - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - } - -/* inserting a new NetNode */ - newnode.node_id = -1; - newnode.geom = (LWN_POINT *) pt; - if (!lwn_be_insertNetNodes (net, &newnode, 1)) - { - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - -/* deleting the original Link */ - i = lwn_be_deleteLinksById (net, &link, 1); - if (i != 1) - { - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - -/* inserting two new Links */ - newlink[0].link_id = lwn_be_getNextLinkId (net); - if (newlink[0].link_id == -1) - { - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - newlink[1].link_id = lwn_be_getNextLinkId (net); - if (newlink[1].link_id == -1) - { - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - - newlink[0].start_node = startNode; - newlink[0].end_node = newnode.node_id; - newlink[0].geom = &newline1; - newlink[1].start_node = newnode.node_id; - newlink[1].end_node = endNode; - newlink[1].geom = &newline2; - - if (!lwn_be_insertLinks (net, newlink, 2)) - { - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - - cleanup_line (&newline1); - cleanup_line (&newline2); - return newnode.node_id; -} - -LWN_INT64 -lwn_ModGeoLinkSplit (LWN_NETWORK * net, LWN_ELEMID link, const LWN_POINT * pt) -{ - int i; - LWN_LINK *oldlink; - LWN_LINK newlink; - LWN_ELEMID startNode; - LWN_ELEMID endNode; - LWN_NET_NODE newnode; - LWN_LINE newline1; - LWN_LINE newline2; - - i = 1; - oldlink = lwn_be_getLinkById (net, &link, &i, LWN_COL_LINK_ALL); - if (!oldlink) - { - if (i == -1) - return -1; - else if (i == 0) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent link."); - return -1; - } - } - startNode = oldlink->start_node; - endNode = oldlink->end_node; - - newline1.srid = oldlink->geom->srid; - newline1.has_z = oldlink->geom->has_z; - newline1.points = 0; - newline1.x = NULL; - newline1.y = NULL; - newline1.z = NULL; - newline2.srid = oldlink->geom->srid; - newline2.has_z = oldlink->geom->has_z; - newline2.points = 0; - newline2.x = NULL; - newline2.y = NULL; - newline2.z = NULL; - if (!geo_link_split (net, oldlink->geom, pt, &newline1, &newline2)) - { - _lwn_release_links (oldlink, 1); - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - _lwn_release_links (oldlink, 1); - - if (net->spatial && net->allowCoincident == 0) - { - /* check if a coincident node already exists */ - if (lwn_be_existsCoincidentNode (net, pt)) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - coincident node"); - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - } - -/* inserting a new NetNode */ - newnode.node_id = -1; - newnode.geom = (LWN_POINT *) pt; - if (!lwn_be_insertNetNodes (net, &newnode, 1)) - { - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - -/* update the original Link */ - newlink.link_id = link; - newlink.start_node = startNode; - newlink.end_node = newnode.node_id; - newlink.geom = &newline1; - if (!lwn_be_updateLinksById - (net, &newlink, 1, LWN_COL_LINK_END_NODE | LWN_COL_LINK_GEOM)) - return -1; - -/* inserting a new Link */ - newlink.link_id = lwn_be_getNextLinkId (net); - if (newlink.link_id == -1) - { - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - - newlink.start_node = newnode.node_id; - newlink.end_node = endNode; - newlink.geom = &newline2; - - if (!lwn_be_insertLinks (net, &newlink, 1)) - { - cleanup_line (&newline1); - cleanup_line (&newline2); - return -1; - } - - cleanup_line (&newline1); - cleanup_line (&newline2); - return newnode.node_id; -} - -static int -_lwn_LinkHeal (LWN_NETWORK * net, LWN_ELEMID eid1, LWN_ELEMID eid2, - LWN_ELEMID * node_id, LWN_ELEMID * start_node, - LWN_ELEMID * end_node, LWN_LINE * newline) -{ - int caseno = 0; - LWN_ELEMID ids[2]; - LWN_ELEMID commonnode = -1; - LWN_LINK *node_links; - int num_node_links; - LWN_LINK *links; - LWN_LINK *e1 = NULL; - LWN_LINK *e2 = NULL; - int nlinks, i; - int otherlinks = 0; - - /* NOT IN THE SPECS: see if the same link is given twice.. */ - if (eid1 == eid2) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - Cannot heal link with itself."); - return 0; - } - ids[0] = eid1; - ids[1] = eid2; - nlinks = 2; - links = lwn_be_getLinkById (net, ids, &nlinks, LWN_COL_LINK_ALL); - if (nlinks == -1) - return -0; - for (i = 0; i < nlinks; ++i) - { - if (links[i].link_id == eid1) - e1 = &(links[i]); - else if (links[i].link_id == eid2) - e2 = &(links[i]); - } - if (!e1) - { - _lwn_release_links (links, nlinks); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent first link."); - return 0; - } - if (!e2) - { - _lwn_release_links (links, nlinks); - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-existent second link."); - return 0; - } - - /* Find common node */ - - if (e1->end_node == e2->start_node) - { - commonnode = e1->end_node; - *start_node = e1->start_node; - *end_node = e2->end_node; - caseno = 1; - } - else if (e1->end_node == e2->end_node) - { - commonnode = e1->end_node; - *start_node = e1->start_node; - *end_node = e2->start_node; - caseno = 2; - } - else if (e1->start_node == e2->start_node) - { - commonnode = e1->start_node; - *start_node = e2->end_node; - *end_node = e1->end_node; - caseno = 3; - } - else if (e1->start_node == e2->end_node) - { - commonnode = e1->start_node; - *start_node = e2->start_node; - *end_node = e1->start_node; - caseno = 4; - } - - if (e1->geom != NULL && e2->geom != NULL) - { - /* reassembling the healed Link geometry */ - int iv; - int iv2 = 0; - newline->srid = e1->geom->srid; - newline->has_z = e1->geom->has_z; - newline->points = e1->geom->points + e2->geom->points - 1; - newline->x = malloc (sizeof (double) * newline->points); - newline->y = malloc (sizeof (double) * newline->points); - if (newline->has_z) - newline->z = malloc (sizeof (double) * newline->points); - switch (caseno) - { - case 1: - for (iv = 0; iv < e1->geom->points; iv++) - { - newline->x[iv2] = e1->geom->x[iv]; - newline->y[iv2] = e1->geom->y[iv]; - if (newline->has_z) - newline->z[iv2] = e1->geom->z[iv]; - iv2++; - } - for (iv = 1; iv < e2->geom->points; iv++) - { - newline->x[iv2] = e2->geom->x[iv]; - newline->y[iv2] = e2->geom->y[iv]; - if (newline->has_z) - newline->z[iv2] = e2->geom->z[iv]; - iv2++; - } - break; - case 2: - for (iv = 0; iv < e1->geom->points - 1; iv++) - { - newline->x[iv2] = e1->geom->x[iv]; - newline->y[iv2] = e1->geom->y[iv]; - if (newline->has_z) - newline->z[iv2] = e1->geom->z[iv]; - iv2++; - } - for (iv = e2->geom->points - 1; iv >= 0; iv--) - { - newline->x[iv2] = e2->geom->x[iv]; - newline->y[iv2] = e2->geom->y[iv]; - if (newline->has_z) - newline->z[iv2] = e2->geom->z[iv]; - iv2++; - } - break; - case 3: - for (iv = e2->geom->points - 1; iv >= 0; iv--) - { - newline->x[iv2] = e2->geom->x[iv]; - newline->y[iv2] = e2->geom->y[iv]; - if (newline->has_z) - newline->z[iv2] = e2->geom->z[iv]; - iv2++; - } - for (iv = 1; iv < e1->geom->points; iv++) - { - newline->x[iv2] = e1->geom->x[iv]; - newline->y[iv2] = e1->geom->y[iv]; - if (newline->has_z) - newline->z[iv2] = e1->geom->z[iv]; - iv2++; - } - break; - case 4: - for (iv = 0; iv < e2->geom->points; iv++) - { - newline->x[iv2] = e2->geom->x[iv]; - newline->y[iv2] = e2->geom->y[iv]; - if (newline->has_z) - newline->z[iv2] = e2->geom->z[iv]; - iv2++; - } - for (iv = 1; iv < e1->geom->points; iv++) - { - newline->x[iv2] = e1->geom->x[iv]; - newline->y[iv2] = e1->geom->y[iv]; - if (newline->has_z) - newline->z[iv2] = e1->geom->z[iv]; - iv2++; - } - break; - }; - } - - - /* Check if any other link is connected to the common node, if found */ - if (commonnode != -1) - { - num_node_links = 1; - node_links = lwn_be_getLinkByNetNode (net, &commonnode, - &num_node_links, - LWN_COL_LINK_LINK_ID); - if (num_node_links == -1) - { - _lwn_release_links (links, nlinks); - return 0; - } - for (i = 0; i < num_node_links; ++i) - { - if (node_links[i].link_id == eid1) - continue; - if (node_links[i].link_id == eid2) - continue; - commonnode = -1; - otherlinks++; - } - free (node_links); - } - - if (commonnode == -1) - { - _lwn_release_links (links, nlinks); - if (otherlinks) - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - other links connected."); - } - else - { - lwn_SetErrorMsg (net->be_iface, - "SQL/MM Spatial exception - non-connected links."); - } - return 0; - } - _lwn_release_links (links, nlinks); - - *node_id = commonnode; - return 1; -} - -LWN_INT64 -lwn_NewLinkHeal (LWN_NETWORK * net, LWN_ELEMID link, LWN_ELEMID anotherlink) -{ - LWN_ELEMID node_id; - LWN_ELEMID start_node; - LWN_ELEMID end_node; - LWN_ELEMID linkids[2]; - LWN_LINK newlink; - LWN_LINE newline; - int n; - - newline.points = 0; - newline.x = NULL; - newline.y = NULL; - newline.z = NULL; - if (!_lwn_LinkHeal - (net, link, anotherlink, &node_id, &start_node, &end_node, &newline)) - { - cleanup_line (&newline); - return -1; - } - -/* removing both Links */ - linkids[0] = link; - linkids[1] = anotherlink; - n = lwn_be_deleteLinksById (net, linkids, 2); - if (n != 2) - { - cleanup_line (&newline); - return -1; - } - -/* removing the common NetNode */ - n = lwn_be_deleteNetNodesById (net, &node_id, 1); - if (n == -1) - { - cleanup_line (&newline); - return -1; - } - -/* inserting a new healed Link */ - newlink.link_id = -1; - newlink.start_node = start_node; - newlink.end_node = end_node; - if (newline.points == 0) - newlink.geom = NULL; - else - newlink.geom = &newline; - - if (!lwn_be_insertLinks (net, &newlink, 1)) - { - cleanup_line (&newline); - return -1; - } - - cleanup_line (&newline); - return node_id; -} - -LWN_INT64 -lwn_ModLinkHeal (LWN_NETWORK * net, LWN_ELEMID link, LWN_ELEMID anotherlink) -{ - LWN_ELEMID node_id; - LWN_ELEMID start_node; - LWN_ELEMID end_node; - LWN_LINK newlink; - LWN_LINE newline; - int n; - - newline.points = 0; - newline.x = NULL; - newline.y = NULL; - newline.z = NULL; - if (!_lwn_LinkHeal - (net, link, anotherlink, &node_id, &start_node, &end_node, &newline)) - { - cleanup_line (&newline); - return -1; - } - -/* removing the second Link */ - n = lwn_be_deleteLinksById (net, &anotherlink, 1); - if (n != 1) - { - cleanup_line (&newline); - return -1; - } - -/* updating the healed link */ - newlink.link_id = link; - newlink.start_node = start_node; - newlink.end_node = end_node; - if (newline.points == 0) - newlink.geom = NULL; - else - newlink.geom = &newline; - if (!lwn_be_updateLinksById - (net, &newlink, 1, - LWN_COL_LINK_START_NODE | LWN_COL_LINK_END_NODE | LWN_COL_LINK_GEOM)) - { - cleanup_line (&newline); - return -1; - } - -/* removing the common NetNode */ - n = lwn_be_deleteNetNodesById (net, &node_id, 1); - if (n == -1) - { - cleanup_line (&newline); - return -1; - } - - cleanup_line (&newline); - return node_id; -} - -LWN_ELEMID -lwn_GetNetNodeByPoint (LWN_NETWORK * net, const LWN_POINT * pt, double tol) -{ - LWN_NET_NODE *elem; - int num; - int flds = LWN_COL_NODE_NODE_ID; - LWN_ELEMID id = 0; - - elem = lwn_be_getNetNodeWithinDistance2D (net, pt, tol, &num, flds, 0); - if (num <= 0) - return -1; - else if (num > 1) - { - _lwn_release_nodes (elem, num); - lwn_SetErrorMsg (net->be_iface, "Two or more net-nodes found"); - return -1; - } - id = elem[0].node_id; - _lwn_release_nodes (elem, num); - - return id; -} - -LWN_ELEMID -lwn_GetLinkByPoint (LWN_NETWORK * net, const LWN_POINT * pt, double tol) -{ - LWN_LINK *elem; - int num, i; - int flds = LWN_COL_LINK_LINK_ID; - LWN_ELEMID id = 0; - - elem = lwn_be_getLinkWithinDistance2D (net, pt, tol, &num, flds, 0); - if (num <= 0) - return -1; - for (i = 0; i < num; ++i) - { - LWN_LINK *e = &(elem[i]); - - if (id) - { - _lwn_release_links (elem, num); - lwn_SetErrorMsg (net->be_iface, "Two or more links found"); - return -1; - } - else - id = e->link_id; - } - _lwn_release_links (elem, num); - - return id; -} - -/* wrappers of backend wrappers... */ - -int -lwn_be_existsCoincidentNode (const LWN_NETWORK * net, const LWN_POINT * pt) -{ - int exists = 0; - lwn_be_getNetNodeWithinDistance2D (net, pt, 0, &exists, 0, -1); - if (exists == -1) - return 0; - return exists; -} - -int -lwn_be_existsLinkIntersectingPoint (const LWN_NETWORK * net, - const LWN_POINT * pt) -{ - int exists = 0; - lwn_be_getLinkWithinDistance2D (net, pt, 0, &exists, 0, -1); - if (exists == -1) - return 0; - return exists; -} - -#endif /* end RTTOPO conditionals */ DELETED src/topology/lwn_network.h Index: src/topology/lwn_network.h ================================================================== --- src/topology/lwn_network.h +++ src/topology/lwn_network.h @@ -1,874 +0,0 @@ -/* - lwn_network.h -- Topology-Network abstract multi-backend interface - - version 4.3, 2015 August 12 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#ifndef LWN_NETWORK_H -#define LWN_NETWORK_H 1 - -#include - -/* INT64 */ -typedef int64_t LWN_INT64; - -/** Identifier of network element */ -typedef LWN_INT64 LWN_ELEMID; - -/* - * Geometry elements - */ - -typedef struct -{ - int srid; - double x; - double y; - double z; - int has_z; -} -LWN_POINT; - -typedef struct -{ - int srid; - int points; - double *x; - double *y; - double *z; - int has_z; -} -LWN_LINE; - -typedef struct -{ - double min_x; - double min_y; - double max_x; - double max_y; -} -LWN_BBOX; - -/* - * ISO primitive elements - */ - -/** NODE */ -typedef struct -{ - LWN_ELEMID node_id; - LWN_POINT *geom; -} -LWN_NET_NODE; - -/** Node fields */ -#define LWN_COL_NODE_NODE_ID 1<<0 -#define LWN_COL_NODE_GEOM 1<<1 -#define LWN_COL_NODE_ALL (1<<2)-1 - -/** LINK */ -typedef struct -{ - LWN_ELEMID link_id; - LWN_ELEMID start_node; - LWN_ELEMID end_node; - LWN_LINE *geom; -} -LWN_LINK; - -/** Link fields */ -#define LWN_COL_LINK_LINK_ID 1<<0 -#define LWN_COL_LINK_START_NODE 1<<1 -#define LWN_COL_LINK_END_NODE 1<<2 -#define LWN_COL_LINK_GEOM 1<<3 -#define LWN_COL_LINK_ALL (1<<4)-1 - -/* - * Backend handling functions - */ - -/* opaque pointers referencing native backend objects */ - -/** - * Backend private data pointer - * - * Only the backend handler needs to know what it really is. - * It will be passed to all registered callback functions. - */ -typedef struct LWN_BE_DATA_T LWN_BE_DATA; - -/** - * Backend interface handler - * - * Embeds all registered backend callbacks and private data pointer. - * Will need to be passed (directly or indirectly) to al public facing - * APIs of this library. - */ -typedef struct LWN_BE_IFACE_T LWN_BE_IFACE; - -/** - * Network handler. - * - * Embeds backend interface handler. - * Will need to be passed to all network manipulation APIs - * of this library. - */ -typedef struct LWN_BE_NETWORK_T LWN_BE_NETWORK; - -/** - * Structure containing base backend callbacks - * - * Used for registering into the backend iface - */ -typedef struct LWN_BE_CALLBACKS_T -{ - - /** - * Create a new network in the backend - * - * @param name the network name - * @param srid the network SRID - * @param hasZ non-zero if network primitives should have a Z ordinate - * @param spatial determines if this is a Logical or SpatialNetwork - * @param coincident_nodes determines if they should de tolerated or not. - * @param geos_handle handle to GEOS context. - * - * @return a network handler, which embeds the backend data/params - * or NULL on error (@see lastErrorMessage) - */ - LWN_BE_NETWORK *(*createNetwork) (const LWN_BE_DATA * be, - const char *name, int srid, int hasZ, - int spatial, int coincident_nodes, - const void *geos_handle); - - /** - * Load a network from the backend - * - * @param name the network name - * @return a network handler, which embeds the backend data/params - * or NULL on error (@see lastErrorMessage) - */ - LWN_BE_NETWORK *(*loadNetworkByName) (const LWN_BE_DATA * be, - const char *name); - - /** - * Release memory associated to a backend network - * - * @param net the backend network handler - * @return 1 on success, 0 on error (@see lastErrorMessage) - */ - int (*freeNetwork) (LWN_BE_NETWORK * net); - - /** - * Get nodes within distance by point - * - * @param net the network to act upon - * @param pt the query point - * @param dist the distance - * @param numelems output parameter, gets number of elements found - * if the return is not null, otherwise see @return - * section for semantic. - * @param fields fields to be filled in the returned structure, see - * LWN_COL_NODE_* macros - * @param limit max number of nodes to return, 0 for no limit, -1 - * to only check for existance if a matching row. - * - * @return an array of nodes or null in the following cases: - * - limit=-1 ("numelems" is set to 1 if found, 0 otherwise) - * - limit>0 and no records found ("numelems" is set to 0) - * - error ("numelems" is set to -1) - * - */ - LWN_NET_NODE *(*getNetNodeWithinDistance2D) (const LWN_BE_NETWORK * net, - const LWN_POINT * pt, - double dist, int *numelems, - int fields, int limit); - - /** - * Get links that start or end on any of the given node identifiers - * - * @param net the network to act upon - * @param ids an array of node identifiers - * @param numelems input/output parameter, pass number of node identifiers - * in the input array, gets number of edges in output array - * if the return is not null, otherwise see @return - * section for semantic. - * @param fields fields to be filled in the returned structure, see - * LWN_COL_LINK_* macros - * - * @return an array of links that are incident to a node - * or NULL in the following cases: - * - no link found ("numelems" is set to 0) - * - error ("numelems" is set to -1) - * (@see lastErrorMessage) - */ - LWN_LINK *(*getLinkByNetNode) (const LWN_BE_NETWORK * net, - const LWN_ELEMID * ids, int *numelems, - int fields); - - /** - * Get links within distance by point - * - * @param net the network to act upon - * @param pt the query point - * @param dist the distance - * @param numelems output parameter, gets number of elements found - * if the return is not null, otherwise see @return - * section for semantic. - * @param fields fields to be filled in the returned structure, see - * LWN_COL_LINK_* macros - * @param limit max number of links to return, 0 for no limit, -1 - * to only check for existance if a matching row. - * - * @return an array of links or null in the following cases: - * - limit=-1 ("numelems" is set to 1 if found, 0 otherwise) - * - limit>0 and no records found ("numelems" is set to 0) - * - error ("numelems" is set to -1) - * - */ - LWN_LINK *(*getLinkWithinDistance2D) (const LWN_BE_NETWORK * net, - const LWN_POINT * pt, double dist, - int *numelems, int fields, int limit); - - /** - * Insert nodes - * - * Insert node primitives in the network - * - * @param net the network to act upon - * @param nodes the nodes to insert. Those with a node_id set to -1 - * it will be replaced to an automatically assigned identifier - * @param nelems number of elements in the nodes array - * - * @return 1 on success, 0 on error (@see lastErrorMessage) - */ - int (*insertNetNodes) (const LWN_BE_NETWORK * net, - LWN_NET_NODE * nodes, int numelems); - - /** - * Get nodes by id - * - * @param net the network to act upon - * @param ids an array of element identifiers - * @param numelems input/output parameter, pass number of node identifiers - * in the input array, gets number of node in output array. - * @param fields fields to be filled in the returned structure, see - * LWN_COL_NODE_* macros - * - * @return an array of nodes - * or NULL in the following cases: - * - no node found ("numelems" is set to 0) - * - error ("numelems" is set to -1) - * (@see lastErrorMessage) - * - */ - LWN_NET_NODE *(*getNetNodeById) (const LWN_BE_NETWORK * topo, - const LWN_ELEMID * ids, int *numelems, - int fields); - - /** - * Update nodes by id - * - * @param net the network to act upon - * @param nodes an array of LWN_NET_NODE objects with selecting id - * and updating fields. - * @param numnodes number of nodes in the "nodes" array - * @param upd_fields fields to be updated for the selected edges, - * see LWN_COL_NODE_* macros - * - * @return number of nodes being updated or -1 on error - * (@see lastErroMessage) - */ - int (*updateNetNodesById) (const LWN_BE_NETWORK * net, - const LWN_NET_NODE * nodes, int numnodes, - int upd_fields); - - /** - * Delete nodes by id - * - * @param net the network to act upon - * @param ids an array of node identifiers - * @param numelems number of node identifiers in the ids array - * - * @return number of nodes being deleted or -1 on error - * (@see lastErroMessage) - */ - int (*deleteNetNodesById) (const LWN_BE_NETWORK * net, - const LWN_ELEMID * ids, int numelems); - - /** - * Get next available link identifier - * - * Identifiers returned by this function should not be considered - * available anymore. - * - * @param net the network to act upon - * - * @return next available link identifier or -1 on error - */ - LWN_ELEMID (*getNextLinkId) (const LWN_BE_NETWORK * net); - - /** - * Get nodes within a 2D bounding box - * - * @param net the network to act upon - * @param box the query box - * @param numelems output parameter, gets number of elements found - * if the return is not null, otherwise see @return - * section for semantic. - * @param fields fields to be filled in the returned structure, see - * LWN_COL_NODE_* macros - * @param limit max number of nodes to return, 0 for no limit, -1 - * to only check for existance if a matching row. - * - * @return an array of nodes or null in the following cases: - * - limit=-1 ("numelems" is set to 1 if found, 0 otherwise) - * - limit>0 and no records found ("numelems" is set to 0) - * - error ("numelems" is set to -1) - * - */ - LWN_NET_NODE *(*getNetNodeWithinBox2D) (const LWN_BE_NETWORK * net, - const LWN_BBOX * box, - int *numelems, int fields, - int limit); - - /** - * Get next available link identifier - * - * Identifiers returned by this function should not be considered - * available anymore. - * - * @param net the network to act upon - * - * @return next available link identifier or -1 on error - */ - LWN_ELEMID (*getNexLinkId) (const LWN_BE_NETWORK * net); - - /** - * Insert links - * - * Insert link primitives in the network - * - * @param net the network to act upon - * @param links the links to insert. Those with a link_id set to -1 - * it will be replaced to an automatically assigned identifier - * @param nelems number of elements in the links array - * - * @return number of inserted links, or -1 (@see lastErrorMessage) - */ - int (*insertLinks) (const LWN_BE_NETWORK * net, - LWN_LINK * links, int numelems); - - /** - * Update links by id - * - * @param net the network to act upon - * @param links an array of LWN_LINK object with selecting id - * and updating fields. - * @param numedges number of links in the "links" array - * @param upd_fields fields to be updated for the selected links, - * see LWN_COL_LINK_* macros - * - * @return number of links being updated or -1 on error - * (@see lastErroMessage) - */ - int (*updateLinksById) (const LWN_BE_NETWORK * net, - const LWN_LINK * links, int numlinks, - int upd_fields); - - /** - * Get link by id - * - * @param net the network to act upon - * @param ids an array of element identifiers - * @param numelems input/output parameter, pass number of link identifiers - * in the input array, gets number of links in output array - * if the return is not null, otherwise see @return - * section for semantic. - * @param fields fields to be filled in the returned structure, see - * LWN_COL_LINK_* macros - * - * @return an array of links or NULL in the following cases: - * - none found ("numelems" is set to 0) - * - error ("numelems" is set to -1) - */ - LWN_LINK *(*getLinkById) (const LWN_BE_NETWORK * net, - const LWN_ELEMID * ids, int *numelems, - int fields); - - /** - * Delete links by id - * - * @param net the network to act upon - * @param ids an array of link identifiers - * @param numelems number of link identifiers in the ids array - * - * @return number of links being deleted or -1 on error - * (@see lastErroMessage) - */ - int (*deleteLinksById) (const LWN_BE_NETWORK * net, - const LWN_ELEMID * ids, int numelems); - - - /** - * Get network SRID - * @return 0 for unknown - */ - int (*netGetSRID) (const LWN_BE_NETWORK * net); - - /** - * Get network Z flag - * @return 1 if network elements do have Z value, 0 otherwise - */ - int (*netHasZ) (const LWN_BE_NETWORK * net); - - /** - * Get network type flag - * @return 0 if network is of the Logical Type, 1 otherwise (Spatial) - */ - int (*netIsSpatial) (const LWN_BE_NETWORK * net); - - /** - * Get CoincidentNodes flag - * @return 1 if newtwork tolerates Coincident Nodes, 0 otherwise (Spatial) - */ - int (*netAllowCoincident) (const LWN_BE_NETWORK * net); - - /** - * Get GEOS Handle - * @return current GEOS Handle, NULL otherwise - */ - const void *(*netGetGEOS) (const LWN_BE_NETWORK * net); - - -} LWN_BE_CALLBACKS; - - -/** - * Create a new backend interface - * - * Ownership to caller delete with lwn_FreeBackendIface - * - * @param ctx librtgeom context, create with rtgeom_init - * @param data Backend data, passed as first parameter to all callback functions - */ -LWN_BE_IFACE *lwn_CreateBackendIface (const RTCTX * ctx, - const LWN_BE_DATA * data); - -/** - * Register backend callbacks into the opaque iface handler - * - * @param iface the backend interface handler (see lwn_CreateBackendIface) - * @param cb a pointer to the callbacks structure; ownership left to caller. - */ -void lwn_BackendIfaceRegisterCallbacks (LWN_BE_IFACE * iface, - const LWN_BE_CALLBACKS * cb); - -/** Release memory associated with an LWB_BE_IFACE */ -void lwn_FreeBackendIface (LWN_BE_IFACE * iface); - -/******************************************************************** - * - * End of BE interface - * - *******************************************************************/ - - -/* - * Network functions - */ - -/** Opaque network structure - * - * Embeds backend interface and network - */ -typedef struct LWN_NETWORK_T LWN_NETWORK; - - -/******************************************************************** - * - * Error handling functions - * - *******************************************************************/ - -/** - * Reset the last backend error message - * - * @oaram iface the backend interface handler (see lwn_CreateBackendIface) - */ -void lwn_ResetErrorMsg (LWN_BE_IFACE * iface); - -/** - * Set the last backend error message - * - * @oaram iface the backend interface handler (see lwn_CreateBackendIface) - * - * @return NULL-terminated error string - */ -void lwn_SetErrorMsg (LWN_BE_IFACE * iface, const char *message); - -/** - * Read last error message from backend - * - * @oaram iface the backend interface handler (see lwn_CreateBackendIface) - * - * @return NULL-terminated error string - */ -const char *lwn_GetErrorMsg (LWN_BE_IFACE * iface); - - -/******************************************************************* - * - * Backend independent Linestring auxiliary functions - * - *******************************************************************/ - -/** - * Creates a backend independent 2D Point - * - * @param srid the network SRID - * @param x the X coordinate - * @param y the Y coordinate - * - * @return pointer to a new LWN_POINT - */ -LWN_POINT *lwn_create_point2d (int srid, double x, double y); - -/** - * Creates a backend independent 3D Point - * - * @param srid the network SRID - * @param x the X coordinate - * @param y the Y coordinate - * @param z the Z coordinate - * - * @return pointer to a new LWN_POINT - */ -LWN_POINT *lwn_create_point3d (int srid, double x, double y, double z); - -/** - * Free a backend independent Point - * - * @param ptr pointer to the LWN_POINT to be freed - */ -void lwn_free_point (LWN_POINT * ptr); - -/** - * Initializes a backend independent Linestring - * - * @param points total number of points - * @param srid the network SRID - * @param hasz non-zero if network primitives should have a Z ordinate - * - * @return pointer to a new LWN_LINE - */ -LWN_LINE *lwn_alloc_line (int points, int srid, int hasz); - -/** - * Free a backend independent Linestring - * - * @param ptr pointer to the LWN_LINE to be freed - */ -void lwn_free_line (LWN_LINE * ptr); - - -/******************************************************************* - * - * Non-ISO signatures here - * - *******************************************************************/ - -/** - * Initializes a new network - * - * @param iface the backend interface handler (see lwn_CreateBackendIface) - * @param name name of the new network - * @param srid the network SRID - * @param hasz non-zero if network primitives should have a Z ordinate - * @param spatial determines if this is a Logical or SpatialNetwork - * @param coincident_nodes determines if they should de tolerated or not. - * - * @return the handler of the network, or NULL on error - * (lwn error handler will be invoked with error message) - */ -LWN_NETWORK *lwn_CreateNetwork (LWN_BE_IFACE * iface, const char *name, - int srid, int hasz, int spatial, - int coincident_nodes); - -/** - * Loads an existing network by name from the database - * - * @param iface the backend interface handler (see lwt_CreateBackendIface) - * @param name name of the network to load - * - * @return the handler of the network, or NULL on error - * (lwn error handler will be invoked with error message) - */ -LWN_NETWORK *lwn_LoadNetwork (LWN_BE_IFACE * iface, const char *name); - -/** - * Drop a network and all its associated objects from the database - * - * @param net the network to drop - */ -void lwn_DropNetwork (LWN_NETWORK * net); - -/** Release memory associated with an LWN_NETWORK - * - * @param net the network to release (it's not removed from db) - */ -void lwn_FreeNetwork (LWN_NETWORK * net); - - -/******************************************************************* - * - * ISO signatures here - * - *******************************************************************/ - -/** - * Add an isolated node - * - * For ST_AddIsoNetNode - * - * @param net the network to operate on - * @param pt the node position - * - * @return ID of the newly added node - * - */ -LWN_ELEMID lwn_AddIsoNetNode (LWN_NETWORK * net, LWN_POINT * pt); - -/** - * Move an isolated node - * - * For ST_MoveIsoNetNode - * - * @param net the network to operate on - * @param node the identifier of the nod to be moved - * @param pt the new node position - * @return 0 on success, -1 on error - * (lwn error handler will be invoked with error message) - * - */ -int lwn_MoveIsoNetNode (LWN_NETWORK * net, LWN_ELEMID node, - const LWN_POINT * pt); - -/** - * Remove an isolated node - * - * For ST_RemIsoNetNode - * - * @param net the network to operate on - * @param node the identifier of the node to be moved - * @return 0 on success, -1 on error - * (lwn error handler will be invoked with error message) - * - */ -int lwn_RemIsoNetNode (LWN_NETWORK * net, LWN_ELEMID node); - -/** - * Add a link connecting two existing nodes - * - * For ST_AddLink - * - * @param net the network to operate on - * @param start_node identifier of the starting node - * @param end_node identifier of the ending node - * @param geom the link geometry - * @return ID of the newly added link, or -1 on error - * (lwn error handler will be invoked with error message) - * - */ -LWN_ELEMID lwn_AddLink (LWN_NETWORK * net, - LWN_ELEMID startNode, LWN_ELEMID endNode, - LWN_LINE * geom); - -/** - * Changes the shape of a link without affecting the network structure. - * - * For ST_ChangeLinkGeom - * - * @param net the network to operate on - * @param link the identifier of the link to be changed - * @param curve the link geometry - * @return 0 on success, -1 on error - * (lwn error handler will be invoked with error message) - * - */ -int lwn_ChangeLinkGeom (LWN_NETWORK * net, LWN_ELEMID link, - const LWN_LINE * curve); - -/** - * Remove a link. - * - * For ST_RemoveLink - * - * @param net the network to operate on - * @param link the identifier of the link to be removed - * @return 0 on success, -1 on error - * (lwn error handler will be invoked with error message) - * - */ -int lwn_RemoveLink (LWN_NETWORK * net, LWN_ELEMID link); - -/** - * Split a logical link, replacing it with two new links. - * - * For ST_NewLogLinkSplit - * - * @param net the network to operate on - * @param link the identifier of the link to be split. - * @return the ID of the inserted Node; a negative number on failure. - * (lwn error handler will be invoked with error message) - * - */ -LWN_INT64 lwn_NewLogLinkSplit (LWN_NETWORK * net, LWN_ELEMID link); - -/** - * Split a logical link, modifying the original link and adding a new one. - * - * For ST:ModLogLinkSplit - * - * @param net the network to operate on - * @param link the identifier of the link to be split. - * @return the ID of the inserted Node; a negative number on failure. - * (lwn error handler will be invoked with error message) - * - */ -LWN_INT64 lwn_ModLogLinkSplit (LWN_NETWORK * net, LWN_ELEMID link); - -/** - * Split a spatial link by a node, replacing it with two new links. - * - * For ST_NewGeoLinkSplit - * - * @param net the network to operate on - * @param link the identifier of the link to be split. - * @param pt the point geometry - * @return the ID of the inserted Node; a negative number on failure. - * (lwn error handler will be invoked with error message) - * - */ -LWN_INT64 lwn_NewGeoLinkSplit (LWN_NETWORK * net, LWN_ELEMID link, - const LWN_POINT * pt); - -/** - * Split a spatial link by a node, modifying the original link and adding - * a new one. - * - * For ST_ModGeoLinkSplit - * - * @param net the network to operate on - * @param link the identifier of the link to be split. - * @param pt the point geometry - * @return the ID of the inserted Node; a negative number on failure. - * (lwn error handler will be invoked with error message) - * - */ -LWN_INT64 lwn_ModGeoLinkSplit (LWN_NETWORK * net, LWN_ELEMID link, - const LWN_POINT * pt); - -/** - * Heal two links by deleting the node connecting them, deleting both links, - * and replacing them with a new link whose direction is the same as the - * first link provided. - * - * For ST_NewLinkHeal - * - * @param net the network to operate on - * @param link the identifier of a first link. - * @param anotherlink the identifier of a second link. - * @return the ID of the rmove Node; a negative number on failure. - * (lwn error handler will be invoked with error message) - * - */ -LWN_INT64 lwn_NewLinkHeal (LWN_NETWORK * net, LWN_ELEMID link, - LWN_ELEMID anotherlink); - -/** - * Heal two links by deleting the node connecting them, modfying the first - * link provided, and deleting the second link. - * - * For ST_ModLinkHeal - * - * @param net the network to operate on - * @param link the identifier of a first link. - * @param anotherlink the identifier of a second link. - * @return the ID of the rmove Node; a negative number on failure. - * (lwn error handler will be invoked with error message) - * - */ -LWN_INT64 lwn_ModLinkHeal (LWN_NETWORK * net, LWN_ELEMID link, - LWN_ELEMID anotherlink); - -/** - * Retrieve the id of a net-node at a point location - * - * For GetNetNodeByNode - * - * @param net the network to operate on - * @param point the point to use for query - * @param tol max distance around the given point to look for a net-node - * @return a net-node identifier if one is found, 0 if none is found, -1 - * on error (multiple net-nodes within distance). - * (lwn error handler will be invoked with error message) - */ -LWN_ELEMID lwn_GetNetNodeByPoint (LWN_NETWORK * net, const LWN_POINT * pt, - double tol); - -/** - * Find the edge-id of a link that intersects a given point - * - * For GetLinkByPoint - * - * @param net the network to operate on - * @param point the point to use for query - * @param tol max distance around the given point to look for an - * intersecting link - * @return a link identifier if one is found, 0 if none is found, -1 - * on error (multiple links within distance). - * (lwn error handler will be invoked with error message) - */ -LWN_ELEMID lwn_GetLinkByPoint (LWN_NETWORK * net, const LWN_POINT * pt, - double tol); - -#endif /* LWN_NETWORK_H */ DELETED src/topology/lwn_network_private.h Index: src/topology/lwn_network_private.h ================================================================== --- src/topology/lwn_network_private.h +++ src/topology/lwn_network_private.h @@ -1,87 +0,0 @@ -/* - lwn_network_private.h -- private members and methods - Topology-Network abstract multi-backend interface - - version 4.3, 2015 August 13 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#ifndef LWN_NETWORK_PRIVATE_H -#define LWN_NETWORK_PRIVATE_H 1 - - -/************************************************************************ - * - * Generic SQL handler - * - ************************************************************************/ - -struct LWN_BE_IFACE_T -{ - const RTCTX *ctx; - const LWN_BE_DATA *data; - const LWN_BE_CALLBACKS *cb; - char *errorMsg; -}; - -/************************************************************************ - * - * Internal objects - * - ************************************************************************/ - -struct LWN_NETWORK_T -{ - LWN_BE_IFACE *be_iface; - LWN_BE_NETWORK *be_net; - int srid; - int hasZ; - int spatial; - int allowCoincident; - const void *geos_handle; -}; - - -int lwn_be_existsCoincidentNode (const LWN_NETWORK * net, const LWN_POINT * pt); - -int lwn_be_existsLinkIntersectingPoint (const LWN_NETWORK * net, - const LWN_POINT * pt); - -#endif /* LWN_NETWORK_PRIVATE_H */ DELETED src/topology/net_callbacks.c Index: src/topology/net_callbacks.c ================================================================== --- src/topology/net_callbacks.c +++ src/topology/net_callbacks.c @@ -1,2334 +0,0 @@ -/* - - net_callbacks.c -- implementation of Topology-Network callback functions - - version 4.3, 2015 August 11 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include "network_private.h" - -struct net_node -{ -/* a struct wrapping a Network Node */ - sqlite3_int64 node_id; - double x; - double y; - double z; - int has_z; - int is_null; - struct net_node *next; -}; - -struct net_nodes_list -{ -/* a struct wrapping a list of Network Nodes */ - struct net_node *first; - struct net_node *last; - int count; -}; - -struct net_link -{ -/* a struct wrapping a Network Link */ - sqlite3_int64 link_id; - sqlite3_int64 start_node; - sqlite3_int64 end_node; - gaiaLinestringPtr geom; - struct net_link *next; -}; - -struct net_links_list -{ -/* a struct wrapping a list of Network Links */ - struct net_link *first; - struct net_link *last; - int count; -}; - -static struct net_node * -create_net_node (sqlite3_int64 node_id, double x, double y, double z, int has_z) -{ -/* creating a Network Node */ - struct net_node *ptr = malloc (sizeof (struct net_node)); - ptr->node_id = node_id; - ptr->x = x; - ptr->y = y; - ptr->z = z; - ptr->has_z = has_z; - ptr->is_null = 0; - ptr->next = NULL; - return ptr; -} - -static struct net_node * -create_net_node_null (sqlite3_int64 node_id) -{ -/* creating a Network Node - NULL */ - struct net_node *ptr = malloc (sizeof (struct net_node)); - ptr->node_id = node_id; - ptr->is_null = 1; - ptr->next = NULL; - return ptr; -} - -static void -destroy_net_node (struct net_node *ptr) -{ -/* destroying a Network Node */ - if (ptr == NULL) - return; - free (ptr); -} - -static struct net_link * -create_net_link (sqlite3_int64 link_id, sqlite3_int64 start_node, - sqlite3_int64 end_node, gaiaLinestringPtr ln) -{ -/* creating a Network Link */ - struct net_link *ptr = malloc (sizeof (struct net_link)); - ptr->link_id = link_id; - ptr->start_node = start_node; - ptr->end_node = end_node; - ptr->geom = ln; - ptr->next = NULL; - return ptr; -} - -static void -destroy_net_link (struct net_link *ptr) -{ -/* destroying a Network Link */ - if (ptr == NULL) - return; - if (ptr->geom != NULL) - gaiaFreeLinestring (ptr->geom); - free (ptr); -} - -static struct net_nodes_list * -create_nodes_list (void) -{ -/* creating an empty list of Network Nodes */ - struct net_nodes_list *ptr = malloc (sizeof (struct net_nodes_list)); - ptr->first = NULL; - ptr->last = NULL; - ptr->count = 0; - return ptr; -} - -static void -destroy_net_nodes_list (struct net_nodes_list *ptr) -{ -/* destroying a list of Network Nodes */ - struct net_node *p; - struct net_node *pn; - if (ptr == NULL) - return; - - p = ptr->first; - while (p != NULL) - { - pn = p->next; - destroy_net_node (p); - p = pn; - } - free (ptr); -} - -static void -add_node_2D (struct net_nodes_list *list, sqlite3_int64 node_id, - double x, double y) -{ -/* inserting a Network Node 2D into the list */ - struct net_node *ptr; - if (list == NULL) - return; - - ptr = create_net_node (node_id, x, y, 0.0, 0); - if (list->first == NULL) - list->first = ptr; - if (list->last != NULL) - list->last->next = ptr; - list->last = ptr; - list->count++; -} - -static void -add_node_3D (struct net_nodes_list *list, sqlite3_int64 node_id, - double x, double y, double z) -{ -/* inserting a Network Node 3D into the list */ - struct net_node *ptr; - if (list == NULL) - return; - - ptr = create_net_node (node_id, x, y, z, 1); - if (list->first == NULL) - list->first = ptr; - if (list->last != NULL) - list->last->next = ptr; - list->last = ptr; - list->count++; -} - -static void -add_node_null (struct net_nodes_list *list, sqlite3_int64 node_id) -{ -/* inserting a Network Node (NULL) into the list */ - struct net_node *ptr; - if (list == NULL) - return; - - ptr = create_net_node_null (node_id); - if (list->first == NULL) - list->first = ptr; - if (list->last != NULL) - list->last->next = ptr; - list->last = ptr; - list->count++; -} - -static struct net_links_list * -create_links_list (void) -{ -/* creating an empty list of Network Links */ - struct net_links_list *ptr = malloc (sizeof (struct net_links_list)); - ptr->first = NULL; - ptr->last = NULL; - ptr->count = 0; - return ptr; -} - -static void -destroy_links_list (struct net_links_list *ptr) -{ -/* destroying a list of Network Links */ - struct net_link *p; - struct net_link *pn; - if (ptr == NULL) - return; - - p = ptr->first; - while (p != NULL) - { - pn = p->next; - destroy_net_link (p); - p = pn; - } - free (ptr); -} - -static void -add_link (struct net_links_list *list, sqlite3_int64 link_id, - sqlite3_int64 start_node, sqlite3_int64 end_node, - gaiaLinestringPtr ln) -{ -/* inserting a Network Link into the list */ - struct net_link *ptr; - if (list == NULL) - return; - - ptr = create_net_link (link_id, start_node, end_node, ln); - if (list->first == NULL) - list->first = ptr; - if (list->last != NULL) - list->last->next = ptr; - list->last = ptr; - list->count++; -} - -static char * -do_prepare_read_net_node (const char *network_name, int fields, int spatial, - int has_z) -{ -/* preparing the auxiliary "read_node" SQL statement */ - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - if (fields & LWN_COL_NODE_NODE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, node_id", prev); - else - sql = sqlite3_mprintf ("%s node_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & LWN_COL_NODE_GEOM && spatial) - { - if (comma) - sql = - sqlite3_mprintf ("%s, ST_X(geometry), ST_Y(geometry)", prev); - else - sql = sqlite3_mprintf ("%s ST_X(geometry), ST_Y(geometry)", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - if (has_z) - { - sql = sqlite3_mprintf ("%s, ST_Z(geometry)", prev); - sqlite3_free (prev); - prev = sql; - } - } - table = sqlite3_mprintf ("%s_node", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("%s FROM MAIN.\"%s\" WHERE node_id = ?", prev, xtable); - sqlite3_free (prev); - free (xtable); - return sql; -} - -static int -do_read_net_node (sqlite3_stmt * stmt, struct net_nodes_list *list, - sqlite3_int64 id, int fields, int spatial, int has_z, - const char *callback_name, char **errmsg) -{ -/* reading Nodes out from the DBMS */ - int icol = 0; - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int ok_id = 0; - int ok_x = 0; - int ok_y = 0; - int ok_z = 0; - sqlite3_int64 node_id = -1; - double x = 0.0; - double y = 0.0; - double z = 0.0; - if (fields & LWN_COL_NODE_NODE_ID) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - node_id = sqlite3_column_int64 (stmt, icol); - ok_id = 1; - } - icol++; - } - else - ok_id = 1; - if (fields & LWN_COL_NODE_GEOM && spatial) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_FLOAT) - { - x = sqlite3_column_double (stmt, icol); - ok_x = 1; - } - icol++; - if (sqlite3_column_type (stmt, icol) == SQLITE_FLOAT) - { - y = sqlite3_column_double (stmt, icol); - ok_y = 1; - } - icol++; - if (has_z) - { - if (sqlite3_column_type (stmt, icol) == - SQLITE_FLOAT) - { - z = sqlite3_column_double (stmt, icol); - ok_z = 1; - } - } - } - else - { - ok_x = 1; - ok_y = 1; - ok_z = 1; - } - if (!spatial) - { - add_node_null (list, node_id); - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; - } - else - { - if (has_z) - { - if (ok_id && ok_x && ok_y && ok_z) - { - add_node_3D (list, node_id, x, y, z); - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; - } - } - else - { - if (ok_id && ok_x && ok_y) - { - add_node_2D (list, node_id, x, y); - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; - } - } - } - /* an invalid Node has been found */ - *errmsg = - sqlite3_mprintf - ("%s: found an invalid Node \"%lld\"", callback_name, - node_id); - sqlite3_reset (stmt); - return 0; - } - } - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; -} - -static char * -do_prepare_read_link (const char *network_name, int fields) -{ -/* preparing the auxiliary "read_link" SQL statement */ - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - if (fields & LWN_COL_LINK_LINK_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, link_id", prev); - else - sql = sqlite3_mprintf ("%s link_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & LWN_COL_LINK_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, start_node", prev); - else - sql = sqlite3_mprintf ("%s start_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & LWN_COL_LINK_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, end_node", prev); - else - sql = sqlite3_mprintf ("%s end_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & LWN_COL_LINK_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, geometry", prev); - else - sql = sqlite3_mprintf ("%s geometry", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - table = sqlite3_mprintf ("%s_link", network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("%s FROM MAIN.\"%s\" WHERE link_id = ?", prev, xtable); - free (xtable); - sqlite3_free (prev); - return sql; -} - -static int -do_read_link_row (sqlite3_stmt * stmt, struct net_links_list *list, int fields, - const char *callback_name, char **errmsg) -{ -/* reading a Link Row out from the resultset */ - int icol = 0; - - int ok_id = 0; - int ok_start = 0; - int ok_end = 0; - int ok_geom = 0; - sqlite3_int64 link_id = -1; - sqlite3_int64 start_node = -1; - sqlite3_int64 end_node = -1; - gaiaGeomCollPtr geom = NULL; - gaiaLinestringPtr ln = NULL; - if (fields & LWN_COL_LINK_LINK_ID) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - link_id = sqlite3_column_int64 (stmt, icol); - ok_id = 1; - } - icol++; - } - else - ok_id = 1; - if (fields & LWN_COL_LINK_START_NODE) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - start_node = sqlite3_column_int64 (stmt, icol); - ok_start = 1; - } - icol++; - } - else - ok_start = 1; - if (fields & LWN_COL_LINK_END_NODE) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - end_node = sqlite3_column_int64 (stmt, icol); - ok_end = 1; - } - icol++; - } - else - ok_end = 1; - if (fields & LWN_COL_LINK_GEOM) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_NULL) - { - ln = NULL; - ok_geom = 1; - } - if (sqlite3_column_type (stmt, icol) == SQLITE_BLOB) - { - const unsigned char *blob = sqlite3_column_blob (stmt, icol); - int blob_sz = sqlite3_column_bytes (stmt, icol); - geom = gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - if (geom->FirstPoint == NULL - && geom->FirstPolygon == NULL - && geom->FirstLinestring == - geom->LastLinestring && geom->FirstLinestring != NULL) - { - ln = geom->FirstLinestring; - ok_geom = 1; - /* releasing ownership on Linestring */ - geom->FirstLinestring = NULL; - geom->LastLinestring = NULL; - } - gaiaFreeGeomColl (geom); - } - } - icol++; - } - else - ok_geom = 1; - if (ok_id && ok_start && ok_end && ok_geom) - { - add_link (list, link_id, start_node, end_node, ln); - *errmsg = NULL; - return 1; - } -/* an invalid Link has been found */ - if (geom != NULL) - gaiaFreeGeomColl (geom); - *errmsg = - sqlite3_mprintf - ("%s: found an invalid Link \"%lld\"", callback_name, link_id); - return 0; -} - -static int -do_read_link (sqlite3_stmt * stmt, struct net_links_list *list, - sqlite3_int64 link_id, int fields, const char *callback_name, - char **errmsg) -{ -/* reading a single Link out from the DBMS */ - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, link_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (!do_read_link_row - (stmt, list, fields, callback_name, errmsg)) - { - sqlite3_reset (stmt); - return 0; - } - } - } - sqlite3_reset (stmt); - return 1; -} - -static int -do_read_link_by_net_node (sqlite3_stmt * stmt, struct net_links_list *list, - sqlite3_int64 node_id, int fields, - const char *callback_name, char **errmsg) -{ -/* reading a single Link out from the DBMS */ - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, node_id); - sqlite3_bind_int64 (stmt, 2, node_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (!do_read_link_row - (stmt, list, fields, callback_name, errmsg)) - { - sqlite3_reset (stmt); - return 0; - } - } - } - sqlite3_reset (stmt); - return 1; -} - -const char * -netcallback_lastErrorMessage (const LWN_BE_DATA * be) -{ - return gaianet_get_last_exception ((GaiaNetworkAccessorPtr) be); -} - -LWN_BE_NETWORK * -netcallback_loadNetworkByName (const LWN_BE_DATA * be, const char *name) -{ -/* callback function: loadNetworkByName */ - struct gaia_network *ptr = (struct gaia_network *) be; - char *network_name; - int spatial; - int srid; - int has_z; - int allow_coincident; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) ptr->cache; - - if (gaiaReadNetworkFromDBMS - (ptr->db_handle, name, &network_name, &spatial, &srid, &has_z, - &allow_coincident)) - { - ptr->network_name = network_name; - ptr->srid = srid; - ptr->has_z = has_z; - ptr->spatial = spatial; - ptr->allow_coincident = allow_coincident; - /* registering into the Internal Cache double linked list */ - if (cache->firstNetwork == NULL) - cache->firstNetwork = ptr; - if (cache->lastNetwork != NULL) - { - struct gaia_network *p2 = - (struct gaia_network *) (cache->lastNetwork); - p2->next = ptr; - } - cache->lastNetwork = ptr; - return (LWN_BE_NETWORK *) ptr; - } - else - return NULL; -} - -int -netcallback_freeNetwork (LWN_BE_NETWORK * lwn_net) -{ -/* callback function: freeNetwork - does nothing */ - if (lwn_net != NULL) - lwn_net = NULL; /* silencing stupid compiler warnings on unuse args */ - return 1; -} - -static gaiaGeomCollPtr -do_convert_lwnline_to_geom (LWN_LINE * line, int srid) -{ -/* converting an LWN_LINE into a Linestring */ - int iv; - double ox; - double oy; - int normalized_points = 0; - gaiaLinestringPtr ln; - gaiaGeomCollPtr geom; - if (line->has_z) - geom = gaiaAllocGeomCollXYZ (); - else - geom = gaiaAllocGeomColl (); - for (iv = 0; iv < line->points; iv++) - { - /* counting how many duplicate points are there */ - double x = line->x[iv]; - double y = line->y[iv]; - if (iv == 0) - normalized_points++; - else - { - if (x == ox && y == oy) - ; - else - normalized_points++; - } - ox = x; - oy = y; - } - ln = gaiaAddLinestringToGeomColl (geom, normalized_points); - normalized_points = 0; - for (iv = 0; iv < line->points; iv++) - { - double x = line->x[iv]; - double y = line->y[iv]; - double z; - if (iv == 0) - ; - else - { - if (x == ox && y == oy) - continue; /* discarding duplicate points */ - } - ox = x; - oy = y; - if (line->has_z) - z = line->z[iv]; - if (line->has_z) - { - gaiaSetPointXYZ (ln->Coords, normalized_points, x, y, z); - } - else - { - gaiaSetPoint (ln->Coords, normalized_points, x, y); - } - normalized_points++; - } - geom->DeclaredType = GAIA_LINESTRING; - geom->Srid = srid; - - return geom; -} - -LWN_NET_NODE * -netcallback_getNetNodeWithinDistance2D (const LWN_BE_NETWORK * lwn_net, - const LWN_POINT * pt, double dist, - int *numelems, int fields, int limit) -{ -/* callback function: getNodeWithinDistance2D */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt; - int ret; - int count = 0; - sqlite3_stmt *stmt_aux = NULL; - char *sql; - struct net_nodes_list *list = NULL; - LWN_NET_NODE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - if (pt == NULL) - { - *numelems = 0; - return NULL; - } - - stmt = accessor->stmt_getNetNodeWithinDistance2D; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - if (limit >= 0) - { - /* preparing the auxiliary SQL statement */ - sql = - do_prepare_read_net_node (accessor->network_name, fields, - accessor->spatial, accessor->has_z); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("Prepare_getNetNodeWithinDistance2D AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, pt->x); - sqlite3_bind_double (stmt, 2, pt->y); - sqlite3_bind_double (stmt, 3, dist); - sqlite3_bind_double (stmt, 4, pt->x); - sqlite3_bind_double (stmt, 5, pt->y); - sqlite3_bind_double (stmt, 6, dist); - list = create_nodes_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 node_id = sqlite3_column_int64 (stmt, 0); - if (stmt_aux != NULL) - { - char *msg; - if (!do_read_net_node - (stmt_aux, list, node_id, fields, accessor->spatial, - accessor->has_z, - "netcallback_getNetNodeWithinDistance2D", &msg)) - { - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - count++; - if (limit > 0) - { - if (count > limit) - break; - } - if (limit < 0) - break; - } - else - { - char *msg = - sqlite3_mprintf ("netcallback_getNodeWithinDistance2D: %s", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numelems = count; - } - else - { - if (list->count <= 0) - { - result = NULL; - *numelems = 0; - } - else - { - int i = 0; - struct net_node *p_nd; - result = malloc (sizeof (LWN_NET_NODE) * list->count); - p_nd = list->first; - while (p_nd != NULL) - { - LWN_NET_NODE *nd = result + i; - nd->geom = NULL; - if (fields & LWN_COL_NODE_NODE_ID) - nd->node_id = p_nd->node_id; - if (fields & LWN_COL_NODE_GEOM) - { - if (p_nd->is_null) - ; - else - { - if (accessor->has_z) - nd->geom = - lwn_create_point3d (accessor->srid, - p_nd->x, p_nd->y, - p_nd->z); - else - nd->geom = - lwn_create_point2d (accessor->srid, - p_nd->x, p_nd->y); - } - } - i++; - p_nd = p_nd->next; - } - *numelems = list->count; - } - } - - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - destroy_net_nodes_list (list); - sqlite3_reset (stmt); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_net_nodes_list (list); - *numelems = -1; - sqlite3_reset (stmt); - return NULL; -} - -LWN_NET_NODE * -netcallback_getNetNodeById (const LWN_BE_NETWORK * lwn_net, - const LWN_ELEMID * ids, int *numelems, int fields) -{ -/* callback function: getNetNodeById */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt_aux = NULL; - int ret; - int i; - char *sql; - struct net_nodes_list *list = NULL; - LWN_NET_NODE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - /* preparing the SQL statement */ - sql = - do_prepare_read_net_node (accessor->network_name, fields, - accessor->spatial, accessor->has_z); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt_aux, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getNetNodeById AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_nodes_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_net_node - (stmt_aux, list, *(ids + i), fields, accessor->spatial, - accessor->has_z, "netcallback_getNetNodeById", &msg)) - { - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no node was found */ - *numelems = list->count; - } - else - { - struct net_node *p_nd; - result = malloc (sizeof (LWN_NET_NODE) * list->count); - p_nd = list->first; - i = 0; - while (p_nd != NULL) - { - LWN_NET_NODE *nd = result + i; - nd->geom = NULL; - if (fields & LWN_COL_NODE_NODE_ID) - nd->node_id = p_nd->node_id; - if (fields & LWN_COL_NODE_GEOM) - { - if (p_nd->is_null) - ; - else - { - if (accessor->has_z) - nd->geom = - lwn_create_point3d (accessor->srid, p_nd->x, - p_nd->y, p_nd->z); - else - nd->geom = - lwn_create_point2d (accessor->srid, p_nd->x, - p_nd->y); - } - } - i++; - p_nd = p_nd->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_net_nodes_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_net_nodes_list (list); - *numelems = -1; - return NULL; -} - -LWN_LINK * -netcallback_getLinkWithinDistance2D (const LWN_BE_NETWORK * lwn_net, - const LWN_POINT * pt, double dist, - int *numelems, int fields, int limit) -{ -/* callback function: getLinkWithinDistance2D */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt; - int ret; - int count = 0; - sqlite3_stmt *stmt_aux = NULL; - char *sql; - struct net_links_list *list = NULL; - LWN_LINK *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - if (pt == NULL) - { - *numelems = 0; - return NULL; - } - - stmt = accessor->stmt_getLinkWithinDistance2D; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - if (limit >= 0) - { - /* preparing the auxiliary SQL statement */ - sql = do_prepare_read_link (accessor->network_name, fields); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getLinkById AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, pt->x); - sqlite3_bind_double (stmt, 2, pt->y); - sqlite3_bind_double (stmt, 3, dist); - sqlite3_bind_double (stmt, 4, pt->x); - sqlite3_bind_double (stmt, 5, pt->y); - sqlite3_bind_double (stmt, 6, dist); - list = create_links_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 link_id = sqlite3_column_int64 (stmt, 0); - if (stmt_aux != NULL) - { - char *msg; - if (!do_read_link - (stmt_aux, list, link_id, fields, - "netcallback_getLinkWithinDistance2D", &msg)) - { - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - count++; - if (limit > 0) - { - if (count > limit) - break; - } - if (limit < 0) - break; - } - else - { - char *msg = - sqlite3_mprintf ("netcallback_getLinkWithinDistance2D: %s", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numelems = count; - } - else - { - if (list->count <= 0) - { - result = NULL; - *numelems = 0; - } - else - { - int i = 0; - struct net_link *p_lnk; - result = malloc (sizeof (LWN_LINK) * list->count); - p_lnk = list->first; - while (p_lnk != NULL) - { - LWN_LINK *lnk = result + i; - if (fields & LWN_COL_LINK_LINK_ID) - lnk->link_id = p_lnk->link_id; - if (fields & LWN_COL_LINK_START_NODE) - lnk->start_node = p_lnk->start_node; - if (fields & LWN_COL_LINK_END_NODE) - lnk->end_node = p_lnk->end_node; - if (fields & LWN_COL_LINK_GEOM) - lnk->geom = - gaianet_convert_linestring_to_lwnline - (p_lnk->geom, accessor->srid, accessor->has_z); - else - lnk->geom = NULL; - i++; - p_lnk = p_lnk->next; - } - *numelems = list->count; - } - } - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - destroy_links_list (list); - sqlite3_reset (stmt); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_links_list (list); - *numelems = -1; - sqlite3_reset (stmt); - return NULL; -} - -int -netcallback_insertNetNodes (const LWN_BE_NETWORK * lwn_net, - LWN_NET_NODE * nodes, int numelems) -{ -/* callback function: insertNetNodes */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt; - int ret; - int i; - unsigned char *p_blob; - int n_bytes; - gaiaGeomCollPtr geom = NULL; - int gpkg_mode = 0; - if (accessor == NULL) - return 0; - - stmt = accessor->stmt_insertNetNodes; - if (stmt == NULL) - return 0; - - if (accessor->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (accessor->cache); - gpkg_mode = cache->gpkg_mode; - } - - for (i = 0; i < numelems; i++) - { - LWN_NET_NODE *nd = nodes + i; - /* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (nd->node_id <= 0) - sqlite3_bind_null (stmt, 1); - else - sqlite3_bind_int64 (stmt, 1, nd->node_id); - if (nd->geom == NULL) - sqlite3_bind_null (stmt, 2); - else - { - if (accessor->has_z) - geom = gaiaAllocGeomCollXYZ (); - else - geom = gaiaAllocGeomColl (); - if (accessor->has_z) - gaiaAddPointToGeomCollXYZ (geom, nd->geom->x, nd->geom->y, - nd->geom->z); - else - gaiaAddPointToGeomColl (geom, nd->geom->x, nd->geom->y); - geom->Srid = accessor->srid; - geom->DeclaredType = GAIA_POINT; - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - sqlite3_bind_blob (stmt, 2, p_blob, n_bytes, free); - } - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - /* retrieving the PK value */ - nd->node_id = sqlite3_last_insert_rowid (accessor->db_handle); - } - else - { - char *msg = - sqlite3_mprintf ("netcallback_insertNetNodes: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return 1; - - error: - sqlite3_reset (stmt); - return 0; -} - -int -netcallback_updateNetNodesById (const LWN_BE_NETWORK * lwn_net, - const LWN_NET_NODE * nodes, int numnodes, - int upd_fields) -{ -/* callback function: updateNetNodesById */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *prev; - int comma = 0; - char *table; - char *xtable; - int icol = 1; - int i; - int changed = 0; - if (accessor == NULL) - return -1; - -/* composing the SQL prepared statement */ - table = sqlite3_mprintf ("%s_node", accessor->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET", xtable); - free (xtable); - prev = sql; - if (upd_fields & LWN_COL_NODE_NODE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, node_id = ?", prev); - else - sql = sqlite3_mprintf ("%s node_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & LWN_COL_NODE_GEOM) - { - if (accessor->has_z) - { - if (comma) - sql = - sqlite3_mprintf - ("%s, geometry = MakePointZ(?, ?. ?, %d)", prev, - accessor->srid); - else - sql = - sqlite3_mprintf - ("%s geometry = MakePointZ(?, ?, ?, %d)", prev, - accessor->srid); - } - else - { - if (comma) - sql = - sqlite3_mprintf ("%s, geometry = MakePoint(?, ?, %d)", - prev, accessor->srid); - else - sql = - sqlite3_mprintf ("%s geometry = MakePoint(?, ?, %d)", - prev, accessor->srid); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - sql = sqlite3_mprintf ("%s WHERE node_id = ?", prev); - sqlite3_free (prev); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_updateNetNodesById error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - return -1; - } - - for (i = 0; i < numnodes; i++) - { - /* parameter binding */ - const LWN_NET_NODE *nd = nodes + i; - icol = 1; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (upd_fields & LWN_COL_NODE_NODE_ID) - { - sqlite3_bind_int64 (stmt, icol, nd->node_id); - icol++; - } - if (upd_fields & LWN_COL_NODE_GEOM) - { - if (accessor->spatial) - { - sqlite3_bind_double (stmt, icol, nd->geom->x); - icol++; - sqlite3_bind_double (stmt, icol, nd->geom->y); - icol++; - if (accessor->has_z) - { - sqlite3_bind_double (stmt, icol, nd->geom->z); - icol++; - } - } - else - { - icol += 2; - if (accessor->has_z) - icol++; - } - } - sqlite3_bind_int64 (stmt, icol, nd->node_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - changed += sqlite3_changes (accessor->db_handle); - else - { - char *msg = - sqlite3_mprintf ("netcallback_updateNetNodesById: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt); - return changed; - - error: - sqlite3_finalize (stmt); - return -1; -} - -int -netcallback_insertLinks (const LWN_BE_NETWORK * lwn_net, LWN_LINK * links, - int numelems) -{ -/* callback function: insertLinks */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt; - int ret; - int i; - gaiaGeomCollPtr geom; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - if (accessor == NULL) - return 0; - - stmt = accessor->stmt_insertLinks; - if (stmt == NULL) - return 0; - - if (accessor->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (accessor->cache); - gpkg_mode = cache->gpkg_mode; - } - - for (i = 0; i < numelems; i++) - { - LWN_LINK *lnk = links + i; - /* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (lnk->link_id <= 0) - sqlite3_bind_null (stmt, 1); - else - sqlite3_bind_int64 (stmt, 1, lnk->link_id); - sqlite3_bind_int64 (stmt, 2, lnk->start_node); - sqlite3_bind_int64 (stmt, 3, lnk->end_node); - if (lnk->geom == NULL) - sqlite3_bind_null (stmt, 4); - else - { - /* transforming the LWN_LINE into a Geometry-Linestring */ - geom = do_convert_lwnline_to_geom (lnk->geom, accessor->srid); - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - sqlite3_bind_blob (stmt, 4, p_blob, n_bytes, free); - } - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - /* retrieving the PK value */ - lnk->link_id = sqlite3_last_insert_rowid (accessor->db_handle); - } - else - { - char *msg = sqlite3_mprintf ("netcallback_inserLinks: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return 1; - - error: - sqlite3_reset (stmt); - return 0; -} - -LWN_LINK * -netcallback_getLinkByNetNode (const LWN_BE_NETWORK * lwn_net, - const LWN_ELEMID * ids, int *numelems, int fields) -{ -/* callback function: getLinkByNetNode */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - int ret; - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - int i; - sqlite3_stmt *stmt_aux = NULL; - struct net_links_list *list = NULL; - LWN_LINK *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - /* preparing the SQL statement */ - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - if (fields & LWN_COL_LINK_LINK_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, link_id", prev); - else - sql = sqlite3_mprintf ("%s link_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & LWN_COL_LINK_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, start_node", prev); - else - sql = sqlite3_mprintf ("%s start_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & LWN_COL_LINK_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, end_node", prev); - else - sql = sqlite3_mprintf ("%s end_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & LWN_COL_LINK_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, geometry", prev); - else - sql = sqlite3_mprintf ("%s geometry", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - table = sqlite3_mprintf ("%s_link", accessor->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("%s FROM MAIN.\"%s\" WHERE start_node = ? OR end_node = ?", prev, - xtable); - free (xtable); - sqlite3_free (prev); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getLinkByNetNode AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_links_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_link_by_net_node - (stmt_aux, list, *(ids + i), fields, - "netcallback_getLinkByNetNode", &msg)) - { - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no link was found */ - *numelems = list->count; - } - else - { - struct net_link *p_lnk; - result = malloc (sizeof (LWN_LINK) * list->count); - p_lnk = list->first; - i = 0; - while (p_lnk != NULL) - { - LWN_LINK *lnk = result + i; - lnk->geom = NULL; - if (fields & LWN_COL_LINK_LINK_ID) - lnk->link_id = p_lnk->link_id; - if (fields & LWN_COL_LINK_START_NODE) - lnk->start_node = p_lnk->start_node; - if (fields & LWN_COL_LINK_END_NODE) - lnk->end_node = p_lnk->end_node; - if (fields & LWN_COL_LINK_GEOM) - lnk->geom = - gaianet_convert_linestring_to_lwnline (p_lnk->geom, - accessor->srid, - accessor->has_z); - i++; - p_lnk = p_lnk->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_links_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_links_list (list); - *numelems = -1; - return NULL; -} - -int -netcallback_deleteNetNodesById (const LWN_BE_NETWORK * lwn_net, - const LWN_ELEMID * ids, int numelems) -{ -/* callback function: deleteNetNodesById */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt = NULL; - int ret; - int i; - int changed = 0; - if (accessor == NULL) - return -1; - - stmt = accessor->stmt_deleteNetNodesById; - if (stmt == NULL) - return -1; - - for (i = 0; i < numelems; i++) - { - /* parameter binding */ - sqlite3_int64 id = *(ids + i); - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - changed += sqlite3_changes (accessor->db_handle); - } - else - { - char *msg = - sqlite3_mprintf ("netcallback_deleteNetNodesById: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return changed; - - error: - sqlite3_reset (stmt); - return -1; -} - -LWN_NET_NODE * -netcallback_getNetNodeWithinBox2D (const LWN_BE_NETWORK * lwn_net, - const LWN_BBOX * box, int *numelems, - int fields, int limit) -{ -/* callback function: getNetNodeWithinBox2D */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt; - int ret; - int count = 0; - sqlite3_stmt *stmt_aux = NULL; - char *sql; - struct net_nodes_list *list = NULL; - LWN_NET_NODE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - stmt = accessor->stmt_getNetNodeWithinBox2D; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - if (limit >= 0) - { - /* preparing the auxiliary SQL statement */ - sql = - do_prepare_read_net_node (accessor->network_name, fields, - accessor->spatial, accessor->has_z); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("Prepare_getNetNodeWithinBox2D AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, box->min_x); - sqlite3_bind_double (stmt, 2, box->min_y); - sqlite3_bind_double (stmt, 3, box->max_x); - sqlite3_bind_double (stmt, 4, box->max_y); - list = create_nodes_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 node_id = sqlite3_column_int64 (stmt, 0); - if (stmt_aux != NULL) - { - char *msg; - if (!do_read_net_node - (stmt_aux, list, node_id, fields, accessor->spatial, - accessor->has_z, "netcallback_getNetNodeWithinBox2D", - &msg)) - { - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - count++; - if (limit > 0) - { - if (count > limit) - break; - } - if (limit < 0) - break; - } - else - { - char *msg = - sqlite3_mprintf ("netcallback_getNetNodeWithinBox2D: %s", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numelems = count; - } - else - { - if (list->count <= 0) - { - result = NULL; - *numelems = 0; - } - else - { - int i = 0; - struct net_node *p_nd; - result = malloc (sizeof (LWN_NET_NODE) * list->count); - p_nd = list->first; - while (p_nd != NULL) - { - LWN_NET_NODE *nd = result + i; - nd->geom = NULL; - if (fields & LWN_COL_NODE_NODE_ID) - nd->node_id = p_nd->node_id; - if (fields & LWN_COL_NODE_GEOM) - { - if (p_nd->is_null) - ; - else - { - if (accessor->has_z) - nd->geom = - lwn_create_point3d (accessor->srid, - p_nd->x, p_nd->y, - p_nd->z); - else - nd->geom = - lwn_create_point2d (accessor->srid, - p_nd->x, p_nd->y); - } - } - i++; - p_nd = p_nd->next; - } - *numelems = list->count; - } - } - - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - destroy_net_nodes_list (list); - sqlite3_reset (stmt); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_net_nodes_list (list); - *numelems = 1; - sqlite3_reset (stmt); - return NULL; -} - -LWN_ELEMID -netcallback_getNextLinkId (const LWN_BE_NETWORK * lwn_net) -{ -/* callback function: getNextLinkId */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt_in; - sqlite3_stmt *stmt_out; - int ret; - sqlite3_int64 link_id = -1; - if (accessor == NULL) - return -1; - - stmt_in = accessor->stmt_getNextLinkId; - if (stmt_in == NULL) - return -1; - stmt_out = accessor->stmt_setNextLinkId; - if (stmt_out == NULL) - return -1; - -/* setting up the prepared statement */ - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - link_id = sqlite3_column_int64 (stmt_in, 0); - else - { - char *msg = sqlite3_mprintf ("netcallback_getNextLinkId: %s", - sqlite3_errmsg - (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto stop; - } - } - -/* updating next_link_id */ - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - sqlite3_reset (stmt_in); - sqlite3_reset (stmt_out); - return link_id; - } - else - { - char *msg = sqlite3_mprintf ("netcallback_setNextLinkId: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - link_id = -1; - } - stop: - sqlite3_reset (stmt_in); - sqlite3_reset (stmt_out); - if (link_id >= 0) - link_id++; - return link_id; -} - -int -netcallback_updateLinksById (const LWN_BE_NETWORK * lwn_net, - const LWN_LINK * links, int numlinks, - int upd_fields) -{ -/* callback function: updateLinksById */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt = NULL; - gaiaGeomCollPtr geom; - int ret; - char *sql; - char *prev; - int comma = 0; - char *table; - char *xtable; - int i; - int changed = 0; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - if (accessor == NULL) - return -1; - - if (accessor->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (accessor->cache); - gpkg_mode = cache->gpkg_mode; - } - -/* composing the SQL prepared statement */ - table = sqlite3_mprintf ("%s_link", accessor->network_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET", xtable); - free (xtable); - prev = sql; - if (upd_fields & LWN_COL_LINK_LINK_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, link_id = ?", prev); - else - sql = sqlite3_mprintf ("%s link_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & LWN_COL_LINK_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, start_node = ?", prev); - else - sql = sqlite3_mprintf ("%s start_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & LWN_COL_LINK_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, end_node = ?", prev); - else - sql = sqlite3_mprintf ("%s end_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & LWN_COL_LINK_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, geometry = ?", prev); - else - sql = sqlite3_mprintf ("%s geometry = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - sql = sqlite3_mprintf ("%s WHERE link_id = ?", prev); - sqlite3_free (prev); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_updateLinksById error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - return -1; - } - - for (i = 0; i < numlinks; i++) - { - /* parameter binding */ - int icol = 1; - const LWN_LINK *upd_link = links + i; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (upd_fields & LWN_COL_LINK_LINK_ID) - { - sqlite3_bind_int64 (stmt, icol, upd_link->link_id); - icol++; - } - if (upd_fields & LWN_COL_LINK_START_NODE) - { - sqlite3_bind_int64 (stmt, icol, upd_link->start_node); - icol++; - } - if (upd_fields & LWN_COL_LINK_END_NODE) - { - sqlite3_bind_int64 (stmt, icol, upd_link->end_node); - icol++; - } - if (upd_fields & LWN_COL_LINK_GEOM) - { - if (upd_link->geom == NULL) - sqlite3_bind_null (stmt, icol); - else - { - /* transforming the LWN_LINE into a Geometry-Linestring */ - geom = - do_convert_lwnline_to_geom (upd_link->geom, - accessor->srid); - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, - gpkg_mode); - gaiaFreeGeomColl (geom); - sqlite3_bind_blob (stmt, icol, p_blob, n_bytes, free); - } - icol++; - } - sqlite3_bind_int64 (stmt, icol, upd_link->link_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - changed += sqlite3_changes (accessor->db_handle); - else - { - char *msg = - sqlite3_mprintf ("netcallback_updateLinksById: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt); - return changed; - - error: - sqlite3_finalize (stmt); - return -1; -} - -LWN_LINK * -netcallback_getLinkById (const LWN_BE_NETWORK * lwn_net, - const LWN_ELEMID * ids, int *numelems, int fields) -{ -/* callback function: getLinkById */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt_aux = NULL; - int ret; - int i; - char *sql; - struct net_links_list *list = NULL; - LWN_LINK *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - /* preparing the SQL statement */ - sql = do_prepare_read_link (accessor->network_name, fields); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt_aux, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_getLinkById AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_links_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_link - (stmt_aux, list, *(ids + i), fields, "netcallback_getLinkById", - &msg)) - { - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no link was found */ - *numelems = list->count; - } - else - { - struct net_link *p_lnk; - result = malloc (sizeof (LWN_LINK) * list->count); - p_lnk = list->first; - i = 0; - while (p_lnk != NULL) - { - LWN_LINK *lnk = result + i; - lnk->geom = NULL; - if (fields & LWN_COL_LINK_LINK_ID) - lnk->link_id = p_lnk->link_id; - if (fields & LWN_COL_LINK_START_NODE) - lnk->start_node = p_lnk->start_node; - if (fields & LWN_COL_LINK_END_NODE) - lnk->end_node = p_lnk->end_node; - if (fields & LWN_COL_LINK_GEOM) - { - if (p_lnk->geom == NULL) - lnk->geom = NULL; - else - lnk->geom = - gaianet_convert_linestring_to_lwnline - (p_lnk->geom, accessor->srid, accessor->has_z); - } - i++; - p_lnk = p_lnk->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_links_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_links_list (list); - *numelems = -1; - return NULL; -} - -int -netcallback_deleteLinksById (const LWN_BE_NETWORK * lwn_net, - const LWN_ELEMID * ids, int numelems) -{ -/* callback function: deleteLinksById */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - sqlite3_stmt *stmt = NULL; - int ret; - int i; - int changed = 0; - if (accessor == NULL) - return -1; - - stmt = accessor->stmt_deleteLinksById; - if (stmt == NULL) - return -1; - - for (i = 0; i < numelems; i++) - { - /* parameter binding */ - sqlite3_int64 id = *(ids + i); - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - changed += sqlite3_changes (accessor->db_handle); - } - else - { - char *msg = - sqlite3_mprintf ("netcallback_deleteLinksById: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaianet_set_last_error_msg (net, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return changed; - - error: - sqlite3_reset (stmt); - return -1; -} - -int -netcallback_netGetSRID (const LWN_BE_NETWORK * lwn_net) -{ -/* callback function: netGetSRID */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - if (accessor == NULL) - return -1; - - return accessor->srid; -} - -int -netcallback_netHasZ (const LWN_BE_NETWORK * lwn_net) -{ -/* callback function: netHasZ */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - if (accessor == NULL) - return 0; - - return accessor->has_z; -} - -int -netcallback_netIsSpatial (const LWN_BE_NETWORK * lwn_net) -{ -/* callback function: netIsSpatial */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - if (accessor == NULL) - return 0; - - return accessor->spatial; -} - -int -netcallback_netAllowCoincident (const LWN_BE_NETWORK * lwn_net) -{ -/* callback function: netAllowCoincident */ - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - if (accessor == NULL) - return 0; - - return accessor->allow_coincident; -} - -const void * -netcallback_netGetGEOS (const LWN_BE_NETWORK * lwn_net) -{ -/* callback function: netGetGEOS */ - const struct splite_internal_cache *cache; - GaiaNetworkAccessorPtr net = (GaiaNetworkAccessorPtr) lwn_net; - struct gaia_network *accessor = (struct gaia_network *) net; - if (accessor == NULL) - return NULL; - if (accessor->cache == NULL) - return NULL; - - cache = (const struct splite_internal_cache *) (accessor->cache); - return cache->GEOS_handle; -} - -#endif /* end RTTOPO conditionals */ DELETED src/topology/network_private.h Index: src/topology/network_private.h ================================================================== --- src/topology/network_private.h +++ src/topology/network_private.h @@ -1,214 +0,0 @@ -/* - network_private.h -- Topology-Network opaque definitions - - version 4.3, 2015 August 11 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/** - \file network_private.h - - SpatiaLite Topology-Network private header file - */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS -#ifdef _WIN32 -#ifdef DLL_EXPORT -#define NETWORK_PRIVATE -#else -#define NETWORK_PRIVATE -#endif -#else -#define NETWORK_PRIVATE __attribute__ ((visibility("hidden"))) -#endif -#endif - -struct gaia_network -{ -/* a struct wrapping a Topology-Network Accessor Object */ - const void *cache; - sqlite3 *db_handle; - char *network_name; - int spatial; - int srid; - int has_z; - int allow_coincident; - char *last_error_message; - sqlite3_stmt *stmt_getNetNodeWithinDistance2D; - sqlite3_stmt *stmt_getLinkWithinDistance2D; - sqlite3_stmt *stmt_insertNetNodes; - sqlite3_stmt *stmt_deleteNetNodesById; - sqlite3_stmt *stmt_getNetNodeWithinBox2D; - sqlite3_stmt *stmt_getNextLinkId; - sqlite3_stmt *stmt_setNextLinkId; - sqlite3_stmt *stmt_insertLinks; - sqlite3_stmt *stmt_deleteLinksById; - void *callbacks; - void *lwn_iface; - void *lwn_network; - struct gaia_network *prev; - struct gaia_network *next; -}; - -/* prototypes for functions handling Topology errors */ -NETWORK_PRIVATE void gaianet_reset_last_error_msg (GaiaNetworkAccessorPtr - accessor); - -NETWORK_PRIVATE void gaianet_set_last_error_msg (GaiaNetworkAccessorPtr - accessor, const char *msg); - -NETWORK_PRIVATE const char - *gaianet_get_last_exception (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE int auxnet_insert_into_network (GaiaNetworkAccessorPtr accessor, - gaiaGeomCollPtr geom); - - -/* prototypes for functions creating some SQL prepared statement */ -NETWORK_PRIVATE sqlite3_stmt - * -do_create_stmt_getNetNodeWithinDistance2D (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE sqlite3_stmt - * do_create_stmt_getLinkWithinDistance2D (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE sqlite3_stmt - * do_create_stmt_insertNetNodes (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE sqlite3_stmt - * do_create_stmt_deleteNetNodesById (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE sqlite3_stmt - * do_create_stmt_getNetNodeWithinBox2D (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE sqlite3_stmt - * do_create_stmt_getNextLinkId (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE sqlite3_stmt - * do_create_stmt_setNextLinkId (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE sqlite3_stmt - * do_create_stmt_insertLinks (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE sqlite3_stmt - * do_create_stmt_deleteLinksById (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE void -finalize_toponet_prepared_stmts (GaiaNetworkAccessorPtr accessor); - -NETWORK_PRIVATE void -create_toponet_prepared_stmts (GaiaNetworkAccessorPtr accessor); - - -/* common utility */ -NETWORK_PRIVATE LWN_LINE - * gaianet_convert_linestring_to_lwnline (gaiaLinestringPtr ln, int srid, - int has_z); - - -/* callback function prototypes */ -const char *netcallback_lastErrorMessage (const LWN_BE_DATA * be); - -int netcallback_freeNetwork (LWN_BE_NETWORK * net); - -LWN_BE_NETWORK *netcallback_loadNetworkByName (const LWN_BE_DATA * be, - const char *name); - -LWN_NET_NODE *netcallback_getNetNodeWithinDistance2D (const LWN_BE_NETWORK * - lwn_net, - const LWN_POINT * pt, - double dist, - int *numelems, int fields, - int limit); - -LWN_LINK *netcallback_getLinkWithinDistance2D (const LWN_BE_NETWORK * net, - const LWN_POINT * pt, - double dist, int *numelems, - int fields, int limit); - -int netcallback_updateNetNodesById (const LWN_BE_NETWORK * net, - const LWN_NET_NODE * nodes, int numnodes, - int upd_fields); - -int netcallback_deleteNetNodesById (const LWN_BE_NETWORK * net, - const LWN_ELEMID * ids, int numnodes); - -int netcallback_insertNetNodes (const LWN_BE_NETWORK * net, LWN_NET_NODE * node, - int numelems); - -LWN_NET_NODE *netcallback_getNetNodeById (const LWN_BE_NETWORK * net, - const LWN_ELEMID * ids, int *numelems, - int fields); - -LWN_ELEMID netcallback_getNextLinkId (const LWN_BE_NETWORK * net); - -LWN_NET_NODE *netcallback_getNetNodeWithinBox2D (const LWN_BE_NETWORK * net, - const LWN_BBOX * box, - int *numelems, int fields, - int limit); - -LWN_ELEMID netcallback_getNextLinkId (const LWN_BE_NETWORK * lwn_net); - -int netcallback_insertLinks (const LWN_BE_NETWORK * net, - LWN_LINK * links, int numelems); - -int netcallback_updateLinksById (const LWN_BE_NETWORK * net, - const LWN_LINK * links, int numlinks, - int upd_fields); - -LWN_LINK *netcallback_getLinkByNetNode (const LWN_BE_NETWORK * net, - const LWN_ELEMID * ids, int *numelems, - int fields); - -LWN_LINK *netcallback_getLinkById (const LWN_BE_NETWORK * lwn_net, - const LWN_ELEMID * ids, int *numelems, - int fields); - -int netcallback_deleteLinksById (const LWN_BE_NETWORK * net, - const LWN_ELEMID * ids, int numnodes); - -int netcallback_netGetSRID (const LWN_BE_NETWORK * net); - -int netcallback_netHasZ (const LWN_BE_NETWORK * net); - -int netcallback_netIsSpatial (const LWN_BE_NETWORK * net); - -int netcallback_netAllowCoincident (const LWN_BE_NETWORK * net); - -const void *netcallback_netGetGEOS (const LWN_BE_NETWORK * net); DELETED src/topology/topo_callbacks.c Index: src/topology/topo_callbacks.c ================================================================== --- src/topology/topo_callbacks.c +++ src/topology/topo_callbacks.c @@ -1,5789 +0,0 @@ -/* - - topo_callbacks.c -- implementation of Topology callback functions - - version 4.3, 2015 July 18 - - Author: Sandro Furieri a.furieri@lqt.it - - ----------------------------------------------------------------------------- - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/* - -CREDITS: - -this module has been completely funded by: -Regione Toscana - Settore Sistema Informativo Territoriale ed Ambientale -(Topology support) - -CIG: 6038019AE5 - -*/ - -#include -#include -#include -#include - -#if defined(_WIN32) && !defined(__MINGW32__) -#include "config-msvc.h" -#else -#include "config.h" -#endif - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include "topology_private.h" - -struct topo_node -{ -/* a struct wrapping a Topology Node */ - sqlite3_int64 node_id; - sqlite3_int64 containing_face; - double x; - double y; - double z; - int has_z; - struct topo_node *next; -}; - -struct topo_nodes_list -{ -/* a struct wrapping a list of Topology Nodes */ - struct topo_node *first; - struct topo_node *last; - int count; -}; - -struct topo_edge -{ -/* a struct wrapping a Topology Edge */ - sqlite3_int64 edge_id; - sqlite3_int64 start_node; - sqlite3_int64 end_node; - sqlite3_int64 face_left; - sqlite3_int64 face_right; - sqlite3_int64 next_left; - sqlite3_int64 next_right; - gaiaLinestringPtr geom; - struct topo_edge *next; -}; - -struct topo_edges_list -{ -/* a struct wrapping a list of Topology Edegs */ - struct topo_edge *first; - struct topo_edge *last; - int count; -}; - -struct topo_face -{ -/* a struct wrapping a Topology Face */ - sqlite3_int64 id; - sqlite3_int64 face_id; - double minx; - double miny; - double maxx; - double maxy; - struct topo_face *next; -}; - -struct topo_faces_list -{ -/* a struct wrapping a list of Topology Edegs */ - struct topo_face *first; - struct topo_face *last; - int count; -}; - -static struct topo_node * -create_topo_node (sqlite3_int64 node_id, sqlite3_int64 containing_face, - double x, double y, double z, int has_z) -{ -/* creating a Topology Node */ - struct topo_node *ptr = malloc (sizeof (struct topo_node)); - ptr->node_id = node_id; - ptr->containing_face = containing_face; - ptr->x = x; - ptr->y = y; - ptr->z = z; - ptr->has_z = has_z; - ptr->next = NULL; - return ptr; -} - -static void -destroy_topo_node (struct topo_node *ptr) -{ -/* destroying a Topology Node */ - if (ptr == NULL) - return; - free (ptr); -} - -static struct topo_edge * -create_topo_edge (sqlite3_int64 edge_id, sqlite3_int64 start_node, - sqlite3_int64 end_node, sqlite3_int64 face_left, - sqlite3_int64 face_right, sqlite3_int64 next_left, - sqlite3_int64 next_right, gaiaLinestringPtr ln) -{ -/* creating a Topology Edge */ - struct topo_edge *ptr = malloc (sizeof (struct topo_edge)); - ptr->edge_id = edge_id; - ptr->start_node = start_node; - ptr->end_node = end_node; - ptr->face_left = face_left; - ptr->face_right = face_right; - ptr->next_left = next_left; - ptr->next_right = next_right; - ptr->geom = ln; - ptr->next = NULL; - return ptr; -} - -static void -destroy_topo_edge (struct topo_edge *ptr) -{ -/* destroying a Topology Edge */ - if (ptr == NULL) - return; - if (ptr->geom != NULL) - gaiaFreeLinestring (ptr->geom); - free (ptr); -} - -static struct topo_face * -create_topo_face (sqlite3_int64 id, sqlite3_int64 face_id, double minx, - double miny, double maxx, double maxy) -{ -/* creating a Topology Face */ - struct topo_face *ptr = malloc (sizeof (struct topo_face)); - ptr->id = id; - ptr->face_id = face_id; - ptr->minx = minx; - ptr->miny = miny; - ptr->maxx = maxx; - ptr->maxy = maxy; - ptr->next = NULL; - return ptr; -} - -static void -destroy_topo_face (struct topo_face *ptr) -{ -/* destroying a Topology Face */ - if (ptr == NULL) - return; - free (ptr); -} - -static struct topo_nodes_list * -create_nodes_list (void) -{ -/* creating an empty list of Topology Nodes */ - struct topo_nodes_list *ptr = malloc (sizeof (struct topo_nodes_list)); - ptr->first = NULL; - ptr->last = NULL; - ptr->count = 0; - return ptr; -} - -static void -destroy_nodes_list (struct topo_nodes_list *ptr) -{ -/* destroying a list of Topology Nodes */ - struct topo_node *p; - struct topo_node *pn; - if (ptr == NULL) - return; - - p = ptr->first; - while (p != NULL) - { - pn = p->next; - destroy_topo_node (p); - p = pn; - } - free (ptr); -} - -static void -add_node_2D (struct topo_nodes_list *list, sqlite3_int64 node_id, - sqlite3_int64 containing_face, double x, double y) -{ -/* inserting a Topology Node 2D into the list */ - struct topo_node *ptr; - if (list == NULL) - return; - - ptr = create_topo_node (node_id, containing_face, x, y, 0.0, 0); - if (list->first == NULL) - list->first = ptr; - if (list->last != NULL) - list->last->next = ptr; - list->last = ptr; - list->count++; -} - -static void -add_node_3D (struct topo_nodes_list *list, sqlite3_int64 node_id, - sqlite3_int64 containing_face, double x, double y, double z) -{ -/* inserting a Topology Node 3D into the list */ - struct topo_node *ptr; - if (list == NULL) - return; - - ptr = create_topo_node (node_id, containing_face, x, y, z, 1); - if (list->first == NULL) - list->first = ptr; - if (list->last != NULL) - list->last->next = ptr; - list->last = ptr; - list->count++; -} - -static struct topo_edges_list * -create_edges_list (void) -{ -/* creating an empty list of Topology Edges */ - struct topo_edges_list *ptr = malloc (sizeof (struct topo_edges_list)); - ptr->first = NULL; - ptr->last = NULL; - ptr->count = 0; - return ptr; -} - -static void -destroy_edges_list (struct topo_edges_list *ptr) -{ -/* destroying a list of Topology Edges */ - struct topo_edge *p; - struct topo_edge *pn; - if (ptr == NULL) - return; - - p = ptr->first; - while (p != NULL) - { - pn = p->next; - destroy_topo_edge (p); - p = pn; - } - free (ptr); -} - -static void -add_edge (struct topo_edges_list *list, sqlite3_int64 edge_id, - sqlite3_int64 start_node, sqlite3_int64 end_node, - sqlite3_int64 face_left, sqlite3_int64 face_right, - sqlite3_int64 next_left, sqlite3_int64 next_right, - gaiaLinestringPtr ln) -{ -/* inserting a Topology Edge into the list */ - struct topo_edge *ptr; - if (list == NULL) - return; - - ptr = list->first; - while (ptr != NULL) - { - /* avoiding to insert duplicate entries */ - if (ptr->edge_id == edge_id) - return; - ptr = ptr->next; - } - - ptr = - create_topo_edge (edge_id, start_node, end_node, face_left, face_right, - next_left, next_right, ln); - if (list->first == NULL) - list->first = ptr; - if (list->last != NULL) - list->last->next = ptr; - list->last = ptr; - list->count++; -} - -static struct topo_faces_list * -create_faces_list (void) -{ -/* creating an empty list of Topology Faces */ - struct topo_faces_list *ptr = malloc (sizeof (struct topo_faces_list)); - ptr->first = NULL; - ptr->last = NULL; - ptr->count = 0; - return ptr; -} - -static void -destroy_faces_list (struct topo_faces_list *ptr) -{ -/* destroying a list of Topology Faces */ - struct topo_face *p; - struct topo_face *pn; - if (ptr == NULL) - return; - - p = ptr->first; - while (p != NULL) - { - pn = p->next; - destroy_topo_face (p); - p = pn; - } - free (ptr); -} - -static void -add_face (struct topo_faces_list *list, sqlite3_int64 id, sqlite3_int64 face_id, - double minx, double miny, double maxx, double maxy) -{ -/* inserting a Topology Face into the list */ - struct topo_face *ptr; - if (list == NULL) - return; - - ptr = create_topo_face (id, face_id, minx, miny, maxx, maxy); - if (list->first == NULL) - list->first = ptr; - if (list->last != NULL) - list->last->next = ptr; - list->last = ptr; - list->count++; -} - -TOPOLOGY_PRIVATE RTLINE * -gaia_convert_linestring_to_rtline (const RTCTX * ctx, gaiaLinestringPtr ln, - int srid, int has_z) -{ -/* converting a Linestring into an RTLINE */ - RTPOINTARRAY *pa; - RTPOINT4D point; - int iv; - double x; - double y; - double z; - double m; - - pa = ptarray_construct (ctx, has_z, 0, ln->Points); - for (iv = 0; iv < ln->Points; iv++) - { - /* copying vertices */ - if (ln->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (ln->Coords, iv, &x, &y, &z); - } - else if (ln->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (ln->Coords, iv, &x, &y, &m); - } - else if (ln->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (ln->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (ln->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - ptarray_set_point4d (ctx, pa, iv, &point); - } - return rtline_construct (ctx, srid, NULL, pa); -} - -static int -check_unclosed_ring (gaiaRingPtr rng) -{ -/* checks if a Ring is closed or not */ - double x0; - double y0; - double z0 = 0.0; - double m0 = 0.0; - double x1; - double y1; - double z1 = 0.0; - double m1 = 0.0; - int last = rng->Points - 1; - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x0, &y0, &z0); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x0, &y0, &m0); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x0, &y0, &z0, &m0); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x0, &y0); - } - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, last, &x1, &y1, &z1); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, last, &x1, &y1, &m1); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, last, &x1, &y1, &z1, &m1); - } - else - { - gaiaGetPoint (rng->Coords, last, &x1, &y1); - } - if (x0 == x1 && y0 == y1 && z0 == z1 && m0 == m1) - return 0; - return 1; -} - -TOPOLOGY_PRIVATE RTPOLY * -gaia_convert_polygon_to_rtpoly (const RTCTX * ctx, gaiaPolygonPtr pg, int srid, - int has_z) -{ -/* converting a Polygon into an RTPOLY */ - int ngeoms; - RTPOINTARRAY **ppaa; - RTPOINT4D point; - gaiaRingPtr rng; - int close_ring; - int ib; - int iv; - double x; - double y; - double z; - double m; - - ngeoms = pg->NumInteriors; - ppaa = rtalloc (ctx, sizeof (RTPOINTARRAY *) * (ngeoms + 1)); - rng = pg->Exterior; - close_ring = check_unclosed_ring (rng); - if (close_ring) - ppaa[0] = ptarray_construct (ctx, has_z, 0, rng->Points + 1); - else - ppaa[0] = ptarray_construct (ctx, has_z, 0, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - /* copying vertices */ - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - ptarray_set_point4d (ctx, ppaa[0], iv, &point); - } - if (close_ring) - { - /* making an unclosed ring to be closed */ - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - ptarray_set_point4d (ctx, ppaa[0], rng->Points, &point); - } - for (ib = 0; ib < pg->NumInteriors; ib++) - { - /* copying vertices - Interior Rings */ - rng = pg->Interiors + ib; - close_ring = check_unclosed_ring (rng); - if (close_ring) - ppaa[1 + ib] = ptarray_construct (ctx, has_z, 0, rng->Points + 1); - else - ppaa[1 + ib] = ptarray_construct (ctx, has_z, 0, rng->Points); - for (iv = 0; iv < rng->Points; iv++) - { - /* copying vertices */ - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, iv, &x, &y, &z); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, iv, &x, &y, &m); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, iv, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, iv, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - ptarray_set_point4d (ctx, ppaa[1 + ib], iv, &point); - } - if (close_ring) - { - /* making an unclosed ring to be closed */ - if (rng->DimensionModel == GAIA_XY_Z) - { - gaiaGetPointXYZ (rng->Coords, 0, &x, &y, &z); - } - else if (rng->DimensionModel == GAIA_XY_M) - { - gaiaGetPointXYM (rng->Coords, 0, &x, &y, &m); - } - else if (rng->DimensionModel == GAIA_XY_Z_M) - { - gaiaGetPointXYZM (rng->Coords, 0, &x, &y, &z, &m); - } - else - { - gaiaGetPoint (rng->Coords, 0, &x, &y); - } - point.x = x; - point.y = y; - if (has_z) - point.z = z; - ptarray_set_point4d (ctx, ppaa[1 + ib], rng->Points, &point); - } - } - return rtpoly_construct (ctx, srid, NULL, ngeoms + 1, ppaa); -} - -static gaiaGeomCollPtr -do_rtline_to_geom (const RTCTX * ctx, RTLINE * rtline, int srid) -{ -/* converting a RTLINE into a Geometry (Linestring) */ - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - int has_z = 0; - double x; - double y; - double z; - int iv; - gaiaGeomCollPtr geom; - gaiaLinestringPtr ln; - - pa = rtline->points; - if (RTFLAGS_GET_Z (pa->flags)) - has_z = 1; - if (has_z) - geom = gaiaAllocGeomCollXYZ (); - else - geom = gaiaAllocGeomColl (); - ln = gaiaAddLinestringToGeomColl (geom, pa->npoints); - for (iv = 0; iv < pa->npoints; iv++) - { - /* copying LINESTRING vertices */ - rt_getPoint4d_p (ctx, pa, iv, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (has_z) - z = pt4d.z; - if (has_z) - { - gaiaSetPointXYZ (ln->Coords, iv, x, y, z); - } - else - { - gaiaSetPoint (ln->Coords, iv, x, y); - } - } - geom->DeclaredType = GAIA_LINESTRING; - geom->Srid = srid; - - return geom; -} - -static char * -do_prepare_read_node (const char *topology_name, int fields, int has_z) -{ -/* preparing the auxiliary "read_node" SQL statement */ - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - if (fields & RTT_COL_NODE_NODE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, node_id", prev); - else - sql = sqlite3_mprintf ("%s node_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (comma) - sql = sqlite3_mprintf ("%s, containing_face", prev); - else - sql = sqlite3_mprintf ("%s containing_face", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_NODE_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, ST_X(geom), ST_Y(geom)", prev); - else - sql = sqlite3_mprintf ("%s ST_X(geom), ST_Y(geom)", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - if (has_z) - { - sql = sqlite3_mprintf ("%s, ST_Z(geom)", prev); - sqlite3_free (prev); - prev = sql; - } - } - table = sqlite3_mprintf ("%s_node", topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("%s FROM MAIN.\"%s\" WHERE node_id = ?", prev, xtable); - sqlite3_free (prev); - free (xtable); - return sql; -} - -static int -do_read_node (sqlite3_stmt * stmt, struct topo_nodes_list *list, - sqlite3_int64 id, int fields, int has_z, - const char *callback_name, char **errmsg) -{ -/* reading Nodes out from the DBMS */ - int icol = 0; - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int ok_id = 0; - int ok_face = 0; - int ok_x = 0; - int ok_y = 0; - int ok_z = 0; - sqlite3_int64 node_id = -1; - sqlite3_int64 containing_face = -1; - double x = 0.0; - double y = 0.0; - double z = 0.0; - if (fields & RTT_COL_NODE_NODE_ID) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - node_id = sqlite3_column_int64 (stmt, icol); - ok_id = 1; - } - icol++; - } - else - ok_id = 1; - if (fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_NULL) - { - containing_face = -1; - ok_face = 1; - } - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - containing_face = sqlite3_column_int64 (stmt, icol); - ok_face = 1; - } - icol++; - } - else - ok_face = 1; - if (fields & RTT_COL_NODE_GEOM) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_FLOAT) - { - x = sqlite3_column_double (stmt, icol); - ok_x = 1; - } - icol++; - if (sqlite3_column_type (stmt, icol) == SQLITE_FLOAT) - { - y = sqlite3_column_double (stmt, icol); - ok_y = 1; - } - icol++; - if (has_z) - { - if (sqlite3_column_type (stmt, icol) == - SQLITE_FLOAT) - { - z = sqlite3_column_double (stmt, icol); - ok_z = 1; - } - } - } - else - { - ok_x = 1; - ok_y = 1; - ok_z = 1; - } - if (has_z) - { - if (ok_id && ok_face && ok_x && ok_y && ok_z) - { - add_node_3D (list, node_id, containing_face, x, y, - z); - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; - } - } - else - { - if (ok_id && ok_face && ok_x && ok_y) - { - add_node_2D (list, node_id, containing_face, x, y); - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; - } - } - /* an invalid Node has been found */ - *errmsg = - sqlite3_mprintf - ("%s: found an invalid Node \"%lld\"", callback_name, - node_id); - return 0; - } - } - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; -} - -static int -do_read_node_by_face (sqlite3_stmt * stmt, struct topo_nodes_list *list, - sqlite3_int64 id, int fields, const RTGBOX * box, - int has_z, const char *callback_name, char **errmsg) -{ -/* reading Nodes out from the DBMS */ - int icol = 0; - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, id); - if (box != NULL) - { - sqlite3_bind_double (stmt, 2, box->xmin); - sqlite3_bind_double (stmt, 3, box->ymin); - sqlite3_bind_double (stmt, 4, box->xmax); - sqlite3_bind_double (stmt, 5, box->ymax); - } - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int ok_id = 0; - int ok_face = 0; - int ok_x = 0; - int ok_y = 0; - int ok_z = 0; - sqlite3_int64 node_id = -1; - sqlite3_int64 containing_face = -1; - double x = 0.0; - double y = 0.0; - double z = 0.0; - if (fields & RTT_COL_NODE_NODE_ID) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - node_id = sqlite3_column_int64 (stmt, icol); - ok_id = 1; - } - icol++; - } - else - ok_id = 1; - if (fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_NULL) - { - containing_face = -1; - ok_face = 1; - } - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - containing_face = sqlite3_column_int64 (stmt, icol); - ok_face = 1; - } - icol++; - } - else - ok_face = 1; - if (fields & RTT_COL_NODE_GEOM) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_FLOAT) - { - x = sqlite3_column_double (stmt, icol); - ok_x = 1; - } - icol++; - if (sqlite3_column_type (stmt, icol) == SQLITE_FLOAT) - { - y = sqlite3_column_double (stmt, icol); - ok_y = 1; - } - icol++; - if (has_z) - { - if (sqlite3_column_type (stmt, icol) == - SQLITE_FLOAT) - { - z = sqlite3_column_double (stmt, icol); - ok_z = 1; - } - } - } - else - { - ok_x = 1; - ok_y = 1; - ok_z = 1; - } - if (has_z) - { - if (ok_id && ok_face && ok_x && ok_y && ok_z) - { - add_node_3D (list, node_id, containing_face, x, y, - z); - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; - } - } - else - { - if (ok_id && ok_face && ok_x && ok_y) - { - add_node_2D (list, node_id, containing_face, x, y); - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; - } - } - /* an invalid Node has been found */ - *errmsg = - sqlite3_mprintf - ("%s: found an invalid Node \"%lld\"", callback_name, - node_id); - return 0; - } - } - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; -} - -static char * -do_prepare_read_edge (const char *topology_name, int fields) -{ -/* preparing the auxiliary "read_edge" SQL statement */ - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - /* unconditionally querying the Edge ID */ - if (comma) - sql = sqlite3_mprintf ("%s, edge_id", prev); - else - sql = sqlite3_mprintf ("%s edge_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - if (fields & RTT_COL_EDGE_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, start_node", prev); - else - sql = sqlite3_mprintf ("%s start_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, end_node", prev); - else - sql = sqlite3_mprintf ("%s end_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_FACE_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, left_face", prev); - else - sql = sqlite3_mprintf ("%s left_face", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, right_face", prev); - else - sql = sqlite3_mprintf ("%s right_face", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_left_edge", prev); - else - sql = sqlite3_mprintf ("%s next_left_edge", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_right_edge", prev); - else - sql = sqlite3_mprintf ("%s next_right_edge", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, geom", prev); - else - sql = sqlite3_mprintf ("%s geom", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - table = sqlite3_mprintf ("%s_edge", topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("%s FROM MAIN.\"%s\" WHERE edge_id = ?", prev, xtable); - free (xtable); - sqlite3_free (prev); - return sql; -} - -static int -do_read_edge_row (sqlite3_stmt * stmt, struct topo_edges_list *list, int fields, - const char *callback_name, char **errmsg) -{ -/* reading an Edge Row out from the resultset */ - int icol = 0; - - int ok_id = 0; - int ok_start = 0; - int ok_end = 0; - int ok_left = 0; - int ok_right = 0; - int ok_next_left = 0; - int ok_next_right = 0; - int ok_geom = 0; - sqlite3_int64 edge_id; - sqlite3_int64 start_node; - sqlite3_int64 end_node; - sqlite3_int64 face_left; - sqlite3_int64 face_right; - sqlite3_int64 next_left_edge; - sqlite3_int64 next_right_edge; - gaiaGeomCollPtr geom = NULL; - gaiaLinestringPtr ln = NULL; - /* unconditionally querying the Edge ID */ - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - edge_id = sqlite3_column_int64 (stmt, icol); - ok_id = 1; - } - icol++; - if (fields & RTT_COL_EDGE_START_NODE) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - start_node = sqlite3_column_int64 (stmt, icol); - ok_start = 1; - } - icol++; - } - else - ok_start = 1; - if (fields & RTT_COL_EDGE_END_NODE) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - end_node = sqlite3_column_int64 (stmt, icol); - ok_end = 1; - } - icol++; - } - else - ok_end = 1; - if (fields & RTT_COL_EDGE_FACE_LEFT) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_NULL) - { - face_left = -1; - ok_left = 1; - } - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - face_left = sqlite3_column_int64 (stmt, icol); - ok_left = 1; - } - icol++; - } - else - ok_left = 1; - if (fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_NULL) - { - face_right = -1; - ok_right = 1; - } - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - face_right = sqlite3_column_int64 (stmt, icol); - ok_right = 1; - } - icol++; - } - else - ok_right = 1; - if (fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - next_left_edge = sqlite3_column_int64 (stmt, icol); - ok_next_left = 1; - } - icol++; - } - else - ok_next_left = 1; - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - next_right_edge = sqlite3_column_int64 (stmt, icol); - ok_next_right = 1; - } - icol++; - } - else - ok_next_right = 1; - if (fields & RTT_COL_EDGE_GEOM) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_BLOB) - { - const unsigned char *blob = sqlite3_column_blob (stmt, icol); - int blob_sz = sqlite3_column_bytes (stmt, icol); - geom = gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - if (geom->FirstPoint == NULL - && geom->FirstPolygon == NULL - && geom->FirstLinestring == - geom->LastLinestring && geom->FirstLinestring != NULL) - { - ok_geom = 1; - ln = geom->FirstLinestring; - } - } - } - icol++; - } - else - ok_geom = 1; - if (ok_id && ok_start && ok_end && ok_left && ok_right - && ok_next_left && ok_next_right && ok_geom) - { - add_edge (list, edge_id, start_node, end_node, - face_left, face_right, next_left_edge, next_right_edge, ln); - if (geom != NULL) - { - /* releasing ownership on Linestring */ - geom->FirstLinestring = NULL; - geom->LastLinestring = NULL; - gaiaFreeGeomColl (geom); - } - *errmsg = NULL; - return 1; - } -/* an invalid Edge has been found */ - if (geom != NULL) - gaiaFreeGeomColl (geom); - *errmsg = - sqlite3_mprintf - ("%s: found an invalid Edge \"%lld\"", callback_name, edge_id); - return 0; -} - -static int -do_read_edge (sqlite3_stmt * stmt, struct topo_edges_list *list, - sqlite3_int64 edge_id, int fields, const char *callback_name, - char **errmsg) -{ -/* reading a single Edge out from the DBMS */ - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, edge_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (!do_read_edge_row - (stmt, list, fields, callback_name, errmsg)) - { - sqlite3_reset (stmt); - return 0; - } - } - } - sqlite3_reset (stmt); - return 1; -} - -static int -do_read_edge_by_node (sqlite3_stmt * stmt, struct topo_edges_list *list, - sqlite3_int64 node_id, int fields, - const char *callback_name, char **errmsg) -{ -/* reading a single Edge out from the DBMS */ - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, node_id); - sqlite3_bind_int64 (stmt, 2, node_id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (!do_read_edge_row - (stmt, list, fields, callback_name, errmsg)) - { - sqlite3_reset (stmt); - return 0; - } - } - } - sqlite3_reset (stmt); - return 1; -} - -static int -do_read_edge_by_face (sqlite3_stmt * stmt, struct topo_edges_list *list, - sqlite3_int64 face_id, int fields, const RTGBOX * box, - const char *callback_name, char **errmsg) -{ -/* reading a single Edge out from the DBMS */ - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, face_id); - sqlite3_bind_int64 (stmt, 2, face_id); - if (box != NULL) - { - sqlite3_bind_double (stmt, 3, box->xmin); - sqlite3_bind_double (stmt, 4, box->ymin); - sqlite3_bind_double (stmt, 5, box->xmax); - sqlite3_bind_double (stmt, 6, box->ymax); - } - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (!do_read_edge_row - (stmt, list, fields, callback_name, errmsg)) - { - sqlite3_reset (stmt); - return 0; - } - } - } - sqlite3_reset (stmt); - return 1; -} - -static int -do_read_face (sqlite3_stmt * stmt, struct topo_faces_list *list, - sqlite3_int64 id, int fields, const char *callback_name, - char **errmsg) -{ -/* reading Faces out from the DBMS */ - int icol = 0; - int ret; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (id <= 0) - sqlite3_bind_int64 (stmt, 1, 0); - else - sqlite3_bind_int64 (stmt, 1, id); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - int ok_id = 0; - int ok_minx = 0; - int ok_miny = 0; - int ok_maxx = 0; - int ok_maxy = 0; - sqlite3_int64 face_id = -1; - double minx = 0.0; - double miny = 0.0; - double maxx = 0.0; - double maxy = 0.0; - if (fields & RTT_COL_FACE_FACE_ID) - { - if (sqlite3_column_type (stmt, icol) == SQLITE_INTEGER) - { - face_id = sqlite3_column_int64 (stmt, icol); - ok_id = 1; - } - icol++; - } - else - ok_id = 1; - if (fields & RTT_COL_FACE_MBR) - { - if (id <= 0) - { - ok_minx = 1; - ok_miny = 1; - ok_maxx = 1; - ok_maxy = 1; - } - else - { - if (sqlite3_column_type (stmt, icol) == - SQLITE_FLOAT) - { - minx = sqlite3_column_double (stmt, icol); - ok_minx = 1; - } - icol++; - if (sqlite3_column_type (stmt, icol) == - SQLITE_FLOAT) - { - miny = sqlite3_column_double (stmt, icol); - ok_miny = 1; - } - icol++; - if (sqlite3_column_type (stmt, icol) == - SQLITE_FLOAT) - { - maxx = sqlite3_column_double (stmt, icol); - ok_maxx = 1; - } - icol++; - if (sqlite3_column_type (stmt, icol) == - SQLITE_FLOAT) - { - maxy = sqlite3_column_double (stmt, icol); - ok_maxy = 1; - } - icol++; - } - } - else - { - ok_minx = 1; - ok_miny = 1; - ok_maxx = 1; - ok_maxy = 1; - } - if (ok_id && ok_minx && ok_miny && ok_maxx && ok_maxy) - { - add_face (list, id, face_id, minx, miny, maxx, maxy); - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; - } - /* an invalid Face has been found */ - *errmsg = - sqlite3_mprintf - ("%s: found an invalid Face \"%lld\"", callback_name, - face_id); - sqlite3_reset (stmt); - return 0; - } - } - *errmsg = NULL; - sqlite3_reset (stmt); - return 1; -} - -const char * -callback_lastErrorMessage (const RTT_BE_DATA * be) -{ - return gaiatopo_get_last_exception ((GaiaTopologyAccessorPtr) be); -} - -RTT_BE_TOPOLOGY * -callback_loadTopologyByName (const RTT_BE_DATA * be, const char *name) -{ -/* callback function: loadTopologyByName */ - struct gaia_topology *ptr = (struct gaia_topology *) be; - char *topology_name; - int srid; - double tolerance; - int has_z; - struct splite_internal_cache *cache = - (struct splite_internal_cache *) ptr->cache; - if (gaiaReadTopologyFromDBMS - (ptr->db_handle, name, &topology_name, &srid, &tolerance, &has_z)) - { - ptr->topology_name = topology_name; - ptr->srid = srid; - ptr->tolerance = tolerance; - ptr->has_z = has_z; - /* registering into the Internal Cache double linked list */ - if (cache->firstTopology == NULL) - cache->firstTopology = ptr; - if (cache->lastTopology != NULL) - { - struct gaia_topology *p2 = - (struct gaia_topology *) (cache->lastTopology); - p2->next = ptr; - } - cache->lastTopology = ptr; - return (RTT_BE_TOPOLOGY *) ptr; - } - else - return NULL; -} - -int -callback_freeTopology (RTT_BE_TOPOLOGY * rtt_topo) -{ -/* callback function: freeTopology - does nothing */ - if (rtt_topo != NULL) - rtt_topo = NULL; /* silencing stupid compiler warnings on unuse args */ - return 1; -} - -RTT_ISO_NODE * -callback_getNodeById (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ELEMID * ids, int *numelems, int fields) -{ -/* callback function: getNodeById */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt_aux = NULL; - int ret; - int i; - char *sql; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - struct topo_nodes_list *list = NULL; - RTT_ISO_NODE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - /* preparing the SQL statement */ - sql = - do_prepare_read_node (accessor->topology_name, fields, accessor->has_z); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt_aux, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_getNodeById AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_nodes_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_node - (stmt_aux, list, *(ids + i), fields, accessor->has_z, - "callback_getNodeById", &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no node was found */ - *numelems = list->count; - } - else - { - struct topo_node *p_nd; - result = rtalloc (ctx, sizeof (RTT_ISO_NODE) * list->count); - p_nd = list->first; - i = 0; - while (p_nd != NULL) - { - RTT_ISO_NODE *nd = result + i; - if (fields & RTT_COL_NODE_NODE_ID) - nd->node_id = p_nd->node_id; - if (fields & RTT_COL_NODE_CONTAINING_FACE) - nd->containing_face = p_nd->containing_face; - if (fields & RTT_COL_NODE_GEOM) - { - pa = ptarray_construct (ctx, accessor->has_z, 0, 1); - pt4d.x = p_nd->x; - pt4d.y = p_nd->y; - if (accessor->has_z) - pt4d.z = p_nd->z; - ptarray_set_point4d (ctx, pa, 0, &pt4d); - nd->geom = - rtpoint_construct (ctx, accessor->srid, NULL, pa); - } - i++; - p_nd = p_nd->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_nodes_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_nodes_list (list); - *numelems = -1; - return NULL; -} - -RTT_ISO_NODE * -callback_getNodeWithinDistance2D (const RTT_BE_TOPOLOGY * rtt_topo, - const RTPOINT * pt, double dist, - int *numelems, int fields, int limit) -{ -/* callback function: getNodeWithinDistance2D */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - int ret; - double cx; - double cy; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - int count = 0; - sqlite3_stmt *stmt_aux = NULL; - char *sql; - struct topo_nodes_list *list = NULL; - RTT_ISO_NODE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - stmt = accessor->stmt_getNodeWithinDistance2D; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - if (limit >= 0) - { - /* preparing the auxiliary SQL statement */ - sql = - do_prepare_read_node (accessor->topology_name, fields, - accessor->has_z); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("Prepare_getNodeWithinDistance2D AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - } - -/* extracting X and Y from RTPOINT */ - pa = pt->point; - rt_getPoint4d_p (ctx, pa, 0, &pt4d); - cx = pt4d.x; - cy = pt4d.y; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, cx); - sqlite3_bind_double (stmt, 2, cy); - sqlite3_bind_double (stmt, 3, dist); - sqlite3_bind_double (stmt, 4, cx); - sqlite3_bind_double (stmt, 5, cy); - sqlite3_bind_double (stmt, 6, dist); - list = create_nodes_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 node_id = sqlite3_column_int64 (stmt, 0); - if (stmt_aux != NULL) - { - char *msg; - if (!do_read_node - (stmt_aux, list, node_id, fields, accessor->has_z, - "callback_getNodeWithinDistance2D", &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - count++; - if (limit > 0) - { - if (count > limit) - break; - } - if (limit < 0) - break; - } - else - { - char *msg = - sqlite3_mprintf ("callback_getNodeWithinDistance2D: %s", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numelems = count; - } - else - { - if (list->count <= 0) - { - result = NULL; - *numelems = 0; - } - else - { - int i = 0; - struct topo_node *p_nd; - result = rtalloc (ctx, sizeof (RTT_ISO_NODE) * list->count); - p_nd = list->first; - while (p_nd != NULL) - { - RTT_ISO_NODE *nd = result + i; - if (fields & RTT_COL_NODE_NODE_ID) - nd->node_id = p_nd->node_id; - if (fields & RTT_COL_NODE_CONTAINING_FACE) - nd->containing_face = p_nd->containing_face; - if (fields & RTT_COL_NODE_GEOM) - { - pa = ptarray_construct (ctx, accessor->has_z, 0, 1); - pt4d.x = p_nd->x; - pt4d.y = p_nd->y; - if (accessor->has_z) - pt4d.z = p_nd->z; - ptarray_set_point4d (ctx, pa, 0, &pt4d); - nd->geom = - rtpoint_construct (ctx, accessor->srid, NULL, - pa); - } - i++; - p_nd = p_nd->next; - } - *numelems = list->count; - } - } - - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - destroy_nodes_list (list); - sqlite3_reset (stmt); - return result; - - error: - sqlite3_reset (stmt); - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_nodes_list (list); - *numelems = -1; - return NULL; -} - -int -callback_insertNodes (const RTT_BE_TOPOLOGY * rtt_topo, RTT_ISO_NODE * nodes, - int numelems) -{ -/* callback function: insertNodes */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - int ret; - int i; - double x; - double y; - double z; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - gaiaGeomCollPtr geom; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - if (accessor == NULL) - return 0; - - stmt = accessor->stmt_insertNodes; - if (stmt == NULL) - return 0; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (accessor->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (accessor->cache); - gpkg_mode = cache->gpkg_mode; - } - - for (i = 0; i < numelems; i++) - { - RTT_ISO_NODE *nd = nodes + i; - /* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (nd->node_id <= 0) - sqlite3_bind_null (stmt, 1); - else - sqlite3_bind_int64 (stmt, 1, nd->node_id); - if (nd->containing_face < 0) - sqlite3_bind_null (stmt, 2); - else - sqlite3_bind_int64 (stmt, 2, nd->containing_face); - if (accessor->has_z) - geom = gaiaAllocGeomCollXYZ (); - else - geom = gaiaAllocGeomColl (); - /* extracting X and Y from RTPOINT */ - pa = nd->geom->point; - rt_getPoint4d_p (ctx, pa, 0, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (accessor->has_z) - { - z = pt4d.z; - gaiaAddPointToGeomCollXYZ (geom, x, y, z); - } - else - gaiaAddPointToGeomColl (geom, x, y); - geom->Srid = accessor->srid; - geom->DeclaredType = GAIA_POINT; - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - sqlite3_bind_blob (stmt, 3, p_blob, n_bytes, free); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - /* retrieving the PK value */ - nd->node_id = sqlite3_last_insert_rowid (accessor->db_handle); - } - else - { - char *msg = sqlite3_mprintf ("callback_insertNodes: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return 1; - - error: - sqlite3_reset (stmt); - return 0; -} - -RTT_ISO_EDGE * -callback_getEdgeById (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ELEMID * ids, int *numelems, int fields) -{ -/* callback function: getEdgeById */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - int ret; - int i; - sqlite3_stmt *stmt_aux = NULL; - char *sql; - struct topo_edges_list *list = NULL; - RTT_ISO_EDGE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - /* preparing the SQL statement */ - sql = do_prepare_read_edge (accessor->topology_name, fields); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_getEdgeById AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_edges_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_edge - (stmt_aux, list, *(ids + i), fields, "callback_getEdgeById", - &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no edge was found */ - *numelems = list->count; - } - else - { - struct topo_edge *p_ed; - result = rtalloc (ctx, sizeof (RTT_ISO_EDGE) * list->count); - p_ed = list->first; - i = 0; - while (p_ed != NULL) - { - RTT_ISO_EDGE *ed = result + i; - if (fields & RTT_COL_EDGE_EDGE_ID) - ed->edge_id = p_ed->edge_id; - if (fields & RTT_COL_EDGE_START_NODE) - ed->start_node = p_ed->start_node; - if (fields & RTT_COL_EDGE_END_NODE) - ed->end_node = p_ed->end_node; - if (fields & RTT_COL_EDGE_FACE_LEFT) - ed->face_left = p_ed->face_left; - if (fields & RTT_COL_EDGE_FACE_RIGHT) - ed->face_right = p_ed->face_right; - if (fields & RTT_COL_EDGE_NEXT_LEFT) - ed->next_left = p_ed->next_left; - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - ed->next_right = p_ed->next_right; - if (fields & RTT_COL_EDGE_GEOM) - ed->geom = - gaia_convert_linestring_to_rtline (ctx, p_ed->geom, - accessor->srid, - accessor->has_z); - i++; - p_ed = p_ed->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_edges_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_edges_list (list); - *numelems = -1; - return NULL; -} - -RTT_ISO_EDGE * -callback_getEdgeWithinDistance2D (const RTT_BE_TOPOLOGY * rtt_topo, - const RTPOINT * pt, double dist, - int *numelems, int fields, int limit) -{ -/* callback function: getEdgeWithinDistance2D */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - int ret; - double cx; - double cy; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - int count = 0; - sqlite3_stmt *stmt_aux = NULL; - char *sql; - struct topo_edges_list *list = NULL; - RTT_ISO_EDGE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - stmt = accessor->stmt_getEdgeWithinDistance2D; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - if (limit >= 0) - { - /* preparing the auxiliary SQL statement */ - sql = do_prepare_read_edge (accessor->topology_name, fields); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getEdgeById AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - } - -/* extracting X and Y from RTPOINT */ - pa = pt->point; - rt_getPoint4d_p (ctx, pa, 0, &pt4d); - cx = pt4d.x; - cy = pt4d.y; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, cx); - sqlite3_bind_double (stmt, 2, cy); - sqlite3_bind_double (stmt, 3, dist); - sqlite3_bind_double (stmt, 4, cx); - sqlite3_bind_double (stmt, 5, cy); - sqlite3_bind_double (stmt, 6, dist); - list = create_edges_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt, 0); - if (stmt_aux != NULL) - { - char *msg; - if (!do_read_edge - (stmt_aux, list, edge_id, fields, - "callback_getEdgeWithinDistance2D", &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - count++; - if (limit > 0) - { - if (count > limit) - break; - } - if (limit < 0) - break; - } - else - { - char *msg = - sqlite3_mprintf ("callback_getEdgeWithinDistance2D: %s", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numelems = count; - } - else - { - if (list->count <= 0) - { - result = NULL; - *numelems = 0; - } - else - { - int i = 0; - struct topo_edge *p_ed; - result = rtalloc (ctx, sizeof (RTT_ISO_EDGE) * list->count); - p_ed = list->first; - while (p_ed != NULL) - { - RTT_ISO_EDGE *ed = result + i; - if (fields & RTT_COL_EDGE_EDGE_ID) - ed->edge_id = p_ed->edge_id; - if (fields & RTT_COL_EDGE_START_NODE) - ed->start_node = p_ed->start_node; - if (fields & RTT_COL_EDGE_END_NODE) - ed->end_node = p_ed->end_node; - if (fields & RTT_COL_EDGE_FACE_LEFT) - ed->face_left = p_ed->face_left; - if (fields & RTT_COL_EDGE_FACE_RIGHT) - ed->face_right = p_ed->face_right; - if (fields & RTT_COL_EDGE_NEXT_LEFT) - ed->next_left = p_ed->next_left; - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - ed->next_right = p_ed->next_right; - if (fields & RTT_COL_EDGE_GEOM) - ed->geom = - gaia_convert_linestring_to_rtline (ctx, - p_ed->geom, - accessor->srid, - accessor-> - has_z); - i++; - p_ed = p_ed->next; - } - *numelems = list->count; - } - } - sqlite3_reset (stmt); - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - destroy_edges_list (list); - return result; - - error: - sqlite3_reset (stmt); - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_edges_list (list); - *numelems = -1; - return NULL; -} - -RTT_ELEMID -callback_getNextEdgeId (const RTT_BE_TOPOLOGY * rtt_topo) -{ -/* callback function: getNextEdgeId */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt_in; - sqlite3_stmt *stmt_out; - int ret; - sqlite3_int64 edge_id = -1; - if (accessor == NULL) - return -1; - - stmt_in = accessor->stmt_getNextEdgeId; - if (stmt_in == NULL) - return -1; - stmt_out = accessor->stmt_setNextEdgeId; - if (stmt_out == NULL) - return -1; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return -1; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return -1; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return -1; - -/* setting up the prepared statement */ - sqlite3_reset (stmt_in); - sqlite3_clear_bindings (stmt_in); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt_in); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - edge_id = sqlite3_column_int64 (stmt_in, 0); - } - else - { - char *msg = sqlite3_mprintf ("callback_getNextEdgeId: %s", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto stop; - } - } - -/* updating next_edge_id */ - sqlite3_reset (stmt_out); - sqlite3_clear_bindings (stmt_out); - ret = sqlite3_step (stmt_out); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - sqlite3_reset (stmt_in); - sqlite3_reset (stmt_out); - return edge_id; - } - else - { - char *msg = sqlite3_mprintf ("callback_setNextEdgeId: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - edge_id = -1; - } - stop: - if (edge_id >= 0) - edge_id++; - sqlite3_reset (stmt_in); - sqlite3_reset (stmt_out); - return edge_id; -} - -int -callback_insertEdges (const RTT_BE_TOPOLOGY * rtt_topo, RTT_ISO_EDGE * edges, - int numelems) -{ -/* callback function: insertEdges */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - int ret; - int i; - gaiaGeomCollPtr geom; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - if (accessor == NULL) - return 0; - - stmt = accessor->stmt_insertEdges; - if (stmt == NULL) - return 0; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (accessor->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (accessor->cache); - gpkg_mode = cache->gpkg_mode; - } - - for (i = 0; i < numelems; i++) - { - RTT_ISO_EDGE *eg = edges + i; - /* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (eg->edge_id <= 0) - sqlite3_bind_null (stmt, 1); - else - sqlite3_bind_int64 (stmt, 1, eg->edge_id); - sqlite3_bind_int64 (stmt, 2, eg->start_node); - sqlite3_bind_int64 (stmt, 3, eg->end_node); - if (eg->face_left < 0) - sqlite3_bind_null (stmt, 4); - else - sqlite3_bind_int64 (stmt, 4, eg->face_left); - if (eg->face_right < 0) - sqlite3_bind_null (stmt, 5); - else - sqlite3_bind_int64 (stmt, 5, eg->face_right); - sqlite3_bind_int64 (stmt, 6, eg->next_left); - sqlite3_bind_int64 (stmt, 7, eg->next_right); - /* transforming the RTLINE into a Geometry-Linestring */ - geom = do_rtline_to_geom (ctx, eg->geom, accessor->srid); - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - sqlite3_bind_blob (stmt, 8, p_blob, n_bytes, free); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - /* retrieving the PK value */ - eg->edge_id = sqlite3_last_insert_rowid (accessor->db_handle); - } - else - { - char *msg = sqlite3_mprintf ("callback_insertEdges: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return 1; - - error: - sqlite3_reset (stmt); - return 0; -} - -int -callback_updateEdges (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ISO_EDGE * sel_edge, int sel_fields, - const RTT_ISO_EDGE * upd_edge, int upd_fields, - const RTT_ISO_EDGE * exc_edge, int exc_fields) -{ -/* callback function: updateEdges */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *prev; - int comma = 0; - char *table; - char *xtable; - int icol = 1; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - int changed = 0; - if (accessor == NULL) - return -1; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (accessor->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (accessor->cache); - gpkg_mode = cache->gpkg_mode; - } - -/* composing the SQL prepared statement */ - table = sqlite3_mprintf ("%s_edge", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET ", xtable); - free (xtable); - prev = sql; - if (upd_fields & RTT_COL_EDGE_EDGE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, edge_id = ?", prev); - else - sql = sqlite3_mprintf ("%s edge_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, start_node = ?", prev); - else - sql = sqlite3_mprintf ("%s start_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, end_node = ?", prev); - else - sql = sqlite3_mprintf ("%s end_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, left_face = ?", prev); - else - sql = sqlite3_mprintf ("%s left_face = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, right_face = ?", prev); - else - sql = sqlite3_mprintf ("%s right_face = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_left_edge = ?", prev); - else - sql = sqlite3_mprintf ("%s next_left_edge = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_right_edge = ?", prev); - else - sql = sqlite3_mprintf ("%s next_right_edge = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, geom = ?", prev); - else - sql = sqlite3_mprintf ("%s geom = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_edge || sel_edge) - { - sql = sqlite3_mprintf ("%s WHERE", prev); - sqlite3_free (prev); - prev = sql; - if (sel_edge) - { - comma = 0; - if (sel_fields & RTT_COL_EDGE_EDGE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s AND edge_id = ?", prev); - else - sql = sqlite3_mprintf ("%s edge_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s AND start_node = ?", prev); - else - sql = sqlite3_mprintf ("%s start_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s AND end_node = ?", prev); - else - sql = sqlite3_mprintf ("%s end_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (sel_edge->face_left < 0) - { - if (comma) - sql = - sqlite3_mprintf ("%s AND left_face IS NULL", - prev); - else - sql = - sqlite3_mprintf ("%s left_face IS NULL", - prev); - } - else - { - if (comma) - sql = - sqlite3_mprintf ("%s AND left_face = ?", - prev); - else - sql = - sqlite3_mprintf ("%s left_face = ?", prev); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (sel_edge->face_right < 0) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND right_face IS NULL", prev); - else - sql = - sqlite3_mprintf ("%s right_face IS NULL", - prev); - } - else - { - if (comma) - sql = - sqlite3_mprintf ("%s AND right_face = ?", - prev); - else - sql = - sqlite3_mprintf ("%s right_face = ?", prev); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND next_left_edge = ?", prev); - else - sql = sqlite3_mprintf ("%s next_left_edge = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND next_right_edge = ?", prev); - else - sql = - sqlite3_mprintf ("%s next_right_edge = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - } - if (exc_edge) - { - if (sel_edge) - { - sql = sqlite3_mprintf ("%s AND", prev); - sqlite3_free (prev); - prev = sql; - } - comma = 0; - if (exc_fields & RTT_COL_EDGE_EDGE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s AND edge_id <> ?", prev); - else - sql = sqlite3_mprintf ("%s edge_id <> ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_fields & RTT_COL_EDGE_START_NODE) - { - if (comma) - sql = - sqlite3_mprintf ("%s AND start_node <> ?", prev); - else - sql = sqlite3_mprintf ("%s start_node <> ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_fields & RTT_COL_EDGE_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s AND end_node <> ?", prev); - else - sql = sqlite3_mprintf ("%s end_node <> ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (exc_edge->face_left < 0) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND left_face IS NOT NULL", prev); - else - sql = - sqlite3_mprintf ("%s left_face IS NOT NULL", - prev); - } - else - { - if (comma) - sql = - sqlite3_mprintf ("%s AND left_face <> ?", - prev); - else - sql = - sqlite3_mprintf ("%s left_face <> ?", prev); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (exc_edge->face_right < 0) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND right_face IS NOT NULL", prev); - else - sql = - sqlite3_mprintf - ("%s right_face IS NOT NULL", prev); - } - else - { - if (comma) - sql = - sqlite3_mprintf ("%s AND right_face <> ?", - prev); - else - sql = - sqlite3_mprintf ("%s right_face <> ?", - prev); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND next_left_edge <> ?", prev); - else - sql = - sqlite3_mprintf ("%s next_left_edge <> ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND next_right_edge <> ?", prev); - else - sql = - sqlite3_mprintf ("%s next_right_edge <> ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - } - } - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_updateEdges error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - return -1; - } - -/* parameter binding */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (upd_fields & RTT_COL_EDGE_EDGE_ID) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->edge_id); - icol++; - } - if (upd_fields & RTT_COL_EDGE_START_NODE) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->start_node); - icol++; - } - if (upd_fields & RTT_COL_EDGE_END_NODE) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->end_node); - icol++; - } - if (upd_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (upd_edge->face_left < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, upd_edge->face_left); - icol++; - } - if (upd_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (upd_edge->face_right < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, upd_edge->face_right); - icol++; - } - if (upd_fields & RTT_COL_EDGE_NEXT_LEFT) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->next_left); - icol++; - } - if (upd_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->next_right); - icol++; - } - if (upd_fields & RTT_COL_EDGE_GEOM) - { - /* transforming the RTLINE into a Geometry-Linestring */ - gaiaGeomCollPtr geom = - do_rtline_to_geom (ctx, upd_edge->geom, accessor->srid); - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - sqlite3_bind_blob (stmt, icol, p_blob, n_bytes, free); - icol++; - } - if (sel_edge) - { - if (sel_fields & RTT_COL_EDGE_EDGE_ID) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->edge_id); - icol++; - } - if (sel_fields & RTT_COL_EDGE_START_NODE) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->start_node); - icol++; - } - if (sel_fields & RTT_COL_EDGE_END_NODE) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->end_node); - icol++; - } - if (sel_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (sel_edge->face_left < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, sel_edge->face_left); - icol++; - } - if (sel_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (sel_edge->face_right < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, sel_edge->face_right); - icol++; - } - if (sel_fields & RTT_COL_EDGE_NEXT_LEFT) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->next_left); - icol++; - } - if (sel_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->next_right); - icol++; - } - } - if (exc_edge) - { - if (exc_fields & RTT_COL_EDGE_EDGE_ID) - { - sqlite3_bind_int64 (stmt, icol, exc_edge->edge_id); - icol++; - } - if (exc_fields & RTT_COL_EDGE_START_NODE) - { - sqlite3_bind_int64 (stmt, icol, exc_edge->start_node); - icol++; - } - if (exc_fields & RTT_COL_EDGE_END_NODE) - { - sqlite3_bind_int64 (stmt, icol, exc_edge->end_node); - icol++; - } - if (exc_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (exc_edge->face_left < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, exc_edge->face_left); - icol++; - } - if (exc_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (exc_edge->face_right < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, exc_edge->face_right); - icol++; - } - if (exc_fields & RTT_COL_EDGE_NEXT_LEFT) - { - sqlite3_bind_int64 (stmt, icol, exc_edge->next_left); - icol++; - } - if (exc_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - sqlite3_bind_int64 (stmt, icol, exc_edge->next_right); - icol++; - } - } - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - changed = sqlite3_changes (accessor->db_handle); - else - { - char *msg = sqlite3_mprintf ("callback_updateEdges: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - sqlite3_finalize (stmt); - return changed; - - error: - sqlite3_finalize (stmt); - return -1; -} - -RTT_ISO_FACE * -callback_getFaceById (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ELEMID * ids, int *numelems, int fields) -{ -/* callback function: getFeceById */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt_aux = NULL; - int ret; - int i; - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - struct topo_faces_list *list = NULL; - RTT_ISO_FACE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - /* preparing the SQL statement */ - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - if (fields & RTT_COL_FACE_FACE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, face_id", prev); - else - sql = sqlite3_mprintf ("%s face_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_FACE_MBR) - { - if (comma) - sql = - sqlite3_mprintf - ("%s, MbrMinX(mbr), MbrMinY(mbr), MbrMaxX(mbr), MbrMaxY(mbr)", - prev); - else - sql = - sqlite3_mprintf - ("%s MbrMinX(mbr), MbrMinY(mbr), MbrMaxX(mbr), MbrMaxY(mbr)", - prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - table = sqlite3_mprintf ("%s_face", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("%s FROM MAIN.\"%s\" WHERE face_id = ?", prev, xtable); - sqlite3_free (prev); - free (xtable); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt_aux, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_getFaceById AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_faces_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_face - (stmt_aux, list, *(ids + i), fields, "callback_getFaceById", - &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no face was found */ - *numelems = list->count; - } - else - { - struct topo_face *p_fc; - result = rtalloc (ctx, sizeof (RTT_ISO_FACE) * list->count); - p_fc = list->first; - i = 0; - while (p_fc != NULL) - { - RTT_ISO_FACE *fc = result + i; - if (fields & RTT_COL_FACE_FACE_ID) - fc->face_id = p_fc->face_id; - if (fields & RTT_COL_FACE_MBR) - { - if (p_fc->id == 0) - fc->mbr = NULL; - else - { - fc->mbr = gbox_new (ctx, 0); - fc->mbr->xmin = p_fc->minx; - fc->mbr->ymin = p_fc->miny; - fc->mbr->xmax = p_fc->maxx; - fc->mbr->ymax = p_fc->maxy; - } - } - i++; - p_fc = p_fc->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_faces_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_faces_list (list); - *numelems = -1; - return NULL; -} - -RTT_ELEMID -callback_getFaceContainingPoint (const RTT_BE_TOPOLOGY * rtt_topo, - const RTPOINT * pt) -{ -/* callback function: getFaceContainingPoint */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - sqlite3_stmt *stmt_aux; - int ret; - double cx; - double cy; - float fx; - float fy; - double tic; - double tic2; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - int count = 0; - sqlite3_int64 face_id; - if (accessor == NULL) - return -2; - - stmt = accessor->stmt_getFaceContainingPoint_1; - if (stmt == NULL) - return -2; - stmt_aux = accessor->stmt_getFaceContainingPoint_2; - if (stmt_aux == NULL) - return -2; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return -1; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return -1; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return -1; - -/* extracting X and Y from RTPOINT */ - pa = pt->point; - rt_getPoint4d_p (ctx, pa, 0, &pt4d); - cx = pt4d.x; - cy = pt4d.y; - -/* adjusting the MBR so to compensate for DOUBLE/FLOAT truncations */ - fx = (float) cx; - fy = (float) cy; - tic = fabs (cx - fx); - tic2 = fabs (cy - fy); - if (tic2 > tic) - tic = tic2; - tic2 = fabs (cx - fx); - if (tic2 > tic) - tic = tic2; - tic2 = fabs (cy - fy); - if (tic2 > tic) - tic = tic2; - tic *= 2.0; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, cx + tic); - sqlite3_bind_double (stmt, 2, cx - tic); - sqlite3_bind_double (stmt, 3, cy + tic); - sqlite3_bind_double (stmt, 4, cy - tic); - - while (1) - { - /* scrolling the result set rows [R*Tree] */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 id = sqlite3_column_int64 (stmt, 0); - /* testing for real intersection */ - sqlite3_reset (stmt_aux); - sqlite3_clear_bindings (stmt_aux); - sqlite3_bind_int64 (stmt_aux, 1, id); - sqlite3_bind_double (stmt_aux, 2, cx); - sqlite3_bind_double (stmt_aux, 3, cy); - while (1) - { - ret = sqlite3_step (stmt_aux); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt_aux, 0) == - SQLITE_INTEGER) - { - if (sqlite3_column_int (stmt_aux, 0) == 1) - { - face_id = id; - count++; - break; - } - } - } - else - { - char *msg = - sqlite3_mprintf - ("callback_getFaceContainingPoint #2: %s", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - if (count > 0) - break; - } - else - { - char *msg = - sqlite3_mprintf ("callback_getFaceContainingPoint #1: %s", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - sqlite3_reset (stmt); - if (count == 0) - return -1; /* none found */ - return face_id; - - error: - sqlite3_reset (stmt); - return -2; -} - -int -callback_deleteEdges (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ISO_EDGE * sel_edge, int sel_fields) -{ -/* callback function: deleteEdgest */ - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *prev; - int comma = 0; - char *table; - char *xtable; - int icol = 1; - int changed = 0; - if (accessor == NULL) - return -1; - -/* composing the SQL prepared statement */ - table = sqlite3_mprintf ("%s_edge", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("DELETE FROM MAIN.\"%s\" WHERE", xtable); - free (xtable); - prev = sql; - if (sel_fields & RTT_COL_EDGE_EDGE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s AND edge_id = ?", prev); - else - sql = sqlite3_mprintf ("%s edge_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s AND start_node = ?", prev); - else - sql = sqlite3_mprintf ("%s start_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s AND end_node = ?", prev); - else - sql = sqlite3_mprintf ("%s end_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (sel_edge->face_left < 0) - { - if (comma) - sql = sqlite3_mprintf ("%s AND left_face IS NULL", prev); - else - sql = sqlite3_mprintf ("%s left_face IS NULL", prev); - } - else - { - if (comma) - sql = sqlite3_mprintf ("%s AND left_face = ?", prev); - else - sql = sqlite3_mprintf ("%s left_face = ?", prev); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (sel_edge->face_right < 0) - { - if (comma) - sql = sqlite3_mprintf ("%s AND right_face IS NULL", prev); - else - sql = sqlite3_mprintf ("%s right_face IS NULL", prev); - } - else - { - if (comma) - sql = sqlite3_mprintf ("%s AND right_face = ?", prev); - else - sql = sqlite3_mprintf ("%s right_face = ?", prev); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s AND next_left_edge = ?", prev); - else - sql = sqlite3_mprintf ("%s next_left_edge = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s AND next_right_edge = ?", prev); - else - sql = sqlite3_mprintf ("%s next_right_edge = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_EDGE_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s AND geom = ?", prev); - else - sql = sqlite3_mprintf ("%s geom = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_deleteEdges error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - return -1; - } - -/* parameter binding */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (sel_fields & RTT_COL_EDGE_EDGE_ID) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->edge_id); - icol++; - } - if (sel_fields & RTT_COL_EDGE_START_NODE) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->start_node); - icol++; - } - if (sel_fields & RTT_COL_EDGE_END_NODE) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->end_node); - icol++; - } - if (sel_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (sel_edge->face_left < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, sel_edge->face_left); - icol++; - } - if (sel_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (sel_edge->face_right < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, sel_edge->face_right); - icol++; - } - if (sel_fields & RTT_COL_EDGE_NEXT_LEFT) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->next_left); - icol++; - } - if (sel_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - sqlite3_bind_int64 (stmt, icol, sel_edge->next_right); - icol++; - } - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - changed = sqlite3_changes (accessor->db_handle); - else - { - char *msg = sqlite3_mprintf ("callback_deleteEdges: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - sqlite3_finalize (stmt); - return changed; - - error: - sqlite3_finalize (stmt); - return -1; -} - -RTT_ISO_NODE * -callback_getNodeWithinBox2D (const RTT_BE_TOPOLOGY * rtt_topo, - const RTGBOX * box, int *numelems, - int fields, int limit) -{ -/* callback function: getNodeWithinBox2D */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - int ret; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - int count = 0; - sqlite3_stmt *stmt_aux = NULL; - char *sql; - struct topo_nodes_list *list = NULL; - RTT_ISO_NODE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - stmt = accessor->stmt_getNodeWithinBox2D; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - if (limit >= 0) - { - /* preparing the auxiliary SQL statement */ - sql = - do_prepare_read_node (accessor->topology_name, fields, - accessor->has_z); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("Prepare_getNodeWithinBox2D AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, box->xmin); - sqlite3_bind_double (stmt, 2, box->ymin); - sqlite3_bind_double (stmt, 3, box->xmax); - sqlite3_bind_double (stmt, 4, box->ymax); - list = create_nodes_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 node_id = sqlite3_column_int64 (stmt, 0); - if (stmt_aux != NULL) - { - char *msg; - if (!do_read_node - (stmt_aux, list, node_id, fields, accessor->has_z, - "callback_getNodeWithinBox2D", &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - count++; - if (limit > 0) - { - if (count > limit) - break; - } - if (limit < 0) - break; - } - else - { - char *msg = sqlite3_mprintf ("callback_getNodeWithinBox2D: %s", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numelems = count; - } - else - { - if (list->count <= 0) - { - result = NULL; - *numelems = 0; - } - else - { - int i = 0; - struct topo_node *p_nd; - result = rtalloc (ctx, sizeof (RTT_ISO_NODE) * list->count); - p_nd = list->first; - while (p_nd != NULL) - { - RTT_ISO_NODE *nd = result + i; - if (fields & RTT_COL_NODE_NODE_ID) - nd->node_id = p_nd->node_id; - if (fields & RTT_COL_NODE_CONTAINING_FACE) - nd->containing_face = p_nd->containing_face; - if (fields & RTT_COL_NODE_GEOM) - { - pa = ptarray_construct (ctx, accessor->has_z, 0, 1); - pt4d.x = p_nd->x; - pt4d.y = p_nd->y; - if (accessor->has_z) - pt4d.z = p_nd->z; - ptarray_set_point4d (ctx, pa, 0, &pt4d); - nd->geom = - rtpoint_construct (ctx, accessor->srid, NULL, - pa); - } - i++; - p_nd = p_nd->next; - } - *numelems = list->count; - } - } - - sqlite3_reset (stmt); - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - destroy_nodes_list (list); - return result; - - error: - sqlite3_reset (stmt); - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_nodes_list (list); - *numelems = 1; - return NULL; -} - -RTT_ISO_EDGE * -callback_getEdgeWithinBox2D (const RTT_BE_TOPOLOGY * rtt_topo, - const RTGBOX * box, int *numelems, - int fields, int limit) -{ -/* callback function: getEdgeWithinBox2D */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - int ret; - int count = 0; - sqlite3_stmt *stmt_aux = NULL; - char *sql; - struct topo_edges_list *list = NULL; - RTT_ISO_EDGE *result = NULL; - - if (box == NULL) - { - /* special case - ignoring the Spatial Index and returning ALL edges */ - return callback_getAllEdges (rtt_topo, numelems, fields, limit); - } - - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - stmt = accessor->stmt_getEdgeWithinBox2D; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - if (limit >= 0) - { - /* preparing the auxiliary SQL statement */ - sql = do_prepare_read_edge (accessor->topology_name, fields); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf - ("Prepare_getEdgeWithinBox2D AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - } - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, box->xmin); - sqlite3_bind_double (stmt, 2, box->ymin); - sqlite3_bind_double (stmt, 3, box->xmax); - sqlite3_bind_double (stmt, 4, box->ymax); - list = create_edges_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt, 0); - if (stmt_aux != NULL) - { - char *msg; - if (!do_read_edge - (stmt_aux, list, edge_id, fields, - "callback_getEdgeWithinBox2D", &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - count++; - if (limit > 0) - { - if (count > limit) - break; - } - if (limit < 0) - break; - } - else - { - char *msg = sqlite3_mprintf ("callback_getEdgeWithinBox2D: %s", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numelems = count; - } - else - { - if (list->count <= 0) - { - result = NULL; - *numelems = 0; - } - else - { - int i = 0; - struct topo_edge *p_ed; - result = rtalloc (ctx, sizeof (RTT_ISO_EDGE) * list->count); - p_ed = list->first; - while (p_ed != NULL) - { - RTT_ISO_EDGE *ed = result + i; - if (fields & RTT_COL_EDGE_EDGE_ID) - ed->edge_id = p_ed->edge_id; - if (fields & RTT_COL_EDGE_START_NODE) - ed->start_node = p_ed->start_node; - if (fields & RTT_COL_EDGE_END_NODE) - ed->end_node = p_ed->end_node; - if (fields & RTT_COL_EDGE_FACE_LEFT) - ed->face_left = p_ed->face_left; - if (fields & RTT_COL_EDGE_FACE_RIGHT) - ed->face_right = p_ed->face_right; - if (fields & RTT_COL_EDGE_NEXT_LEFT) - ed->next_left = p_ed->next_left; - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - ed->next_right = p_ed->next_right; - if (fields & RTT_COL_EDGE_GEOM) - ed->geom = - gaia_convert_linestring_to_rtline (ctx, - p_ed->geom, - accessor->srid, - accessor-> - has_z); - i++; - p_ed = p_ed->next; - } - *numelems = list->count; - } - } - sqlite3_reset (stmt); - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - destroy_edges_list (list); - return result; - - error: - sqlite3_reset (stmt); - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_edges_list (list); - *numelems = -1; - return NULL; -} - -RTT_ISO_EDGE * -callback_getAllEdges (const RTT_BE_TOPOLOGY * rtt_topo, int *numelems, - int fields, int limit) -{ -/* callback function: getAllEdges */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - int ret; - char *table; - char *xtable; - char *sql; - int i; - char **results; - int rows; - int columns; - char *errMsg = NULL; - int count = 0; - RTT_ISO_EDGE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - stmt = accessor->stmt_getAllEdges; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - -/* counting how many EDGEs are there */ - table = sqlite3_mprintf ("%s_edge", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("SELECT Count(*) FROM MAIN.\"%s\"", xtable); - free (xtable); - ret = - sqlite3_get_table (accessor->db_handle, sql, &results, &rows, &columns, - &errMsg); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - sqlite3_free (errMsg); - return NULL; - } - for (i = 1; i <= rows; i++) - count = atoi (results[(i * columns) + 0]); - sqlite3_free_table (results); - - if (limit < 0) - { - if (count <= 0) - *numelems = 0; - else - *numelems = 1; - return NULL; - } - if (count <= 0) - { - *numelems = 0; - return NULL; - } - -/* allocating an Edge's array */ - if (limit > 0) - { - if (limit > count) - *numelems = count; - else - *numelems = limit; - } - else - *numelems = count; - result = rtalloc (ctx, sizeof (RTT_ISO_EDGE) * *numelems); - - sqlite3_reset (stmt); - i = 0; - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - RTT_ISO_EDGE *ed = result + i; - if (fields & RTT_COL_EDGE_EDGE_ID) - ed->edge_id = sqlite3_column_int64 (stmt, 0); - if (fields & RTT_COL_EDGE_START_NODE) - ed->start_node = sqlite3_column_int64 (stmt, 1); - if (fields & RTT_COL_EDGE_END_NODE) - ed->end_node = sqlite3_column_int64 (stmt, 2); - if (fields & RTT_COL_EDGE_FACE_LEFT) - { - if (sqlite3_column_type (stmt, 3) == SQLITE_NULL) - ed->face_left = -1; - else - ed->face_left = sqlite3_column_int64 (stmt, 3); - } - if (fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (sqlite3_column_type (stmt, 4) == SQLITE_NULL) - ed->face_right = -1; - else - ed->face_right = sqlite3_column_int64 (stmt, 4); - } - if (fields & RTT_COL_EDGE_NEXT_LEFT) - ed->next_left = sqlite3_column_int64 (stmt, 5); - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - ed->next_right = sqlite3_column_int64 (stmt, 6); - if (fields & RTT_COL_EDGE_GEOM) - { - if (sqlite3_column_type (stmt, 7) == SQLITE_BLOB) - { - const unsigned char *blob = - sqlite3_column_blob (stmt, 7); - int blob_sz = sqlite3_column_bytes (stmt, 7); - gaiaGeomCollPtr geom = - gaiaFromSpatiaLiteBlobWkb (blob, blob_sz); - if (geom != NULL) - { - if (geom->FirstPoint == NULL - && geom->FirstPolygon == NULL - && geom->FirstLinestring == - geom->LastLinestring - && geom->FirstLinestring != NULL) - { - gaiaLinestringPtr ln = - geom->FirstLinestring; - ed->geom = - gaia_convert_linestring_to_rtline - (ctx, ln, accessor->srid, - accessor->has_z); - } - gaiaFreeGeomColl (geom); - } - } - } - i++; - if (limit > 0 && i >= limit) - break; - } - else - { - char *msg = sqlite3_mprintf ("callback_getAllEdges: %s", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return result; - - error: - sqlite3_reset (stmt); - *numelems = -1; - return NULL; -} - -RTT_ISO_EDGE * -callback_getEdgeByNode (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ELEMID * ids, int *numelems, int fields) -{ -/* callback function: getEdgeByNode */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - int ret; - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - int i; - sqlite3_stmt *stmt_aux = NULL; - struct topo_edges_list *list = NULL; - RTT_ISO_EDGE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - /* preparing the SQL statement */ - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - /* unconditionally querying the Edge ID */ - if (comma) - sql = sqlite3_mprintf ("%s, edge_id", prev); - else - sql = sqlite3_mprintf ("%s edge_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - if (fields & RTT_COL_EDGE_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, start_node", prev); - else - sql = sqlite3_mprintf ("%s start_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, end_node", prev); - else - sql = sqlite3_mprintf ("%s end_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_FACE_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, left_face", prev); - else - sql = sqlite3_mprintf ("%s left_face", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, right_face", prev); - else - sql = sqlite3_mprintf ("%s right_face", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_left_edge", prev); - else - sql = sqlite3_mprintf ("%s next_left_edge", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_right_edge", prev); - else - sql = sqlite3_mprintf ("%s next_right_edge", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, geom", prev); - else - sql = sqlite3_mprintf ("%s geom", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - table = sqlite3_mprintf ("%s_edge", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("%s FROM MAIN.\"%s\" WHERE start_node = ? OR end_node = ?", prev, - xtable); - free (xtable); - sqlite3_free (prev); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getEdgeByNode AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_edges_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_edge_by_node - (stmt_aux, list, *(ids + i), fields, "callback_getEdgeByNode", - &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no edge was found */ - *numelems = list->count; - } - else - { - struct topo_edge *p_ed; - result = rtalloc (ctx, sizeof (RTT_ISO_EDGE) * list->count); - p_ed = list->first; - i = 0; - while (p_ed != NULL) - { - RTT_ISO_EDGE *ed = result + i; - if (fields & RTT_COL_EDGE_EDGE_ID) - ed->edge_id = p_ed->edge_id; - if (fields & RTT_COL_EDGE_START_NODE) - ed->start_node = p_ed->start_node; - if (fields & RTT_COL_EDGE_END_NODE) - ed->end_node = p_ed->end_node; - if (fields & RTT_COL_EDGE_FACE_LEFT) - ed->face_left = p_ed->face_left; - if (fields & RTT_COL_EDGE_FACE_RIGHT) - ed->face_right = p_ed->face_right; - if (fields & RTT_COL_EDGE_NEXT_LEFT) - ed->next_left = p_ed->next_left; - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - ed->next_right = p_ed->next_right; - if (fields & RTT_COL_EDGE_GEOM) - ed->geom = - gaia_convert_linestring_to_rtline (ctx, p_ed->geom, - accessor->srid, - accessor->has_z); - i++; - p_ed = p_ed->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_edges_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_edges_list (list); - *numelems = -1; - return NULL; -} - -int -callback_updateNodes (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ISO_NODE * sel_node, int sel_fields, - const RTT_ISO_NODE * upd_node, int upd_fields, - const RTT_ISO_NODE * exc_node, int exc_fields) -{ -/* callback function: updateNodes */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *prev; - int comma = 0; - char *table; - char *xtable; - int icol = 1; - int changed = 0; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - double x; - double y; - double z; - if (accessor == NULL) - return -1; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - -/* composing the SQL prepared statement */ - table = sqlite3_mprintf ("%s_node", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET ", xtable); - free (xtable); - prev = sql; - if (upd_fields & RTT_COL_NODE_NODE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, node_id = ?", prev); - else - sql = sqlite3_mprintf ("%s node_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (comma) - sql = sqlite3_mprintf ("%s, containing_face = ?", prev); - else - sql = sqlite3_mprintf ("%s containing_face = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_NODE_GEOM) - { - if (accessor->has_z) - { - if (comma) - sql = - sqlite3_mprintf ("%s, geom = MakePointZ(?, ?, ?, %d)", - prev, accessor->srid); - else - sql = - sqlite3_mprintf ("%s geom = MakePointZ(?, ?, ?, %d)", - prev, accessor->srid); - } - else - { - if (comma) - sql = - sqlite3_mprintf ("%s, geom = MakePoint(?, ?, %d)", prev, - accessor->srid); - else - sql = - sqlite3_mprintf ("%s geom = MakePoint(?, ?, %d)", prev, - accessor->srid); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_node || sel_node) - { - sql = sqlite3_mprintf ("%s WHERE", prev); - sqlite3_free (prev); - prev = sql; - if (sel_node) - { - comma = 0; - if (sel_fields & RTT_COL_NODE_NODE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s AND node_id = ?", prev); - else - sql = sqlite3_mprintf ("%s node_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (sel_fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (sel_node->containing_face < 0) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND containing_face IS NULL", prev); - else - sql = - sqlite3_mprintf - ("%s containing_face IS NULL", prev); - } - else - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND containing_face = ?", prev); - else - sql = - sqlite3_mprintf ("%s containing_face = ?", - prev); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - } - if (exc_node) - { - if (sel_node) - { - sql = sqlite3_mprintf ("%s AND", prev); - sqlite3_free (prev); - prev = sql; - } - comma = 0; - if (exc_fields & RTT_COL_NODE_NODE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s AND node_id <> ?", prev); - else - sql = sqlite3_mprintf ("%s node_id <> ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (exc_fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (exc_node->containing_face < 0) - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND containing_face IS NOT NULL", - prev); - else - sql = - sqlite3_mprintf - ("%s containing_face IS NOT NULL", prev); - } - else - { - if (comma) - sql = - sqlite3_mprintf - ("%s AND containing_face <> ?", prev); - else - sql = - sqlite3_mprintf ("%s containing_face <> ?", - prev); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - } - } - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_updateNodes error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - return -1; - } - -/* parameter binding */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (upd_fields & RTT_COL_NODE_NODE_ID) - { - sqlite3_bind_int64 (stmt, icol, upd_node->node_id); - icol++; - } - if (upd_fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (upd_node->containing_face < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, upd_node->containing_face); - icol++; - } - if (upd_fields & RTT_COL_NODE_GEOM) - { - /* extracting X and Y from RTTOPO */ - pa = upd_node->geom->point; - rt_getPoint4d_p (ctx, pa, 0, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (accessor->has_z) - z = pt4d.z; - sqlite3_bind_double (stmt, icol, x); - icol++; - sqlite3_bind_double (stmt, icol, y); - icol++; - if (accessor->has_z) - { - sqlite3_bind_double (stmt, icol, z); - icol++; - } - } - if (sel_node) - { - if (sel_fields & RTT_COL_NODE_NODE_ID) - { - sqlite3_bind_int64 (stmt, icol, sel_node->node_id); - icol++; - } - if (sel_fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (sel_node->containing_face < 0) - ; - else - { - sqlite3_bind_int64 (stmt, icol, - sel_node->containing_face); - icol++; - } - } - } - if (exc_node) - { - if (exc_fields & RTT_COL_NODE_NODE_ID) - { - sqlite3_bind_int64 (stmt, icol, exc_node->node_id); - icol++; - } - if (exc_fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (exc_node->containing_face < 0) - ; - else - { - sqlite3_bind_int64 (stmt, icol, - exc_node->containing_face); - icol++; - } - } - } - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - changed = sqlite3_changes (accessor->db_handle); - else - { - char *msg = sqlite3_mprintf ("callback_updateNodes: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - sqlite3_finalize (stmt); - return changed; - - error: - sqlite3_finalize (stmt); - return -1; -} - -int -callback_insertFaces (const RTT_BE_TOPOLOGY * rtt_topo, RTT_ISO_FACE * faces, - int numelems) -{ -/* callback function: insertFaces */ - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - int ret; - int i; - int count = 0; - sqlite3_stmt *stmt; - if (accessor == NULL) - return -1; - - stmt = accessor->stmt_insertFaces; - if (stmt == NULL) - return -1; - - for (i = 0; i < numelems; i++) - { - RTT_ISO_FACE *fc = faces + i; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (fc->face_id <= 0) - sqlite3_bind_null (stmt, 1); - else - sqlite3_bind_int64 (stmt, 1, fc->face_id); - sqlite3_bind_double (stmt, 2, fc->mbr->xmin); - sqlite3_bind_double (stmt, 3, fc->mbr->ymin); - sqlite3_bind_double (stmt, 4, fc->mbr->xmax); - sqlite3_bind_double (stmt, 5, fc->mbr->ymax); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - if (fc->face_id <= 0) - fc->face_id = - sqlite3_last_insert_rowid (accessor->db_handle); - count++; - } - else - { - char *msg = sqlite3_mprintf ("callback_insertFaces: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return count; - - error: - sqlite3_reset (stmt); - return -1; -} - -int -callback_updateFacesById (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ISO_FACE * faces, int numfaces) -{ -/* callback function: updateFacesById */ - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt = NULL; - int ret; - int i; - int changed = 0; - if (accessor == NULL) - return -1; - - stmt = accessor->stmt_updateFacesById; - if (stmt == NULL) - return -1; - - for (i = 0; i < numfaces; i++) - { - /* parameter binding */ - const RTT_ISO_FACE *fc = faces + i; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, fc->mbr->xmin); - sqlite3_bind_double (stmt, 2, fc->mbr->ymin); - sqlite3_bind_double (stmt, 3, fc->mbr->xmax); - sqlite3_bind_double (stmt, 4, fc->mbr->ymax); - sqlite3_bind_int64 (stmt, 5, fc->face_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - changed += sqlite3_changes (accessor->db_handle); - else - { - char *msg = sqlite3_mprintf ("callback_updateFacesById: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - return changed; - - error: - return -1; -} - -int -callback_deleteFacesById (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ELEMID * ids, int numelems) -{ -/* callback function: deleteFacesById */ - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt = NULL; - int ret; - int i; - int changed = 0; - if (accessor == NULL) - return -1; - - stmt = accessor->stmt_deleteFacesById; - if (stmt == NULL) - return -1; - - for (i = 0; i < numelems; i++) - { - /* parameter binding */ - sqlite3_int64 id = *(ids + i); - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - changed += sqlite3_changes (accessor->db_handle); - } - else - { - char *msg = sqlite3_mprintf ("callback_deleteFacesById: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return changed; - - error: - sqlite3_reset (stmt); - return -1; -} - -int -callback_deleteNodesById (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ELEMID * ids, int numelems) -{ -/* callback function: deleteNodesById */ - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt = NULL; - int ret; - int i; - int changed = 0; - if (accessor == NULL) - return -1; - - stmt = accessor->stmt_deleteNodesById; - if (stmt == NULL) - return -1; - - for (i = 0; i < numelems; i++) - { - /* parameter binding */ - sqlite3_int64 id = *(ids + i); - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_int64 (stmt, 1, id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - { - changed += sqlite3_changes (accessor->db_handle); - } - else - { - char *msg = sqlite3_mprintf ("callback_deleteNodesById: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_reset (stmt); - return changed; - - error: - sqlite3_reset (stmt); - return -1; -} - -RTT_ELEMID * -callback_getRingEdges (const RTT_BE_TOPOLOGY * rtt_topo, - RTT_ELEMID edge, int *numedges, int limit) -{ -/* callback function: getRingEdges */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - int ret; - int i; - int count = 0; - sqlite3_stmt *stmt; - - struct topo_edges_list *list = NULL; - RTT_ELEMID *result = NULL; - if (accessor == NULL) - { - *numedges = -1; - return NULL; - } - - stmt = accessor->stmt_getRingEdges; - if (stmt == NULL) - { - *numedges = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, edge); - sqlite3_bind_double (stmt, 2, edge); - list = create_edges_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 edge_id = sqlite3_column_int64 (stmt, 0); - add_edge (list, edge_id, -1, -1, -1, -1, -1, -1, NULL); - count++; - if (limit > 0) - { - if (count > limit) - break; - } - } - else - { - char *msg = - sqlite3_mprintf ("callback_getNodeWithinDistance2D: %s", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numedges = count; - } - else - { - if (list->count == 0) - { - /* no edge was found */ - *numedges = 0; - } - else - { - struct topo_edge *p_ed; - result = rtalloc (ctx, sizeof (RTT_ELEMID) * list->count); - p_ed = list->first; - i = 0; - while (p_ed != NULL) - { - *(result + i) = p_ed->edge_id; - i++; - p_ed = p_ed->next; - } - *numedges = list->count; - } - } - destroy_edges_list (list); - sqlite3_reset (stmt); - return result; - - error: - if (list != NULL) - destroy_edges_list (list); - *numedges = -1; - sqlite3_reset (stmt); - return NULL; -} - -int -callback_updateEdgesById (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ISO_EDGE * edges, int numedges, - int upd_fields) -{ -/* callback function: updateEdgesById */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *prev; - int comma = 0; - char *table; - char *xtable; - int i; - int changed = 0; - unsigned char *p_blob; - int n_bytes; - int gpkg_mode = 0; - if (accessor == NULL) - return -1; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - - if (accessor->cache != NULL) - { - struct splite_internal_cache *cache = - (struct splite_internal_cache *) (accessor->cache); - gpkg_mode = cache->gpkg_mode; - } - -/* composing the SQL prepared statement */ - table = sqlite3_mprintf ("%s_edge", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET", xtable); - free (xtable); - prev = sql; - if (upd_fields & RTT_COL_EDGE_EDGE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, edge_id = ?", prev); - else - sql = sqlite3_mprintf ("%s edge_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, start_node = ?", prev); - else - sql = sqlite3_mprintf ("%s start_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, end_node = ?", prev); - else - sql = sqlite3_mprintf ("%s end_node = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, left_face = ?", prev); - else - sql = sqlite3_mprintf ("%s left_face = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, right_face = ?", prev); - else - sql = sqlite3_mprintf ("%s right_face = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_left_edge = ?", prev); - else - sql = sqlite3_mprintf ("%s next_left_edge = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_right_edge = ?", prev); - else - sql = sqlite3_mprintf ("%s next_right_edge = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_EDGE_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, geom = ?", prev); - else - sql = sqlite3_mprintf ("%s geom = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - sql = sqlite3_mprintf ("%s WHERE edge_id = ?", prev); - sqlite3_free (prev); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_updateEdgesById error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - return -1; - } - - for (i = 0; i < numedges; i++) - { - /* parameter binding */ - int icol = 1; - const RTT_ISO_EDGE *upd_edge = edges + i; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (upd_fields & RTT_COL_EDGE_EDGE_ID) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->edge_id); - icol++; - } - if (upd_fields & RTT_COL_EDGE_START_NODE) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->start_node); - icol++; - } - if (upd_fields & RTT_COL_EDGE_END_NODE) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->end_node); - icol++; - } - if (upd_fields & RTT_COL_EDGE_FACE_LEFT) - { - if (upd_edge->face_left < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, upd_edge->face_left); - icol++; - } - if (upd_fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (upd_edge->face_right < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, upd_edge->face_right); - icol++; - } - if (upd_fields & RTT_COL_EDGE_NEXT_LEFT) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->next_left); - icol++; - } - if (upd_fields & RTT_COL_EDGE_NEXT_RIGHT) - { - sqlite3_bind_int64 (stmt, icol, upd_edge->next_right); - icol++; - } - if (upd_fields & RTT_COL_EDGE_GEOM) - { - /* transforming the RTLINE into a Geometry-Linestring */ - gaiaGeomCollPtr geom = - do_rtline_to_geom (ctx, upd_edge->geom, accessor->srid); - gaiaToSpatiaLiteBlobWkbEx (geom, &p_blob, &n_bytes, gpkg_mode); - gaiaFreeGeomColl (geom); - sqlite3_bind_blob (stmt, icol, p_blob, n_bytes, free); - icol++; - } - sqlite3_bind_int64 (stmt, icol, upd_edge->edge_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - changed += sqlite3_changes (accessor->db_handle); - else - { - char *msg = sqlite3_mprintf ("callback_updateEdgesById: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt); - return changed; - - error: - sqlite3_finalize (stmt); - return -1; -} - -RTT_ISO_EDGE * -callback_getEdgeByFace (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ELEMID * ids, int *numelems, int fields, - const RTGBOX * box) -{ -/* callback function: getEdgeByFace */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - int ret; - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - int i; - sqlite3_stmt *stmt_aux = NULL; - struct topo_edges_list *list = NULL; - RTT_ISO_EDGE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - /* preparing the SQL statement */ - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - /* unconditionally querying the Edge ID */ - if (comma) - sql = sqlite3_mprintf ("%s, edge_id", prev); - else - sql = sqlite3_mprintf ("%s edge_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - if (fields & RTT_COL_EDGE_START_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, start_node", prev); - else - sql = sqlite3_mprintf ("%s start_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_END_NODE) - { - if (comma) - sql = sqlite3_mprintf ("%s, end_node", prev); - else - sql = sqlite3_mprintf ("%s end_node", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_FACE_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, left_face", prev); - else - sql = sqlite3_mprintf ("%s left_face", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_FACE_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, right_face", prev); - else - sql = sqlite3_mprintf ("%s right_face", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_NEXT_LEFT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_left_edge", prev); - else - sql = sqlite3_mprintf ("%s next_left_edge", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - { - if (comma) - sql = sqlite3_mprintf ("%s, next_right_edge", prev); - else - sql = sqlite3_mprintf ("%s next_right_edge", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_EDGE_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, geom", prev); - else - sql = sqlite3_mprintf ("%s geom", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - table = sqlite3_mprintf ("%s_edge", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf - ("%s FROM MAIN.\"%s\" WHERE (left_face = ? OR right_face = ?)", prev, - xtable); - free (xtable); - sqlite3_free (prev); - if (box != NULL) - { - table = sqlite3_mprintf ("%s_edge", accessor->topology_name); - prev = sql; - sql = - sqlite3_mprintf - ("%s AND ROWID IN (SELECT ROWID FROM SpatialIndex WHERE " - "f_table_name = %Q AND f_geometry_column = 'geom' AND search_frame = BuildMBR(?, ?, ?, ?))", - sql, table); - sqlite3_free (table); - sqlite3_free (prev); - } - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), - &stmt_aux, NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getEdgeByFace AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_edges_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_edge_by_face - (stmt_aux, list, *(ids + i), fields, box, - "callback_getEdgeByFace", &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no edge was found */ - *numelems = list->count; - } - else - { - struct topo_edge *p_ed; - result = rtalloc (ctx, sizeof (RTT_ISO_EDGE) * list->count); - p_ed = list->first; - i = 0; - while (p_ed != NULL) - { - RTT_ISO_EDGE *ed = result + i; - if (fields & RTT_COL_EDGE_EDGE_ID) - ed->edge_id = p_ed->edge_id; - if (fields & RTT_COL_EDGE_START_NODE) - ed->start_node = p_ed->start_node; - if (fields & RTT_COL_EDGE_END_NODE) - ed->end_node = p_ed->end_node; - if (fields & RTT_COL_EDGE_FACE_LEFT) - ed->face_left = p_ed->face_left; - if (fields & RTT_COL_EDGE_FACE_RIGHT) - ed->face_right = p_ed->face_right; - if (fields & RTT_COL_EDGE_NEXT_LEFT) - ed->next_left = p_ed->next_left; - if (fields & RTT_COL_EDGE_NEXT_RIGHT) - ed->next_right = p_ed->next_right; - if (fields & RTT_COL_EDGE_GEOM) - ed->geom = - gaia_convert_linestring_to_rtline (ctx, p_ed->geom, - accessor->srid, - accessor->has_z); - i++; - p_ed = p_ed->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_edges_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_edges_list (list); - *numelems = -1; - return NULL; -} - -RTT_ISO_NODE * -callback_getNodeByFace (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ELEMID * faces, int *numelems, int fields, - const RTGBOX * box) -{ -/* callback function: getNodeByFace */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt_aux = NULL; - int ret; - int i; - char *sql; - char *prev; - char *table; - char *xtable; - int comma = 0; - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - struct topo_nodes_list *list = NULL; - RTT_ISO_NODE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - - /* preparing the SQL statement */ - sql = sqlite3_mprintf ("SELECT "); - prev = sql; - if (fields & RTT_COL_NODE_NODE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, node_id", prev); - else - sql = sqlite3_mprintf ("%s node_id", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (comma) - sql = sqlite3_mprintf ("%s, containing_face", prev); - else - sql = sqlite3_mprintf ("%s containing_face", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (fields & RTT_COL_NODE_GEOM) - { - if (comma) - sql = sqlite3_mprintf ("%s, ST_X(geom), ST_Y(geom)", prev); - else - sql = sqlite3_mprintf ("%s ST_X(geom), ST_Y(geom)", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - if (accessor->has_z) - { - sql = sqlite3_mprintf ("%s, ST_Z(geom)", prev); - sqlite3_free (prev); - prev = sql; - } - } - table = sqlite3_mprintf ("%s_node", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = - sqlite3_mprintf ("%s FROM MAIN.\"%s\" WHERE containing_face = ?", prev, - xtable); - free (xtable); - sqlite3_free (prev); - if (box != NULL) - { - table = sqlite3_mprintf ("%s_node", accessor->topology_name); - prev = sql; - sql = - sqlite3_mprintf - ("%s AND ROWID IN (SELECT ROWID FROM SpatialIndex WHERE " - "f_table_name = %Q AND f_geometry_column = 'geom' AND search_frame = BuildMBR(?, ?, ?, ?))", - sql, table); - sqlite3_free (table); - sqlite3_free (prev); - } - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt_aux, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = - sqlite3_mprintf ("Prepare_getNodeByFace AUX error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - *numelems = -1; - return NULL; - } - - list = create_nodes_list (); - for (i = 0; i < *numelems; i++) - { - char *msg; - if (!do_read_node_by_face - (stmt_aux, list, *(faces + i), fields, box, accessor->has_z, - "callback_getNodeByFace", &msg)) - { - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (list->count == 0) - { - /* no node was found */ - *numelems = list->count; - } - else - { - struct topo_node *p_nd; - result = rtalloc (ctx, sizeof (RTT_ISO_NODE) * list->count); - p_nd = list->first; - i = 0; - while (p_nd != NULL) - { - RTT_ISO_NODE *nd = result + i; - if (fields & RTT_COL_NODE_NODE_ID) - nd->node_id = p_nd->node_id; - if (fields & RTT_COL_NODE_CONTAINING_FACE) - nd->containing_face = p_nd->containing_face; - if (fields & RTT_COL_NODE_GEOM) - { - pa = ptarray_construct (ctx, accessor->has_z, 0, 1); - pt4d.x = p_nd->x; - pt4d.y = p_nd->y; - if (accessor->has_z) - pt4d.z = p_nd->z; - ptarray_set_point4d (ctx, pa, 0, &pt4d); - nd->geom = - rtpoint_construct (ctx, accessor->srid, NULL, pa); - } - i++; - p_nd = p_nd->next; - } - *numelems = list->count; - } - sqlite3_finalize (stmt_aux); - destroy_nodes_list (list); - return result; - - error: - if (stmt_aux != NULL) - sqlite3_finalize (stmt_aux); - if (list != NULL) - destroy_nodes_list (list); - *numelems = -1; - return NULL; -} - -int -callback_updateNodesById (const RTT_BE_TOPOLOGY * rtt_topo, - const RTT_ISO_NODE * nodes, int numnodes, - int upd_fields) -{ -/* callback function: updateNodesById */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt = NULL; - int ret; - char *sql; - char *prev; - int comma = 0; - char *table; - char *xtable; - int icol = 1; - int i; - int changed = 0; - if (accessor == NULL) - return -1; - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return 0; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return 0; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return 0; - -/* composing the SQL prepared statement */ - table = sqlite3_mprintf ("%s_node", accessor->topology_name); - xtable = gaiaDoubleQuotedSql (table); - sqlite3_free (table); - sql = sqlite3_mprintf ("UPDATE MAIN.\"%s\" SET", xtable); - free (xtable); - prev = sql; - if (upd_fields & RTT_COL_NODE_NODE_ID) - { - if (comma) - sql = sqlite3_mprintf ("%s, node_id = ?", prev); - else - sql = sqlite3_mprintf ("%s node_id = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (comma) - sql = sqlite3_mprintf ("%s, containing_face = ?", prev); - else - sql = sqlite3_mprintf ("%s containing_face = ?", prev); - comma = 1; - sqlite3_free (prev); - prev = sql; - } - if (upd_fields & RTT_COL_NODE_GEOM) - { - if (accessor->has_z) - { - if (comma) - sql = - sqlite3_mprintf ("%s, geom = MakePointZ(?, ?. ?, %d)", - prev, accessor->srid); - else - sql = - sqlite3_mprintf ("%s geom = MakePointZ(?, ?, ?, %d)", - prev, accessor->srid); - } - else - { - if (comma) - sql = - sqlite3_mprintf ("%s, geom = MakePoint(?, ?, %d)", prev, - accessor->srid); - else - sql = - sqlite3_mprintf ("%s geom = MakePoint(?, ?, %d)", prev, - accessor->srid); - } - comma = 1; - sqlite3_free (prev); - prev = sql; - } - sql = sqlite3_mprintf ("%s WHERE node_id = ?", prev); - sqlite3_free (prev); - ret = - sqlite3_prepare_v2 (accessor->db_handle, sql, strlen (sql), &stmt, - NULL); - sqlite3_free (sql); - if (ret != SQLITE_OK) - { - char *msg = sqlite3_mprintf ("Prepare_updateNodesById error: \"%s\"", - sqlite3_errmsg (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - return -1; - } - - for (i = 0; i < numnodes; i++) - { - /* parameter binding */ - const RTT_ISO_NODE *nd = nodes + i; - icol = 1; - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - if (upd_fields & RTT_COL_NODE_NODE_ID) - { - sqlite3_bind_int64 (stmt, icol, nd->node_id); - icol++; - } - if (upd_fields & RTT_COL_NODE_CONTAINING_FACE) - { - if (nd->containing_face < 0) - sqlite3_bind_null (stmt, icol); - else - sqlite3_bind_int64 (stmt, icol, nd->containing_face); - icol++; - } - if (upd_fields & RTT_COL_NODE_GEOM) - { - RTPOINTARRAY *pa; - RTPOINT4D pt4d; - double x; - double y; - double z; - /* extracting X and Y from RTPOINT */ - pa = nd->geom->point; - rt_getPoint4d_p (ctx, pa, 0, &pt4d); - x = pt4d.x; - y = pt4d.y; - if (accessor->has_z) - z = pt4d.z; - sqlite3_bind_double (stmt, icol, x); - icol++; - sqlite3_bind_double (stmt, icol, y); - icol++; - if (accessor->has_z) - { - sqlite3_bind_double (stmt, icol, z); - icol++; - } - } - sqlite3_bind_int64 (stmt, icol, nd->node_id); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - changed += sqlite3_changes (accessor->db_handle); - else - { - char *msg = sqlite3_mprintf ("callback_updateNodesById: \"%s\"", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - sqlite3_finalize (stmt); - return changed; - - error: - sqlite3_finalize (stmt); - return -1; -} - -RTT_ISO_FACE * -callback_getFaceWithinBox2D (const RTT_BE_TOPOLOGY * rtt_topo, - const RTGBOX * box, int *numelems, int fields, - int limit) -{ -/* callback function: getFaceWithinBox2D */ - const RTCTX *ctx = NULL; - struct splite_internal_cache *cache = NULL; - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - sqlite3_stmt *stmt; - int ret; - int count = 0; - struct topo_faces_list *list = NULL; - RTT_ISO_FACE *result = NULL; - if (accessor == NULL) - { - *numelems = -1; - return NULL; - } - - stmt = accessor->stmt_getFaceWithinBox2D; - if (stmt == NULL) - { - *numelems = -1; - return NULL; - } - - cache = (struct splite_internal_cache *) accessor->cache; - if (cache == NULL) - return NULL; - if (cache->magic1 != SPATIALITE_CACHE_MAGIC1 - || cache->magic2 != SPATIALITE_CACHE_MAGIC2) - return NULL; - ctx = cache->RTTOPO_handle; - if (ctx == NULL) - return NULL; - -/* setting up the prepared statement */ - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, box->xmax); - sqlite3_bind_double (stmt, 2, box->xmin); - sqlite3_bind_double (stmt, 3, box->ymax); - sqlite3_bind_double (stmt, 4, box->ymin); - list = create_faces_list (); - - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - sqlite3_int64 face_id = sqlite3_column_int64 (stmt, 0); - double minx = sqlite3_column_double (stmt, 1); - double miny = sqlite3_column_double (stmt, 2); - double maxx = sqlite3_column_double (stmt, 3); - double maxy = sqlite3_column_double (stmt, 4); - add_face (list, face_id, face_id, minx, miny, maxx, maxy); - count++; - if (limit > 0) - { - if (count > limit) - break; - } - if (limit < 0) - break; - } - else - { - char *msg = sqlite3_mprintf ("callback_getFaceWithinBox2D: %s", - sqlite3_errmsg - (accessor->db_handle)); - gaiatopo_set_last_error_msg (topo, msg); - sqlite3_free (msg); - goto error; - } - } - - if (limit < 0) - { - result = NULL; - *numelems = count; - } - else - { - if (list->count <= 0) - { - result = NULL; - *numelems = 0; - } - else - { - int i = 0; - struct topo_face *p_fc; - result = rtalloc (ctx, sizeof (RTT_ISO_FACE) * list->count); - p_fc = list->first; - while (p_fc != NULL) - { - RTT_ISO_FACE *fc = result + i; - if (fields & RTT_COL_FACE_FACE_ID) - fc->face_id = p_fc->face_id; - if (fields & RTT_COL_FACE_MBR) - { - fc->mbr = gbox_new (ctx, 0); - fc->mbr->xmin = p_fc->minx; - fc->mbr->ymin = p_fc->miny; - fc->mbr->xmax = p_fc->maxx; - fc->mbr->ymax = p_fc->maxy; - } - i++; - p_fc = p_fc->next; - } - *numelems = list->count; - } - } - destroy_faces_list (list); - sqlite3_reset (stmt); - return result; - - error: - if (list != NULL) - destroy_faces_list (list); - *numelems = -1; - sqlite3_reset (stmt); - return NULL; -} - -int -callback_updateTopoGeomEdgeSplit (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID split_edge, RTT_ELEMID new_edge1, - RTT_ELEMID new_edge2) -{ -/* does nothing */ - if (topo != NULL && split_edge == 0 && new_edge1 == 0 && new_edge2 == 0) - topo = NULL; /* silencing stupid compiler warnings on unused args */ - return 1; -} - -int -callback_updateTopoGeomFaceSplit (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID split_face, - RTT_ELEMID new_face1, RTT_ELEMID new_face2) -{ -/* does nothing */ - if (topo != NULL && split_face == 0 && new_face1 == 0 && new_face2 == 0) - topo = NULL; /* silencing stupid compiler warnings on unused args */ - return 1; -} - -int -callback_checkTopoGeomRemEdge (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID rem_edge, RTT_ELEMID face_left, - RTT_ELEMID face_right) -{ -/* does nothing */ - if (topo != NULL && rem_edge == 0 && face_left == 0 && face_right == 0) - topo = NULL; /* silencing stupid compiler warnings on unused args */ - return 1; -} - -int -callback_updateTopoGeomFaceHeal (const RTT_BE_TOPOLOGY * topo, RTT_ELEMID face1, - RTT_ELEMID face2, RTT_ELEMID newface) -{ -/* does nothing */ - if (topo != NULL && face1 == 0 && face2 == 0 && newface == 0) - topo = NULL; /* silencing stupid compiler warnings on unused args */ - return 1; -} - -int -callback_checkTopoGeomRemNode (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID rem_node, RTT_ELEMID e1, - RTT_ELEMID e2) -{ -/* does nothing */ - if (topo != NULL && rem_node == 0 && e1 == 0 && e2 == 0) - topo = NULL; /* silencing stupid compiler warnings on unused args */ - return 1; -} - -int -callback_updateTopoGeomEdgeHeal (const RTT_BE_TOPOLOGY * topo, RTT_ELEMID edge1, - RTT_ELEMID edge2, RTT_ELEMID newedge) -{ -/* does nothing */ - if (topo != NULL && edge1 == 0 && edge2 == 0 && newedge == 0) - topo = NULL; /* silencing stupid compiler warnings on unused args */ - return 1; -} - -int -callback_topoGetSRID (const RTT_BE_TOPOLOGY * rtt_topo) -{ -/* callback function: topoGetSRID */ - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - if (accessor == NULL) - return -1; - - return accessor->srid; -} - -double -callback_topoGetPrecision (const RTT_BE_TOPOLOGY * rtt_topo) -{ -/* callback function: topoGetPrecision */ - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - if (accessor == NULL) - return 0.0; - - return accessor->tolerance; -} - -int -callback_topoHasZ (const RTT_BE_TOPOLOGY * rtt_topo) -{ -/* callback function: topoHasZ */ - GaiaTopologyAccessorPtr topo = (GaiaTopologyAccessorPtr) rtt_topo; - struct gaia_topology *accessor = (struct gaia_topology *) topo; - if (accessor == NULL) - return 0; - - return accessor->has_z; -} - -#endif /* end ENABLE_RTTOPO conditionals */ DELETED src/topology/topology_private.h Index: src/topology/topology_private.h ================================================================== --- src/topology/topology_private.h +++ src/topology/topology_private.h @@ -1,417 +0,0 @@ -/* - topology_private.h -- Topology opaque definitions - - version 4.3, 2015 July 15 - - Author: Sandro Furieri a.furieri@lqt.it - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -/** - \file topology_private.h - - SpatiaLite Topology private header file - */ -#ifndef DOXYGEN_SHOULD_SKIP_THIS -#ifdef _WIN32 -#ifdef DLL_EXPORT -#define TOPOLOGY_PRIVATE -#else -#define TOPOLOGY_PRIVATE -#endif -#else -#define TOPOLOGY_PRIVATE __attribute__ ((visibility("hidden"))) -#endif -#endif - -#define GAIA_MODE_TOPO_FACE 0x00 -#define GAIA_MODE_TOPO_NO_FACE 0xbb - -struct gaia_topology -{ -/* a struct wrapping a Topology Accessor Object */ - const void *cache; - sqlite3 *db_handle; - char *topology_name; - int srid; - double tolerance; - int has_z; - char *last_error_message; - sqlite3_stmt *stmt_getNodeWithinDistance2D; - sqlite3_stmt *stmt_insertNodes; - sqlite3_stmt *stmt_getEdgeWithinDistance2D; - sqlite3_stmt *stmt_getNextEdgeId; - sqlite3_stmt *stmt_setNextEdgeId; - sqlite3_stmt *stmt_insertEdges; - sqlite3_stmt *stmt_getFaceContainingPoint_1; - sqlite3_stmt *stmt_getFaceContainingPoint_2; - sqlite3_stmt *stmt_deleteEdges; - sqlite3_stmt *stmt_getNodeWithinBox2D; - sqlite3_stmt *stmt_getEdgeWithinBox2D; - sqlite3_stmt *stmt_getFaceWithinBox2D; - sqlite3_stmt *stmt_getAllEdges; - sqlite3_stmt *stmt_updateNodes; - sqlite3_stmt *stmt_insertFaces; - sqlite3_stmt *stmt_updateFacesById; - sqlite3_stmt *stmt_getRingEdges; - sqlite3_stmt *stmt_deleteFacesById; - sqlite3_stmt *stmt_deleteNodesById; - void *callbacks; - void *rtt_iface; - void *rtt_topology; - struct gaia_topology *prev; - struct gaia_topology *next; -}; - -struct face_edge_item -{ -/* a struct wrapping a Face-Edge item */ - sqlite3_int64 edge_id; - sqlite3_int64 left_face; - sqlite3_int64 right_face; - gaiaGeomCollPtr geom; - int count; - struct face_edge_item *next; -}; - -struct face_item -{ -/* a struct wrapping a Face item */ - sqlite3_int64 face_id; - struct face_item *next; -}; - -struct face_edges -{ -/* a struct containing Face-Edge items */ - int has_z; - int srid; - struct face_edge_item *first_edge; - struct face_edge_item *last_edge; - struct face_item *first_face; - struct face_item *last_face; -}; - -/* common utilities */ -TOPOLOGY_PRIVATE RTLINE *gaia_convert_linestring_to_rtline (const RTCTX * ctx, - gaiaLinestringPtr - ln, int srid, - int has_z); -TOPOLOGY_PRIVATE RTPOLY *gaia_convert_polygon_to_rtpoly (const RTCTX * ctx, - gaiaPolygonPtr pg, - int srid, int has_z); - -/* prototypes for functions handling Topology errors */ -TOPOLOGY_PRIVATE void gaiatopo_reset_last_error_msg (GaiaTopologyAccessorPtr - accessor); - -TOPOLOGY_PRIVATE void gaiatopo_set_last_error_msg (GaiaTopologyAccessorPtr - accessor, const char *msg); - -TOPOLOGY_PRIVATE const char - *gaiatopo_get_last_exception (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE struct face_edges *auxtopo_create_face_edges (int has_z, - int srid); - -TOPOLOGY_PRIVATE void auxtopo_free_face_edges (struct face_edges *list); - -TOPOLOGY_PRIVATE void auxtopo_add_face_edge (struct face_edges *list, - sqlite3_int64 face_id, - sqlite3_int64 edge_id, - sqlite3_int64 left_face, - sqlite3_int64 right_face, - gaiaGeomCollPtr geom); - -TOPOLOGY_PRIVATE void auxtopo_select_valid_face_edges (struct face_edges *list); - -TOPOLOGY_PRIVATE gaiaGeomCollPtr auxtopo_polygonize_face_edges (struct - face_edges - *list, - const void - *cache); - -TOPOLOGY_PRIVATE gaiaGeomCollPtr -auxtopo_polygonize_face_edges_generalize (struct face_edges *list, - const void *cache); - -TOPOLOGY_PRIVATE int auxtopo_create_togeotable_sql (sqlite3 * db_handle, - const char *db_prefix, - const char *ref_table, - const char *ref_column, - const char *out_table, - char **xcreate, - char **xselect, - char **xinsert, - int *ref_geom_col); - -TOPOLOGY_PRIVATE int auxtopo_retrieve_geometry_type (sqlite3 * handle, - const char *db_prefix, - const char *table, - const char *column, - int *ref_type); - -TOPOLOGY_PRIVATE gaiaGeomCollPtr auxtopo_make_geom_from_point (int srid, - int has_z, - gaiaPointPtr pt); - -TOPOLOGY_PRIVATE gaiaGeomCollPtr auxtopo_make_geom_from_line (int srid, - gaiaLinestringPtr - line); - -TOPOLOGY_PRIVATE void auxtopo_destroy_geom_from (gaiaGeomCollPtr reference); - -TOPOLOGY_PRIVATE void auxtopo_copy_linestring (gaiaLinestringPtr line, - gaiaGeomCollPtr geom); - -TOPOLOGY_PRIVATE void auxtopo_copy_linestring3d (gaiaLinestringPtr line, - gaiaGeomCollPtr geom); - -TOPOLOGY_PRIVATE int auxtopo_insert_into_topology (GaiaTopologyAccessorPtr - accessor, - gaiaGeomCollPtr geom, - double tolerance, - int line_max_points, - double max_length, int mode); - - -/* prototypes for functions creating some SQL prepared statement */ -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_getNodeWithinDistance2D (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_getNodeWithinBox2D (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_getEdgeWithinDistance2D (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_getEdgeWithinBox2D (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_getFaceWithinBox2D (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_getAllEdges (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * -do_create_stmt_getFaceContainingPoint_1 (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * -do_create_stmt_getFaceContainingPoint_2 (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_insertNodes (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_insertEdges (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_updateEdges (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_getNextEdgeId (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_setNextEdgeId (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_getRingEdges (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_insertFaces (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_updateFacesById (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_deleteFacesById (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE sqlite3_stmt - * do_create_stmt_deleteNodesById (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE void -finalize_topogeo_prepared_stmts (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE void -create_topogeo_prepared_stmts (GaiaTopologyAccessorPtr accessor); - -TOPOLOGY_PRIVATE void finalize_all_topo_prepared_stmts (const void *cache); - -TOPOLOGY_PRIVATE void create_all_topo_prepared_stmts (const void *cache); - - -/* callback function prototypes */ -const char *callback_lastErrorMessage (const RTT_BE_DATA * be); - -int callback_freeTopology (RTT_BE_TOPOLOGY * topo); - -RTT_BE_TOPOLOGY *callback_loadTopologyByName (const RTT_BE_DATA * be, - const char *name); - -RTT_ISO_NODE *callback_getNodeById (const RTT_BE_TOPOLOGY * topo, - const RTT_ELEMID * ids, int *numelems, - int fields); - -RTT_ISO_NODE *callback_getNodeWithinDistance2D (const RTT_BE_TOPOLOGY * - topo, const RTPOINT * pt, - double dist, int *numelems, - int fields, int limit); - -int callback_insertNodes (const RTT_BE_TOPOLOGY * topo, - RTT_ISO_NODE * nodes, int numelems); - -RTT_ISO_EDGE *callback_getEdgeById (const RTT_BE_TOPOLOGY * topo, - const RTT_ELEMID * ids, int *numelems, - int fields); - -RTT_ISO_EDGE *callback_getEdgeWithinDistance2D (const RTT_BE_TOPOLOGY * - topo, const RTPOINT * pt, - double dist, int *numelems, - int fields, int limit); - -RTT_ELEMID callback_getNextEdgeId (const RTT_BE_TOPOLOGY * topo); - -int callback_insertEdges (const RTT_BE_TOPOLOGY * topo, - RTT_ISO_EDGE * edges, int numelems); - -int callback_updateEdges (const RTT_BE_TOPOLOGY * topo, - const RTT_ISO_EDGE * sel_edge, int sel_fields, - const RTT_ISO_EDGE * upd_edge, int upd_fields, - const RTT_ISO_EDGE * exc_edge, int exc_fields); - -RTT_ISO_FACE *callback_getFaceById (const RTT_BE_TOPOLOGY * topo, - const RTT_ELEMID * ids, int *numelems, - int fields); - -RTT_ELEMID callback_getFaceContainingPoint (const RTT_BE_TOPOLOGY * topo, - const RTPOINT * pt); - -int callback_deleteEdges (const RTT_BE_TOPOLOGY * topo, - const RTT_ISO_EDGE * sel_edge, int sel_fields); - -RTT_ISO_NODE *callback_getNodeWithinBox2D (const RTT_BE_TOPOLOGY * topo, - const RTGBOX * box, int *numelems, - int fields, int limit); - -RTT_ISO_EDGE *callback_getEdgeWithinBox2D (const RTT_BE_TOPOLOGY * topo, - const RTGBOX * box, int *numelems, - int fields, int limit); - -RTT_ISO_EDGE *callback_getAllEdges (const RTT_BE_TOPOLOGY * topo, int *numelems, - int fields, int limit); - -RTT_ISO_EDGE *callback_getEdgeByNode (const RTT_BE_TOPOLOGY * topo, - const RTT_ELEMID * ids, - int *numelems, int fields); - -int callback_updateNodes (const RTT_BE_TOPOLOGY * topo, - const RTT_ISO_NODE * sel_node, int sel_fields, - const RTT_ISO_NODE * upd_node, int upd_fields, - const RTT_ISO_NODE * exc_node, int exc_fields); - -int callback_updateTopoGeomFaceSplit (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID split_face, - RTT_ELEMID new_face1, - RTT_ELEMID new_face2); - -int callback_insertFaces (const RTT_BE_TOPOLOGY * topo, - RTT_ISO_FACE * faces, int numelems); - -int callback_updateFacesById (const RTT_BE_TOPOLOGY * topo, - const RTT_ISO_FACE * faces, int numfaces); - -int callback_deleteFacesById (const RTT_BE_TOPOLOGY * topo, - const RTT_ELEMID * ids, int numelems); - -RTT_ELEMID *callback_getRingEdges (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID edge, int *numedges, int limit); - -int callback_updateEdgesById (const RTT_BE_TOPOLOGY * topo, - const RTT_ISO_EDGE * edges, int numedges, - int upd_fields); - -RTT_ISO_EDGE *callback_getEdgeByFace (const RTT_BE_TOPOLOGY * topo, - const RTT_ELEMID * ids, - int *numelems, int fields, - const RTGBOX * box); - -RTT_ISO_NODE *callback_getNodeByFace (const RTT_BE_TOPOLOGY * topo, - const RTT_ELEMID * faces, - int *numelems, int fields, - const RTGBOX * box); - -int callback_updateNodesById (const RTT_BE_TOPOLOGY * topo, - const RTT_ISO_NODE * nodes, int numnodes, - int upd_fields); - -int callback_deleteNodesById (const RTT_BE_TOPOLOGY * topo, - const RTT_ELEMID * ids, int numelems); - -int callback_updateTopoGeomEdgeSplit (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID split_edge, - RTT_ELEMID new_edge1, - RTT_ELEMID new_edge2); - -int callback_checkTopoGeomRemEdge (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID rem_edge, RTT_ELEMID face_left, - RTT_ELEMID face_right); - -int callback_updateTopoGeomFaceHeal (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID face1, RTT_ELEMID face2, - RTT_ELEMID newface); - -int callback_checkTopoGeomRemNode (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID rem_node, RTT_ELEMID e1, - RTT_ELEMID e2); - -int callback_updateTopoGeomEdgeHeal (const RTT_BE_TOPOLOGY * topo, - RTT_ELEMID edge1, RTT_ELEMID edge2, - RTT_ELEMID newedge); - -RTT_ISO_FACE *callback_getFaceWithinBox2D (const RTT_BE_TOPOLOGY * topo, - const RTGBOX * box, int *numelems, - int fields, int limit); - -int callback_topoGetSRID (const RTT_BE_TOPOLOGY * topo); - -double callback_topoGetPrecision (const RTT_BE_TOPOLOGY * topo); - -int callback_topoHasZ (const RTT_BE_TOPOLOGY * topo); Index: src/versioninfo/version.c ================================================================== --- src/versioninfo/version.c +++ src/versioninfo/version.c @@ -1,9 +1,10 @@ /* version.c -- Gaia spatial support for SQLite - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 + Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ Version: MPL 1.1/GPL 2.0/LGPL 2.1 @@ -20,11 +21,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of Index: src/virtualtext/Makefile.in ================================================================== --- src/virtualtext/Makefile.in +++ src/virtualtext/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,18 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/virtualtext +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -174,11 +165,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -330,10 +320,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/virtualtext/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/virtualtext/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -612,11 +603,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/virtualtext/virtualtext.c ================================================================== --- src/virtualtext/virtualtext.c +++ src/virtualtext/virtualtext.c @@ -1,10 +1,10 @@ /* virtualtext.c -- SQLite3 extension [VIRTUAL TABLE accessing CSV/TXT] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -111,43 +111,39 @@ static void text_clean_integer (char *value) { /* cleaning an integer value */ char last; - char *buffer; + char buffer[35536]; int len = strlen (value); last = value[len - 1]; if (last == '-' || last == '+') { /* trailing sign; transforming into a leading sign */ - buffer = malloc (len + 1); *buffer = last; strcpy (buffer + 1, value); buffer[len - 1] = '\0'; strcpy (value, buffer); - free (buffer); } } static void text_clean_double (char *value) { /* cleaning an integer value */ char *p; char last; - char *buffer; + char buffer[35536]; int len = strlen (value); last = value[len - 1]; if (last == '-' || last == '+') { /* trailing sign; transforming into a leading sign */ - buffer = malloc (len + 1); *buffer = last; strcpy (buffer + 1, value); buffer[len - 1] = '\0'; strcpy (value, buffer); - free (buffer); } p = value; while (*p != '\0') { /* transforming COMMAs into POINTs */ @@ -506,12 +502,12 @@ int nCol; int i; char buf[4096]; int type; const char *value = NULL; - sqlite3_int64 int_value = 0; - double dbl_value = 0.0; + sqlite3_int64 int_value; + double dbl_value; char *txt_value = NULL; int is_int = 0; int is_dbl = 0; int is_txt = 0; gaiaTextReaderPtr text = cursor->pVtab->reader; @@ -1166,59 +1162,13 @@ } return 1; /* ok, can be a valid INTEGER value */ } static int -vrttxt_is_scientific_double (const char *value, char decimal_separator) +vrttxt_is_double (const char *value, char decimal_separator) { -/* checking if this value can be a DOUBLE (scientific notation: -1.567E-16) */ - int points = 0; - int exp = 0; - int sign = 0; - int invalid = 0; - int digit2 = 0; - int digit3 = 0; - const char *p = value; - if (*p == '-' || *p == '+') - p++; /* skipping the first sign */ - while (*p != '\0') - { - if (*p == decimal_separator) - { - if (digit2 == 0) - points++; - else - invalid++; - } - else if (*p == 'E' || *p == 'e') - exp++; - else if (*p == '-' || *p == '+') - { - if (exp && !digit3) - sign++; - else - invalid++; - } - else if (*p >= '0' && *p <= '9') - { - if (exp) - digit3++; - else if (points) - digit2++; - } - p++; - } - if (digit2 >= 0 && exp == 1 && (sign == 0 || sign == 1) && digit3 - && !invalid) - return 1; - return 0; -} - -static int -vrttxt_is_plain_double (const char *value, char decimal_separator) -{ -/* checking if this value can be a DOUBLE (normal case: -123.567 */ +/* checking if this value can be a DOUBLE */ int invalids = 0; int digits = 0; int signs = 0; int points = 0; char last = '\0'; @@ -1263,21 +1213,10 @@ return 0; /* sign is not the first/last string char */ } return 1; /* ok, can be a valid DOUBLE value */ } -static int -vrttxt_is_double (const char *value, char decimal_separator) -{ -/* checking if this value can be a DOUBLE */ - if (vrttxt_is_plain_double (value, decimal_separator)) - return 1; - if (vrttxt_is_scientific_double (value, decimal_separator)) - return 1; - return 0; -} - static int vrttxt_check_type (const char *value, char decimal_separator) { /* checking the Field type */ if (*value == '\0') @@ -1598,11 +1537,11 @@ else { if (token_start) masked = 1; } - vrttxt_line_push (txt, (char) c); + vrttxt_line_push (txt, c); if (txt->error) return 0; row_offset++; offset++; continue; @@ -1610,11 +1549,11 @@ token_start = 0; if (c == '\r') { if (masked) { - vrttxt_line_push (txt, (char) c); + vrttxt_line_push (txt, c); if (txt->error) return 0; row_offset++; } offset++; @@ -1622,11 +1561,11 @@ } if (c == '\n') { if (masked) { - vrttxt_line_push (txt, (char) c); + vrttxt_line_push (txt, c); if (txt->error) return 0; row_offset++; offset++; continue; @@ -1645,27 +1584,27 @@ } if (c == txt->field_separator) { if (masked) { - vrttxt_line_push (txt, (char) c); + vrttxt_line_push (txt, c); if (txt->error) return 0; row_offset++; offset++; continue; } - vrttxt_line_push (txt, (char) c); + vrttxt_line_push (txt, c); if (txt->error) return 0; row_offset++; vrttxt_add_field (&line, offset); token_start = 1; offset++; continue; } - vrttxt_line_push (txt, (char) c); + vrttxt_line_push (txt, c); if (txt->error) return 0; row_offset++; offset++; } Index: src/wfs/Makefile.in ================================================================== --- src/wfs/Makefile.in +++ src/wfs/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -13,21 +13,11 @@ # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -87,18 +77,19 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/wfs +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @@ -173,11 +164,10 @@ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -329,10 +319,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/wfs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign src/wfs/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -611,11 +602,9 @@ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: src/wfs/wfs_in.c ================================================================== --- src/wfs/wfs_in.c +++ src/wfs/wfs_in.c @@ -1,10 +1,10 @@ /* wfs_in.c -- implements WFS support [import] - version 4.3, 2015 June 29 + version 4.2, 2014 July 25 Author: Sandro Furieri a.furieri@lqt.it ----------------------------------------------------------------------------- @@ -22,11 +22,11 @@ The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri -Portions created by the Initial Developer are Copyright (C) 2008-2015 +Portions created by the Initial Developer are Copyright (C) 2008-2013 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of @@ -141,33 +141,25 @@ /* Geometry Type statistics */ int type; int count; }; -struct wfs_geometry_def -{ -/* a WFS geometry / column */ - char *geometry_name; - int geometry_type; - int srid; - int dims; - int is_nullable; - struct wfs_geom_type *types; - char *geometry_value; - struct wfs_geometry_def *next; -}; - struct wfs_layer_schema { /* a WFS table / layer schema */ int error; int swap_axes; char *layer_name; struct wfs_column_def *first; struct wfs_column_def *last; - struct wfs_geometry_def *first_geo; - struct wfs_geometry_def *last_geo; + char *geometry_name; + int geometry_type; + int srid; + int dims; + int is_nullable; + struct wfs_geom_type *types; + char *geometry_value; sqlite3_stmt *stmt; sqlite3 *sqlite; }; struct wfs_attribute @@ -176,25 +168,16 @@ struct wfs_column_def *column; char *value; struct wfs_attribute *next; }; -struct wfs_geometry -{ -/* a WFS geometry value */ - struct wfs_geometry_def *geometry; - char *geometry_value; - struct wfs_geometry *next; -}; - struct wfs_feature { /* a WFS feature */ struct wfs_attribute *first; struct wfs_attribute *last; - struct wfs_geometry *first_geo; - struct wfs_geometry *last_geo; + char *geometry_value; }; static struct wfs_column_def * alloc_wfs_column (const char *name, int type, int is_nullable) { @@ -220,100 +203,10 @@ if (col->name != NULL) free (col->name); free (col); } -static struct wfs_geometry_def * -alloc_wfs_geometry (const char *name, int type, int is_nullable) -{ -/* allocating a WFS geometry / column definition */ - int len; - struct wfs_geometry_def *geo = malloc (sizeof (struct wfs_geometry_def)); - len = strlen (name); - geo->geometry_name = malloc (len + 1); - strcpy (geo->geometry_name, name); - geo->geometry_type = type; - geo->is_nullable = is_nullable; - geo->srid = -1; - geo->dims = 2; - geo->types = malloc (sizeof (struct wfs_geom_type) * MAX_GTYPES); - geo->types[0].type = GAIA_POINT; - geo->types[0].count = 0; - geo->types[1].type = GAIA_LINESTRING; - geo->types[1].count = 0; - geo->types[2].type = GAIA_POLYGON; - geo->types[2].count = 0; - geo->types[3].type = GAIA_MULTIPOINT; - geo->types[3].count = 0; - geo->types[4].type = GAIA_MULTILINESTRING; - geo->types[4].count = 0; - geo->types[5].type = GAIA_MULTIPOLYGON; - geo->types[5].count = 0; - geo->types[6].type = GAIA_GEOMETRYCOLLECTION; - geo->types[6].count = 0; - geo->types[7].type = GAIA_POINTZ; - geo->types[7].count = 0; - geo->types[8].type = GAIA_LINESTRINGZ; - geo->types[8].count = 0; - geo->types[9].type = GAIA_POLYGONZ; - geo->types[9].count = 0; - geo->types[10].type = GAIA_MULTIPOINTZ; - geo->types[10].count = 0; - geo->types[11].type = GAIA_MULTILINESTRINGZ; - geo->types[11].count = 0; - geo->types[12].type = GAIA_MULTIPOLYGONZ; - geo->types[12].count = 0; - geo->types[13].type = GAIA_GEOMETRYCOLLECTIONZ; - geo->types[13].count = 0; - geo->types[14].type = GAIA_POINTM; - geo->types[14].count = 0; - geo->types[15].type = GAIA_LINESTRINGM; - geo->types[15].count = 0; - geo->types[16].type = GAIA_POLYGONM; - geo->types[16].count = 0; - geo->types[17].type = GAIA_MULTIPOINTM; - geo->types[17].count = 0; - geo->types[18].type = GAIA_MULTILINESTRINGM; - geo->types[18].count = 0; - geo->types[19].type = GAIA_MULTIPOLYGONM; - geo->types[19].count = 0; - geo->types[20].type = GAIA_GEOMETRYCOLLECTIONM; - geo->types[20].count = 0; - geo->types[21].type = GAIA_POINTZM; - geo->types[21].count = 0; - geo->types[22].type = GAIA_LINESTRINGZM; - geo->types[22].count = 0; - geo->types[23].type = GAIA_POLYGONZM; - geo->types[23].count = 0; - geo->types[24].type = GAIA_MULTIPOINTZM; - geo->types[24].count = 0; - geo->types[25].type = GAIA_MULTILINESTRINGZM; - geo->types[25].count = 0; - geo->types[26].type = GAIA_MULTIPOLYGONZM; - geo->types[26].count = 0; - geo->types[27].type = GAIA_GEOMETRYCOLLECTIONZM; - geo->types[27].count = 0; - geo->geometry_value = NULL; - geo->next = NULL; - return geo; -} - -static void -free_wfs_geometry (struct wfs_geometry_def *geo) -{ -/* memory cleanup: destroying a WFS geometry definition */ - if (geo == NULL) - return; - if (geo->geometry_name != NULL) - free (geo->geometry_name); - if (geo->types != NULL) - free (geo->types); - if (geo->geometry_value != NULL) - free (geo->geometry_value); - free (geo); -} - static struct wfs_layer_schema * alloc_wfs_layer_schema (const char *layer_name, int swap_axes) { /* allocating an empty WFS schema descriptor */ int len; @@ -323,12 +216,72 @@ len = strlen (layer_name); ptr->layer_name = malloc (len + 1); strcpy (ptr->layer_name, layer_name); ptr->first = NULL; ptr->last = NULL; - ptr->first_geo = NULL; - ptr->last_geo = NULL; + ptr->geometry_name = NULL; + ptr->geometry_type = GAIA_UNKNOWN; + ptr->srid = -1; + ptr->dims = 2; + ptr->types = malloc (sizeof (struct wfs_geom_type) * MAX_GTYPES); + ptr->types[0].type = GAIA_POINT; + ptr->types[0].count = 0; + ptr->types[1].type = GAIA_LINESTRING; + ptr->types[1].count = 0; + ptr->types[2].type = GAIA_POLYGON; + ptr->types[2].count = 0; + ptr->types[3].type = GAIA_MULTIPOINT; + ptr->types[3].count = 0; + ptr->types[4].type = GAIA_MULTILINESTRING; + ptr->types[4].count = 0; + ptr->types[5].type = GAIA_MULTIPOLYGON; + ptr->types[5].count = 0; + ptr->types[6].type = GAIA_GEOMETRYCOLLECTION; + ptr->types[6].count = 0; + ptr->types[7].type = GAIA_POINTZ; + ptr->types[7].count = 0; + ptr->types[8].type = GAIA_LINESTRINGZ; + ptr->types[8].count = 0; + ptr->types[9].type = GAIA_POLYGONZ; + ptr->types[9].count = 0; + ptr->types[10].type = GAIA_MULTIPOINTZ; + ptr->types[10].count = 0; + ptr->types[11].type = GAIA_MULTILINESTRINGZ; + ptr->types[11].count = 0; + ptr->types[12].type = GAIA_MULTIPOLYGONZ; + ptr->types[12].count = 0; + ptr->types[13].type = GAIA_GEOMETRYCOLLECTIONZ; + ptr->types[13].count = 0; + ptr->types[14].type = GAIA_POINTM; + ptr->types[14].count = 0; + ptr->types[15].type = GAIA_LINESTRINGM; + ptr->types[15].count = 0; + ptr->types[16].type = GAIA_POLYGONM; + ptr->types[16].count = 0; + ptr->types[17].type = GAIA_MULTIPOINTM; + ptr->types[17].count = 0; + ptr->types[18].type = GAIA_MULTILINESTRINGM; + ptr->types[18].count = 0; + ptr->types[19].type = GAIA_MULTIPOLYGONM; + ptr->types[19].count = 0; + ptr->types[20].type = GAIA_GEOMETRYCOLLECTIONM; + ptr->types[20].count = 0; + ptr->types[21].type = GAIA_POINTZM; + ptr->types[21].count = 0; + ptr->types[22].type = GAIA_LINESTRINGZM; + ptr->types[22].count = 0; + ptr->types[23].type = GAIA_POLYGONZM; + ptr->types[23].count = 0; + ptr->types[24].type = GAIA_MULTIPOINTZM; + ptr->types[24].count = 0; + ptr->types[25].type = GAIA_MULTILINESTRINGZM; + ptr->types[25].count = 0; + ptr->types[26].type = GAIA_MULTIPOLYGONZM; + ptr->types[26].count = 0; + ptr->types[27].type = GAIA_GEOMETRYCOLLECTIONZM; + ptr->types[27].count = 0; + ptr->geometry_value = NULL; ptr->stmt = NULL; return ptr; } static void @@ -335,12 +288,10 @@ free_wfs_layer_schema (struct wfs_layer_schema *ptr) { /* memory cleanup: destroying a WFS schema */ struct wfs_column_def *col; struct wfs_column_def *n_col; - struct wfs_geometry_def *geo; - struct wfs_geometry_def *n_geo; if (ptr == NULL) return; if (ptr->layer_name != NULL) free (ptr->layer_name); col = ptr->first; @@ -348,17 +299,16 @@ { n_col = col->next; free_wfs_column (col); col = n_col; } - geo = ptr->first_geo; - while (geo != NULL) - { - n_geo = geo->next; - free_wfs_geometry (geo); - geo = n_geo; - } + if (ptr->geometry_name != NULL) + free (ptr->geometry_name); + if (ptr->types != NULL) + free (ptr->types); + if (ptr->geometry_value != NULL) + free (ptr->geometry_value); if (ptr->stmt != NULL) sqlite3_finalize (ptr->stmt); free (ptr); } @@ -365,54 +315,42 @@ static void reset_wfs_values (struct wfs_layer_schema *ptr) { /* memory cleanup: resetting attribute values */ struct wfs_column_def *col; - struct wfs_geometry_def *geo; if (ptr == NULL) return; col = ptr->first; while (col != NULL) { col->pValue = NULL; col = col->next; } - geo = ptr->first_geo; - while (geo != NULL) + if (ptr->geometry_value != NULL) { - if (geo->geometry_value != NULL) - { - free (geo->geometry_value); - geo->geometry_value = NULL; - } - geo = geo->next; + free (ptr->geometry_value); + ptr->geometry_value = NULL; } } static int count_wfs_values (struct wfs_layer_schema *ptr) { /* counting how many valid values */ int count = 0; struct wfs_column_def *col; - struct wfs_geometry_def *geo; if (ptr == NULL) return 0; col = ptr->first; while (col != NULL) { if (col->pValue != NULL) count++; col = col->next; } - geo = ptr->first_geo; - while (geo != NULL) - { - if (geo->geometry_value != NULL) - count++; - geo = geo->next; - } + if (ptr->geometry_value != NULL) + count++; return count; } static void add_wfs_column_to_schema (struct wfs_layer_schema *ptr, const char *name, @@ -429,23 +367,24 @@ ptr->last->next = col; ptr->last = col; } static void -add_wfs_geometry (struct wfs_layer_schema *ptr, const char *name, int type, +set_wfs_geometry (struct wfs_layer_schema *ptr, const char *name, int type, int is_nullable) { -/* adding a Geometry / column into a WFS schema */ - struct wfs_geometry_def *geo; +/* setting the Geometry for a WFS schema */ + int len; if (ptr == NULL) return; - geo = alloc_wfs_geometry (name, type, is_nullable); - if (ptr->first_geo == NULL) - ptr->first_geo = geo; - if (ptr->last_geo != NULL) - ptr->last_geo->next = geo; - ptr->last_geo = geo; + if (ptr->geometry_name != NULL) + free (ptr->geometry_name); + len = strlen (name); + ptr->geometry_name = malloc (len + 1); + strcpy (ptr->geometry_name, name); + ptr->geometry_type = type; + ptr->is_nullable = is_nullable; } static struct wfs_srid_def * alloc_wfs_srid (int srid, const char *srs_name) { @@ -598,16 +537,14 @@ static struct wfs_feature * create_feature (struct wfs_layer_schema *schema) { /* creating an empty WFS feature object */ struct wfs_column_def *col; - struct wfs_geometry_def *geo; struct wfs_feature *feature = malloc (sizeof (struct wfs_feature)); feature->first = NULL; feature->last = NULL; - feature->first_geo = NULL; - feature->last_geo = NULL; + feature->geometry_value = NULL; col = schema->first; while (col != NULL) { struct wfs_attribute *attr = malloc (sizeof (struct wfs_attribute)); attr->column = col; @@ -618,73 +555,44 @@ if (feature->last != NULL) feature->last->next = attr; feature->last = attr; col = col->next; } - geo = schema->first_geo; - while (geo != NULL) - { - struct wfs_geometry *geometry = malloc (sizeof (struct wfs_geometry)); - geometry->geometry = geo; - geometry->geometry_value = NULL; - geometry->next = NULL; - if (feature->first_geo == NULL) - feature->first_geo = geometry; - if (feature->last_geo != NULL) - feature->last_geo->next = geometry; - feature->last_geo = geometry; - geo = geo->next; - } return feature; } static void reset_feature (struct wfs_feature *feature) { /* resetting a WFS feature object to its initial empty state */ - struct wfs_geometry *geometry; struct wfs_attribute *attr = feature->first; while (attr != NULL) { if (attr->value != NULL) free (attr->value); attr->value = NULL; attr = attr->next; } - geometry = feature->first_geo; - while (geometry != NULL) - { - if (geometry->geometry_value != NULL) - free (geometry->geometry_value); - geometry->geometry_value = NULL; - geometry = geometry->next; - } + if (feature->geometry_value != NULL) + free (feature->geometry_value); + feature->geometry_value = NULL; } static void free_feature (struct wfs_feature *feature) { /* memory cleanup - freeing a WFS feature object */ struct wfs_attribute *attr; struct wfs_attribute *n_attr; - struct wfs_geometry *geometry; - struct wfs_geometry *n_geometry; reset_feature (feature); attr = feature->first; while (attr != NULL) { n_attr = attr->next; free (attr); attr = n_attr; } - geometry = feature->first_geo; - while (geometry != NULL) - { - n_geometry = geometry->next; - free (geometry); - geometry = n_geometry; - } free (feature); } static int compare_features (struct wfs_feature *f1, struct wfs_feature *f2) @@ -692,14 +600,10 @@ /* testing if two WFS features are identical */ struct wfs_attribute *attr1; struct wfs_attribute *attr2; int cnt1 = 0; int cnt2 = 0; - struct wfs_geometry *geom1; - struct wfs_geometry *geom2; - int cntgeo1 = 0; - int cntgeo2 = 0; /* counting how many attributes for each feature */ attr1 = f1->first; while (attr1 != NULL) { cnt1++; @@ -713,16 +617,31 @@ } if (cnt1 != cnt2) { /* surely different - mismatching attributes count */ return 0; + } + if (f1->geometry_value == NULL && f2->geometry_value == NULL) + ; + else if (f1->geometry_value != NULL && f2->geometry_value != NULL) + { + if (strcmp (f1->geometry_value, f2->geometry_value) != 0) + { + /* surely different - mismatching geometry values */ + return 0; + } + } + else + { + /* surely different - mismatching geometries */ + return 0; } attr1 = f1->first; attr2 = f2->first; while (attr1 != NULL && attr2 != NULL) { - if (strcmp (attr1->column->name, attr2->column->name) != 0) + if (strcmp (attr1->column->name, attr1->column->name) != 0) { /* mismatching attribute name */ return 0; } if (attr1->value == NULL && attr2->value == NULL) @@ -736,63 +655,14 @@ } } else { /* mismatching values */ - return 0; } attr1 = attr1->next; attr2 = attr2->next; } -/* counting how many geometries for each feature */ - geom1 = f1->first_geo; - while (geom1 != NULL) - { - cntgeo1++; - geom1 = geom1->next; - } - geom2 = f2->first_geo; - while (geom2 != NULL) - { - cntgeo2++; - geom2 = geom2->next; - } - if (cntgeo1 != cntgeo2) - { - /* surely different - mismatching geometries count */ - return 0; - } - geom1 = f1->first_geo; - geom2 = f2->first_geo; - while (geom1 != NULL && geom2 != NULL) - { - if (strcmp - (geom1->geometry->geometry_name, - geom2->geometry->geometry_name) != 0) - { - /* mismatching geometry name */ - return 0; - } - if (geom1->geometry_value == NULL && geom2->geometry_value == NULL) - ; - else if (geom1->geometry_value != NULL - && geom2->geometry_value != NULL) - { - if (strcmp (geom1->geometry_value, geom2->geometry_value) != 0) - { - /* surely different - mismatching geometry values */ - return 0; - } - } - else - { - /* surely different - mismatching geometries */ - return 0; - } - geom1 = geom1->next; - geom2 = geom2->next; - } return 1; } static void clean_copy (char *dest, const char *orig) @@ -1234,11 +1104,11 @@ if (name == NULL || (is_geom == 0 && type == SQLITE_NULL) || (is_geom != 0 && type == GAIA_UNKNOWN)) return; if (is_geom) - add_wfs_geometry (schema, name, type, is_nullable); + set_wfs_geometry (schema, name, type, is_nullable); else add_wfs_column_to_schema (schema, name, type, is_nullable); } static void @@ -1305,11 +1175,11 @@ } schema = alloc_wfs_layer_schema (layer_name, swap_axes); root = xmlDocGetRootElement (xml_doc); parse_wfs_schema (root, schema, &sequence); - if (schema->first == NULL && schema->first_geo == NULL) + if (schema->first == NULL && schema->geometry_name == NULL) { if (err_msg != NULL) { const char *msg = "Unable to identify a valid WFS layer schema"; len = strlen (msg); @@ -1325,11 +1195,11 @@ xmlSetGenericErrorFunc ((void *) stderr, NULL); if (xml_doc != NULL) xmlFreeDoc (xml_doc); if (schema != NULL) { - if (schema->first == NULL && schema->first_geo == NULL) + if (schema->first == NULL && schema->geometry_name == NULL) { /* empty schema */ free_wfs_layer_schema (schema); schema = NULL; } @@ -1480,20 +1350,24 @@ node = node->next; } } static void -set_feature_geom (xmlNodePtr node, struct wfs_geometry_def *geo) +set_feature_geom (xmlNodePtr node, struct wfs_layer_schema *schema) { -/* saving a geometry value */ +/* saving the feature's geometry value */ gaiaOutBuffer gml; gaiaOutBufferInitialize (&gml); /* reassembling the GML expression */ reassemble_gml (node, &gml); if (gml.Buffer != NULL) - geo->geometry_value = gml.Buffer; + { + if (schema->geometry_value != NULL) + free (schema->geometry_value); + schema->geometry_value = gml.Buffer; + } } static void set_feature_value (xmlNodePtr node, struct wfs_column_def *col) { @@ -1507,11 +1381,15 @@ static void check_feature_value (xmlNodePtr node, struct wfs_layer_schema *schema) { /* attempting to extract an attribute value */ struct wfs_column_def *col; - struct wfs_geometry_def *geo; + if (strcmp ((const char *) (node->name), schema->geometry_name) == 0) + { + set_feature_geom (node->children, schema); + return; + } col = schema->first; while (col != NULL) { if (strcmp ((const char *) (node->name), col->name) == 0) { @@ -1518,24 +1396,14 @@ set_feature_value (node->children, col); return; } col = col->next; } - geo = schema->first_geo; - while (geo != NULL) - { - if (strcmp ((const char *) (node->name), geo->geometry_name) == 0) - { - set_feature_geom (node->children, geo); - return; - } - geo = geo->next; - } } static int -test_effective_geom (struct wfs_geometry_def *geo, int *type, int *cast_type, +test_effective_geom (struct wfs_layer_schema *schema, int *type, int *cast_type, int *cast_dims) { /* testing the effective GeometryType and dims */ int pts = 0; int lns = 0; @@ -1550,11 +1418,11 @@ int dims_xyzm = 0; int dims = GAIA_XY; int i; for (i = 0; i < MAX_GTYPES; i++) { - struct wfs_geom_type *p = geo->types + i; + struct wfs_geom_type *p = schema->types + i; switch (p->type) { case GAIA_POINT: case GAIA_POINTZ: case GAIA_POINTM: @@ -1780,33 +1648,33 @@ cnt = count_wfs_values (schema); return cnt; } static int -check_real_type (struct wfs_geometry_def *geo, int *type, int *cast_type, +check_real_type (struct wfs_layer_schema *schema, int *type, int *cast_type, int *cast_dims) { /* attempting to assign a more precise GeometryType */ int xtype; - if (test_effective_geom (geo, &xtype, cast_type, cast_dims)) + if (test_effective_geom (schema, &xtype, cast_type, cast_dims)) { *type = xtype; return 1; } return 0; } static void -update_geom_stats (struct wfs_geometry_def *geo, int type) +update_geom_stats (struct wfs_layer_schema *schema, int type) { /* updating the type statistics */ int i; - if (geo->geometry_type != GAIA_GEOMETRYCOLLECTION) + if (schema->geometry_type != GAIA_GEOMETRYCOLLECTION) return; for (i = 0; i < MAX_GTYPES; i++) { - struct wfs_geom_type *p = geo->types + i; + struct wfs_geom_type *p = schema->types + i; if (p->type == type) { p->count += 1; return; } @@ -1819,11 +1687,10 @@ /* inserting a row into the target table */ int ret; int ind = 1; sqlite3_stmt *stmt = schema->stmt; struct wfs_column_def *col; - struct wfs_geometry_def *geo; if (stmt == NULL || schema->error) { schema->error = 1; return 0; @@ -1854,59 +1721,55 @@ strlen (col->pValue), SQLITE_STATIC); } ind++; col = col->next; } - - geo = schema->first_geo; - while (geo != NULL) + if (schema->geometry_name != NULL) { /* we have a Geometry column */ - if (geo->geometry_value != NULL) + if (schema->geometry_value != NULL) { /* preparing the Geometry value */ gaiaGeomCollPtr geom = - gaiaParseGml ((unsigned char *) (geo->geometry_value), + gaiaParseGml ((unsigned char *) (schema->geometry_value), schema->sqlite); if (geom == NULL) sqlite3_bind_null (stmt, ind); else { unsigned char *blob; int blob_size; int type = gaiaGeometryType (geom); if (type == GAIA_POINT - && geo->geometry_type == GAIA_MULTIPOINT) + && schema->geometry_type == GAIA_MULTIPOINT) { /* promoting to MultiPoint */ geom->DeclaredType = GAIA_MULTIPOINT; } if (type == GAIA_LINESTRING - && geo->geometry_type == GAIA_MULTILINESTRING) + && schema->geometry_type == GAIA_MULTILINESTRING) { /* promoting to MultiLinestring */ geom->DeclaredType = GAIA_MULTILINESTRING; } if (type == GAIA_POLYGON - && geo->geometry_type == GAIA_MULTIPOLYGON) + && schema->geometry_type == GAIA_MULTIPOLYGON) { /* promoting to MultiPolygon */ geom->DeclaredType = GAIA_MULTIPOLYGON; } - geom->Srid = geo->srid; + geom->Srid = schema->srid; if (schema->swap_axes != 0) gaiaSwapCoords (geom); gaiaToSpatiaLiteBlobWkb (geom, &blob, &blob_size); sqlite3_bind_blob (stmt, ind, blob, blob_size, free); gaiaFreeGeomColl (geom); - update_geom_stats (geo, type); + update_geom_stats (schema, type); } } else sqlite3_bind_null (stmt, ind); - ind++; - geo = geo->next; } /* inserting */ ret = sqlite3_step (stmt); if (ret == SQLITE_DONE || ret == SQLITE_ROW) @@ -1951,40 +1814,15 @@ } attr = attr->next; } } -static void -save_geometry (struct wfs_feature *feature, struct wfs_geometry_def *geo) -{ -/* saving a geometry value */ - struct wfs_geometry *geometry = feature->first_geo; - while (geometry != NULL) - { - if (geometry->geometry == geo) - { - if (geometry->geometry_value != NULL) - free (geometry->geometry_value); - geometry->geometry_value = NULL; - if (geo->geometry_value != NULL) - { - int len = strlen (geo->geometry_value); - geometry->geometry_value = malloc (len + 1); - strcpy (geometry->geometry_value, geo->geometry_value); - } - return; - } - geometry = geometry->next; - } -} - static int do_save_feature (struct wfs_layer_schema *schema, struct wfs_feature *feature) { /* saving the current feature data */ struct wfs_column_def *col; - struct wfs_geometry_def *geo; if (schema->error) { schema->error = 1; return 0; @@ -1995,15 +1833,19 @@ while (col != NULL) { save_attribute (feature, col); col = col->next; } - geo = schema->first_geo; - while (geo != NULL) + if (schema->geometry_name != NULL) { - save_geometry (feature, geo); - geo = geo->next; + /* we have a Geometry column */ + if (schema->geometry_value != NULL) + { + int len = strlen (schema->geometry_value); + feature->geometry_value = malloc (len + 1); + strcpy (feature->geometry_value, schema->geometry_value); + } } return 1; } static void @@ -2072,33 +1914,26 @@ } } static int sniff_feature_value (xmlNodePtr node, struct wfs_layer_schema *schema, - xmlNodePtr * geom, char **geometry_name) + xmlNodePtr * geom) { /* sniffing attribute values */ struct wfs_column_def *col; - struct wfs_geometry_def *geo; + if (strcmp ((const char *) (node->name), schema->geometry_name) == 0) + { + *geom = node->children; + return 1; + } col = schema->first; while (col != NULL) { if (strcmp ((const char *) (node->name), col->name) == 0) return 1; col = col->next; } - geo = schema->first_geo; - while (geo != NULL) - { - if (strcmp ((const char *) (node->name), geo->geometry_name) == 0) - { - *geom = node->children; - *geometry_name = geo->geometry_name; - return 1; - } - geo = geo->next; - } return 0; } static int parse_srsname (xmlNodePtr node) @@ -2141,31 +1976,16 @@ } return 2; } static void -sniff_gml_geometry (const char *geometry_name, xmlNodePtr node, - struct wfs_layer_schema *schema) +sniff_gml_geometry (xmlNodePtr node, struct wfs_layer_schema *schema) { /* attempting to identify the Srid and dimension from a GML geometry */ - struct wfs_geometry_def *p_geo = NULL; - struct wfs_geometry_def *geo; xmlNodePtr cur_node = NULL; if (node == NULL) return; - geo = schema->first_geo; - while (geo != NULL) - { - if (strcmp (geometry_name, geo->geometry_name) == 0) - { - p_geo = geo; - break; - } - geo = geo->next; - } - if (p_geo == NULL) - return; for (cur_node = node; cur_node; cur_node = cur_node->next) { if (cur_node->type == XML_ELEMENT_NODE) { struct _xmlAttr *attr; @@ -2174,20 +1994,18 @@ { if (attr->name != NULL) { if (strcmp ((const char *) (attr->name), "srsName") == 0) - p_geo->srid = parse_srsname (attr->children); + schema->srid = parse_srsname (attr->children); if (strcmp - ((const char *) (attr->name), "dimension") == 0 - || strcmp ((const char *) (attr->name), - "srsDimension") == 0) - p_geo->dims = parse_dimension (attr->children); + ((const char *) (attr->name), "dimension") == 0) + schema->dims = parse_dimension (attr->children); } attr = attr->next; } - sniff_gml_geometry (geometry_name, cur_node->children, schema); + sniff_gml_geometry (cur_node->children, schema); } } } static int @@ -2194,24 +2012,23 @@ sniff_wfs_single_feature (xmlNodePtr node, struct wfs_layer_schema *schema) { /* attempting to sniff data corresponding to a single feature */ xmlNodePtr cur_node = NULL; int cnt = 0; + xmlNodePtr geom = NULL; reset_wfs_values (schema); for (cur_node = node; cur_node; cur_node = cur_node->next) { - xmlNodePtr geom = NULL; - char *geometry_name = NULL; if (cur_node->type == XML_ELEMENT_NODE) - cnt += - sniff_feature_value (cur_node, schema, &geom, &geometry_name); - if (geom != NULL && geometry_name != NULL) - sniff_gml_geometry (geometry_name, geom, schema); + cnt += sniff_feature_value (cur_node, schema, &geom); } - if (cnt > 0) - return 1; + if (cnt > 0 && geom != NULL) + { + sniff_gml_geometry (geom, schema); + return 1; + } return 0; } static void sniff_geometries (xmlNodePtr node, struct wfs_layer_schema *schema, @@ -2293,11 +2110,10 @@ char *errMsg = NULL; gaiaOutBuffer sql; char *sql2; char *quoted; struct wfs_column_def *col; - struct wfs_geometry_def *geo; char auto_pk_name[1024]; int is_auto_pk = 0; int comma = 0; sqlite3_stmt *stmt = NULL; @@ -2406,17 +2222,16 @@ strcpy (*err_msg, errMsg); sqlite3_free (errMsg); return 0; } - geo = schema->first_geo; - while (geo != NULL) + if (schema->geometry_name != NULL) { - /* creating a Geometry column */ + /* creating the Geometry column */ const char *gType = "GEOMETRY"; const char *gDims = "XY"; - switch (geo->geometry_type) + switch (schema->geometry_type) { case GAIA_POINT: gType = "POINT"; break; case GAIA_LINESTRING: @@ -2433,15 +2248,15 @@ break; case GAIA_MULTIPOLYGON: gType = "MULTIPOLYGON"; break; }; - if (geo->dims == 3) + if (schema->dims == 3) gDims = "XYZ"; sql2 = sqlite3_mprintf ("SELECT AddGeometryColumn(%Q, %Q, %d, %Q, %Q)", - table, geo->geometry_name, geo->srid, + table, schema->geometry_name, schema->srid, gType, gDims); gaiaAppendToOutBuffer (&sql, sql2); sqlite3_free (sql2); ret = sqlite3_exec (sqlite, sql.Buffer, NULL, NULL, &errMsg); gaiaOutBufferReset (&sql); @@ -2461,11 +2276,11 @@ } if (spatial_index) { /* creating the Spatial Index */ sql2 = sqlite3_mprintf ("SELECT CreateSpatialIndex(%Q, %Q)", - table, geo->geometry_name); + table, schema->geometry_name); gaiaAppendToOutBuffer (&sql, sql2); sqlite3_free (sql2); ret = sqlite3_exec (sqlite, sql.Buffer, NULL, NULL, &errMsg); gaiaOutBufferReset (&sql); if (ret != SQLITE_OK) @@ -2482,11 +2297,10 @@ *err_msg = malloc (len + 1); strcpy (*err_msg, errMsg); return 0; } } - geo = geo->next; } /* creating the INSERT statement */ quoted = gaiaDoubleQuotedSql (table); sql2 = sqlite3_mprintf ("INSERT INTO \"%s\" (\n", quoted); @@ -2505,56 +2319,44 @@ col = schema->first; while (col != NULL) { /* column names */ quoted = gaiaDoubleQuotedSql (col->name); - if (col == schema->last && schema->first_geo == NULL) + if (col == schema->last && schema->geometry_name == NULL) sql2 = sqlite3_mprintf ("\"%s\") VALUES (", quoted); else sql2 = sqlite3_mprintf ("\"%s\", ", quoted); free (quoted); gaiaAppendToOutBuffer (&sql, sql2); sqlite3_free (sql2); col = col->next; } - geo = schema->first_geo; - while (geo != NULL) + if (schema->geometry_name != NULL) { - /* geometry column names */ - quoted = gaiaDoubleQuotedSql (geo->geometry_name); - if (geo == schema->last_geo) - sql2 = sqlite3_mprintf ("\"%s\") VALUES (", quoted); - else - sql2 = sqlite3_mprintf ("\"%s\", ", quoted); + /* the geometry column name */ + quoted = gaiaDoubleQuotedSql (schema->geometry_name); + sql2 = sqlite3_mprintf ("\"%s\") VALUES (", quoted); free (quoted); gaiaAppendToOutBuffer (&sql, sql2); sqlite3_free (sql2); - geo = geo->next; } if (is_auto_pk) { /* there is an AUTOINCREMENT PK */ gaiaAppendToOutBuffer (&sql, "NULL, "); } col = schema->first; while (col != NULL) { - if (col == schema->last && schema->first_geo == NULL) + if (col == schema->last && schema->geometry_name == NULL) gaiaAppendToOutBuffer (&sql, "?)"); else gaiaAppendToOutBuffer (&sql, "?, "); col = col->next; } - geo = schema->first_geo; - while (geo != NULL) - { - if (geo == schema->last_geo) - gaiaAppendToOutBuffer (&sql, "?)"); - else - gaiaAppendToOutBuffer (&sql, "?, "); - geo = geo->next; - } + if (schema->geometry_name != NULL) + gaiaAppendToOutBuffer (&sql, "?)"); ret = sqlite3_prepare_v2 (sqlite, sql.Buffer, strlen (sql.Buffer), &stmt, NULL); gaiaOutBufferReset (&sql); if (ret != SQLITE_OK) @@ -2656,24 +2458,11 @@ static int test_wfs_paging (const char *path_or_url, int page_size, xmlNodePtr node, struct wfs_layer_schema *schema, int *shift_index) { -/* - * testing if the server does actually support STARTINDEX - * - * startIndex/count is a standard capability introduced by WFS 2.0 - * anyway MapServer and Geoserver WFS 1.x supported a non-standard - * startIndex/maxFeature; unhappily the two implementations - * differed in a very critical aspect: - * - the first feature has index=0 on GeoSever - * - but has index=1 on MapServer - * - * so we must now guess if and how this capability could - * be effectively supported by the current WFS server - * - */ +/* testing if the server does actually supports STARTINDEX */ xmlDocPtr xml_doc = NULL; xmlNodePtr root; char *page_url; int nRows = 0; struct wfs_feature *feature_1 = create_feature (schema); @@ -2745,15 +2534,15 @@ { /* final adjustement for GeometryType and dims */ char *errMsg = NULL; char *xtable; char *xgeom; - char *xopen = ""; - char *xclose = ""; + char *xopen; + char *xclose; char *sql; int ret; - int dims = -1; + int dims; int metadata_version = checkSpatialMetaData (sqlite); /* starting a transaction */ if (sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &errMsg) != SQLITE_OK) { @@ -3202,12 +2991,12 @@ /* adjusting GeometryColumns */ if (metadata_version == 1) { /* legacy metadata style <= v.3.1.0 */ - const char *pType = ""; - const char *pDims = ""; + const char *pType; + const char *pDims; switch (type) { case GAIA_POINT: case GAIA_POINTZ: case GAIA_POINTM: @@ -3404,32 +3193,14 @@ const char *pk_column_name, int spatial_index, int page_size, int *rows, char **err_msg, void (*progress_callback) (int, void *), void *callback_ptr) { -/* attempting to load data from some WFS source [paged]*/ - return load_from_wfs_paged_ex (sqlite, "1.1.0", path_or_url, - alt_describe_uri, layer_name, swap_axes, - table, pk_column_name, spatial_index, - page_size, rows, err_msg, progress_callback, - callback_ptr); -} - -SPATIALITE_DECLARE int -load_from_wfs_paged_ex (sqlite3 * sqlite, const char *wfs_version, - const char *path_or_url, const char *alt_describe_uri, - const char *layer_name, int swap_axes, - const char *table, const char *pk_column_name, - int spatial_index, int page_size, int *rows, - char **err_msg, void (*progress_callback) (int, void *), - void *callback_ptr) -{ /* attempting to load data from some WFS source [paged]*/ xmlDocPtr xml_doc = NULL; xmlNodePtr root; struct wfs_layer_schema *schema = NULL; - struct wfs_geometry_def *geo; int len; int ret; char *describe_uri = NULL; gaiaOutBuffer errBuf; int ok = 0; @@ -3437,11 +3208,11 @@ int pageNo = 0; int startIdx = 0; int nRows; char *page_url = NULL; const char *p_page_url; - int shift_index = 0; + int shift_index; xmlGenericErrorFunc parsingError = (xmlGenericErrorFunc) wfsParsingError; *rows = 0; if (err_msg != NULL) *err_msg = NULL; if (path_or_url == NULL) @@ -3451,19 +3222,13 @@ { if (page_size <= 0) p_page_url = path_or_url; else { - const char *max; - if (strcmp (wfs_version, "1.0.0") == 0 - || strcmp (wfs_version, "1.1.0") == 0) - max = "maxFeatures"; - else - max = "count"; page_url = - sqlite3_mprintf ("%s&%s=%d&startIndex=%d", - path_or_url, max, page_size, startIdx); + sqlite3_mprintf ("%s&maxFeatures=%d&startIndex=%d", + path_or_url, page_size, startIdx); p_page_url = page_url; } /* loading the WFS payload from URL (or file) */ gaiaOutBufferInitialize (&errBuf); @@ -3524,43 +3289,25 @@ sniffed = 0; sniff_geometries (root, schema, &sniffed); if (page_size > 0) { - if (strcmp (wfs_version, "1.0.0") == 0 - || strcmp (wfs_version, "1.1.0") == 0) + /* testing if the server does actually support STARTINDEX */ + root = xmlDocGetRootElement (xml_doc); + if (!test_wfs_paging + (path_or_url, page_size, root, schema, &shift_index)) { - /* - * testing if the server does actually support STARTINDEX - * - * startIndex/count is a standard capability introduced by WFS 2.0 - * anyway MapServer and Geoserver WFS 1.x supported a non-standard - * startIndex/maxFeature; unhappily the two implementations - * differed in a very critical aspect: - * - the first feature has index=0 on GeoSever - * - but has index=1 on MapServer - * - * so we must now guess if and how this capability could - * be effectively supported by the current WFS server - * - */ - root = xmlDocGetRootElement (xml_doc); - if (!test_wfs_paging - (path_or_url, page_size, root, schema, - &shift_index)) + const char *err = + "loawfs: the WFS server doesn't seem to support STARTINDEX\n" + "and consequently WFS paging is not available"; + if (err_msg != NULL) { - const char *err = - "loawfs: the WFS server doesn't seem to support STARTINDEX\n" - "and consequently WFS paging is not available"; - if (err_msg != NULL) - { - len = strlen (err); - *err_msg = malloc (len + 1); - strcpy (*err_msg, err); - } - goto end; + len = strlen (err); + *err_msg = malloc (len + 1); + strcpy (*err_msg, err); } + goto end; } startIdx += shift_index; } if (!prepare_sql @@ -3608,26 +3355,21 @@ xml_doc = NULL; pageNo++; startIdx += nRows; } - geo = schema->first_geo; - while (geo != NULL) + if (schema->geometry_type == GAIA_GEOMETRYCOLLECTION) { - if (geo->geometry_type == GAIA_GEOMETRYCOLLECTION) + /* attempting to set a more precise GeometryType */ + int type; + int cast_type; + int cast_dims; + if (check_real_type (schema, &type, &cast_type, &cast_dims)) { - /* attempting to set a more precise GeometryType */ - int type; - int cast_type; - int cast_dims; - if (check_real_type (geo, &type, &cast_type, &cast_dims)) - { - do_adjust_geoms (sqlite, table, geo->geometry_name, type, - cast_type, cast_dims); - } + do_adjust_geoms (sqlite, table, schema->geometry_name, type, + cast_type, cast_dims); } - geo = geo->next; } ok = 1; end: if (schema != NULL) free_wfs_layer_schema (schema); @@ -4370,12 +4112,10 @@ char *url; char *url2; const char *srs_name = NULL; int len; const char *ver = "1.1.0"; - const char *type = NULL; - const char *max = NULL; if (ptr->request_url == NULL) return NULL; if (version != NULL) { if (strcmp (version, "1.0.0") == 0) @@ -4383,20 +4123,10 @@ if (strcmp (version, "2.0.0") == 0) ver = "2.0.0"; if (strcmp (version, "2.0.2") == 0) ver = "2.0.2"; } - if (strcmp (ver, "1.0.0") == 0 || strcmp (ver, "1.1.0") == 0) - { - type = "typeName"; - max = "maxFeatures"; /* non-stadard: only on GeoServer and MapServer */ - } - else - { - type = "typeNames"; /* name has changed since 2.0.0 */ - max = "count"; /* standard since 2.0.0 */ - } if (srid > 0) { struct wfs_srid_def *srs = lyr->first_srid; while (srs != NULL) { @@ -4412,31 +4142,30 @@ if (max_features <= 0) { if (srs_name == NULL) url = sqlite3_mprintf - ("%sservice=WFS&version=%s&request=GetFeature&%s=%s", - ptr->request_url, ver, type, lyr->name); + ("%sservice=WFS&version=%s&request=GetFeature&typeName=%s", + ptr->request_url, ver, lyr->name); else url = sqlite3_mprintf - ("%sservice=WFS&version=%s&request=GetFeature&%s=%s&srsName=%s", - ptr->request_url, ver, type, lyr->name, srs_name); + ("%sservice=WFS&version=%s&request=GetFeature&typeName=%s&srsName=%s", + ptr->request_url, ver, lyr->name, srs_name); } else { if (srs_name == NULL) url = sqlite3_mprintf - ("%sservice=WFS&version=%s&request=GetFeature&%s=%s&%s=%d", - ptr->request_url, ver, type, lyr->name, max, max_features); + ("%sservice=WFS&version=%s&request=GetFeature&typeName=%s&maxFeatures=%d", + ptr->request_url, ver, lyr->name, max_features); else url = sqlite3_mprintf - ("%sservice=WFS&version=%s&request=GetFeature&%s=%s&srsName=%s&%s=%d", - ptr->request_url, ver, type, lyr->name, srs_name, max, - max_features); + ("%sservice=WFS&version=%s&request=GetFeature&typeName=%s&srsName=%s&maxFeatures=%d", + ptr->request_url, ver, lyr->name, srs_name, max_features); } len = strlen (url); url2 = malloc (len + 1); strcpy (url2, url); sqlite3_free (url); @@ -4580,29 +4309,21 @@ SPATIALITE_DECLARE int get_wfs_schema_geometry_info (gaiaWFSschemaPtr handle, const char **name, int *type, int *srid, int *dims, int *nullable) { /* Return the infos describing a WFS-GeometryColumn object */ - int ok = 0; - struct wfs_geometry_def *geo; struct wfs_layer_schema *ptr = (struct wfs_layer_schema *) handle; if (ptr == NULL) return 0; - geo = ptr->first_geo; - while (geo != NULL) - { - *name = geo->geometry_name; - *type = geo->geometry_type; - *srid = geo->srid; - *dims = geo->dims; - *nullable = geo->is_nullable; - ok = 1; - geo = geo->next; - } - if (ok) - return 1; - return 0; + if (ptr->geometry_name == NULL) + return 0; + *name = ptr->geometry_name; + *type = ptr->geometry_type; + *srid = ptr->srid; + *dims = ptr->dims; + *nullable = ptr->is_nullable; + return 1; } SPATIALITE_DECLARE int get_wfs_schema_column_info (gaiaWFScolumnPtr handle, const char **name, int *type, int *nullable) @@ -4647,26 +4368,10 @@ const char *pk_column_name, int spatial_index, int page_size, int *rows, char **err_msg, void (*progress_callback) (int, void *), void *callback_ptr) { -/* LIBXML2 isn't enabled: always returning an error */ - return load_from_wfs_paged_ex (sqlite, "1.1.0", alt_describe_uri, - layer_name, swap_axes, table, pk_column_name, - spatial_index, page_size, rows, err_msg, - progress_callback, callback_ptr); -} - -SPATIALITE_DECLARE int -load_from_wfs_paged_ex (sqlite3 * sqlite, const char *wfs_version, - const char *path_or_url, const char *alt_describe_uri, - const char *layer_name, int swap_axes, - const char *table, const char *pk_column_name, - int spatial_index, int page_size, int *rows, - char **err_msg, void (*progress_callback) (int, void *), - void *callback_ptr) -{ /* LIBXML2 isn't enabled: always returning an error */ int len; const char *msg = "Sorry ... libspatialite was built disabling LIBXML2\n" "and is thus unable to support LOADWFS"; DELETED test/000323485.gpx Index: test/000323485.gpx ================================================================== --- test/000323485.gpx +++ test/000323485.gpx @@ -1,43 +0,0 @@ - - - - Track 0 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DELETED test/Gpx-sample.gpx Index: test/Gpx-sample.gpx ================================================================== --- test/Gpx-sample.gpx +++ test/Gpx-sample.gpx @@ -1,421 +0,0 @@ - - - - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.61 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 135.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 133.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 133.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 133.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 133.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 133.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 133.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 132.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 134.00 - - 2d - 3 - 2.60 - 1.00 - 2.79 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 7 - 1.17 - 0.94 - 1.50 - - - 152.00 - - 3d - 7 - 1.17 - 0.94 - 1.50 - - - 152.00 - - 3d - 7 - 1.17 - 0.94 - 1.50 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - 152.00 - - 3d - 8 - 1.09 - 0.92 - 1.43 - - - - Index: test/Makefile.am ================================================================== --- test/Makefile.am +++ test/Makefile.am @@ -51,32 +51,19 @@ check_virtualbbox \ check_wfsin \ check_dxf \ check_metacatalog \ check_virtualelem \ - check_srid_fncts \ - check_control_points \ - check_cutter \ - check_topology2d \ - check_topology3d \ - check_toponoface2d \ - check_topoplus \ - check_toposnap \ - check_network2d \ - check_network3d \ - check_network_log \ - check_virtualknn \ - check_sequence \ - check_wms + check_srid_fncts if ENABLE_GEOPACKAGE check_PROGRAMS += \ check_createBaseTables \ check_gpkgCreateTilesTable \ check_gpkgCreateTilesTableMissingSRID \ check_gpkgCreateTilesZoomLevel \ - check_gpkgInsertEpsgSRID check_gpkgMode \ + check_gpkgInsertEpsgSRID \ check_gpkgCreateFeaturesTable \ check_gpkg_base_core_container_data_file_format_application_id \ check_gpkg_base_core_spatial_ref_sys_data_table_def \ check_gpkg_base_core_spatial_ref_sys_data_values_default \ check_gpkg_base_core_contents_data_table_def \ @@ -99,22 +86,18 @@ check_gpkgConvert \ check_gpkgVirtual endif AM_CFLAGS = -I@srcdir@/../src/headers -I@srcdir@ - -if MINGW -AM_LDFLAGS = -L../src -lspatialite -lm -lxml2 $(GCOV_FLAGS) -else -AM_LDFLAGS = -L../src -lpthread -lspatialite -lm -lxml2 $(GCOV_FLAGS) -endif +AM_LDFLAGS = -L../src -lspatialite -lm $(GCOV_FLAGS) TESTS = $(check_PROGRAMS) MOSTLYCLEANFILES = *.gcna *.gcno *.gcda -EXTRA_DIST = fnmatch_impl4win.h \ +EXTRA_DIST = asprintf4win.h \ + fnmatch_impl4win.h \ fnmatch4win.h \ scandir4win.h \ test_helpers.h \ shapetest1.dbf \ shapetest1.prj \ @@ -125,11 +108,10 @@ WritingSQLTestCase.txt \ test-legacy-2.3.1.sqlite \ test-legacy-3.0.1.sqlite \ test-invalid.sqlite \ test_geos.sqlite \ - elba-sezcen.sqlite \ shp/new-caledonia/buildings.dbf \ shp/new-caledonia/buildings.prj \ shp/new-caledonia/buildings.shp \ shp/new-caledonia/buildings.shx \ shp/new-caledonia/points.dbf \ @@ -193,23 +175,13 @@ getcapabilities-1.0.0.wfs \ getcapabilities-1.1.0.wfs \ describefeaturetype.wfs \ 22.dxf f06.dxf l02.dxf p05.dxf \ archaic.dxf linked.dxf hatch.dxf \ - symbol.dxf gpkg_test.sqlite gpkg_test.gpkg \ - gpkg_test_broken.gpkg gpkg_test_extrasrid.gpkg \ - elba-pg.shp elba-pg.shx elba-pg.dbf \ - elba-ln.shp elba-ln.shx elba-ln.dbf \ - Gpx-sample.gpx 000323485.gpx + symbol.dxf gpkg_test.sqlite gpkg_test.gpkg SUBDIRS = sql_stmt_geosadvanced_tests sql_stmt_geos_tests \ - sql_stmt_libxml2_tests sql_stmt_rtgeom_tests \ + sql_stmt_libxml2_tests sql_stmt_lwgeom_tests \ sql_stmt_mathsql_tests sql_stmt_proj_tests \ - sql_stmt_proj492_tests sql_stmt_proj493_tests \ sql_stmt_security_tests sql_stmt_tests \ sql_stmt_xmlsec_tests sql_stmt_geopackage_tests \ - sql_stmt_freexl_tests sql_stmt_cache_tests \ - sql_stmt_nocache_tests sql_stmt_voronoj1_tests \ - sql_stmt_voronoj2_tests \ - sql_stmt_gpkg_epsg492_tests sql_stmt_gpkg_epsg493_tests \ - sql_stmt_rttopo_tests sql_stmt_gpkgcache_tests \ - sql_stmt_gpkgnocache_tests sql_stmt_sequence_tests + sql_stmt_freexl_tests Index: test/Makefile.in ================================================================== --- test/Makefile.in +++ test/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -112,23 +102,17 @@ check_geoscvt_fncts$(EXEEXT) check_libxml2$(EXEEXT) \ check_styling$(EXEEXT) check_virtualxpath$(EXEEXT) \ check_virtualbbox$(EXEEXT) check_wfsin$(EXEEXT) \ check_dxf$(EXEEXT) check_metacatalog$(EXEEXT) \ check_virtualelem$(EXEEXT) check_srid_fncts$(EXEEXT) \ - check_control_points$(EXEEXT) check_cutter$(EXEEXT) \ - check_topology2d$(EXEEXT) check_topology3d$(EXEEXT) \ - check_toponoface2d$(EXEEXT) check_topoplus$(EXEEXT) \ - check_toposnap$(EXEEXT) check_network2d$(EXEEXT) \ - check_network3d$(EXEEXT) check_network_log$(EXEEXT) \ - check_virtualknn$(EXEEXT) check_sequence$(EXEEXT) \ - check_wms$(EXEEXT) $(am__EXEEXT_1) + $(am__EXEEXT_1) @ENABLE_GEOPACKAGE_TRUE@am__append_1 = \ @ENABLE_GEOPACKAGE_TRUE@ check_createBaseTables \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgCreateTilesTable \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgCreateTilesTableMissingSRID \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgCreateTilesZoomLevel \ -@ENABLE_GEOPACKAGE_TRUE@ check_gpkgInsertEpsgSRID check_gpkgMode \ +@ENABLE_GEOPACKAGE_TRUE@ check_gpkgInsertEpsgSRID \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgCreateFeaturesTable \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkg_base_core_container_data_file_format_application_id \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkg_base_core_spatial_ref_sys_data_table_def \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkg_base_core_spatial_ref_sys_data_values_default \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkg_base_core_contents_data_table_def \ @@ -150,18 +134,19 @@ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgGetImageFormat_webp \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgConvert \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgVirtual subdir = test +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ + $(top_srcdir)/depcomp $(top_srcdir)/test-driver ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = @ENABLE_GEOPACKAGE_TRUE@am__EXEEXT_1 = \ @@ -168,11 +153,10 @@ @ENABLE_GEOPACKAGE_TRUE@ check_createBaseTables$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgCreateTilesTable$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgCreateTilesTableMissingSRID$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgCreateTilesZoomLevel$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgInsertEpsgSRID$(EXEEXT) \ -@ENABLE_GEOPACKAGE_TRUE@ check_gpkgMode$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkgCreateFeaturesTable$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkg_base_core_container_data_file_format_application_id$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkg_base_core_spatial_ref_sys_data_table_def$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkg_base_core_spatial_ref_sys_data_values_default$(EXEEXT) \ @ENABLE_GEOPACKAGE_TRUE@ check_gpkg_base_core_contents_data_table_def$(EXEEXT) \ @@ -210,22 +194,16 @@ check_bufovflw_OBJECTS = check_bufovflw.$(OBJEXT) check_bufovflw_LDADD = $(LDADD) check_clone_table_SOURCES = check_clone_table.c check_clone_table_OBJECTS = check_clone_table.$(OBJEXT) check_clone_table_LDADD = $(LDADD) -check_control_points_SOURCES = check_control_points.c -check_control_points_OBJECTS = check_control_points.$(OBJEXT) -check_control_points_LDADD = $(LDADD) check_create_SOURCES = check_create.c check_create_OBJECTS = check_create.$(OBJEXT) check_create_LDADD = $(LDADD) check_createBaseTables_SOURCES = check_createBaseTables.c check_createBaseTables_OBJECTS = check_createBaseTables.$(OBJEXT) check_createBaseTables_LDADD = $(LDADD) -check_cutter_SOURCES = check_cutter.c -check_cutter_OBJECTS = check_cutter.$(OBJEXT) -check_cutter_LDADD = $(LDADD) check_dbf_load_SOURCES = check_dbf_load.c check_dbf_load_OBJECTS = check_dbf_load.$(OBJEXT) check_dbf_load_LDADD = $(LDADD) check_dxf_SOURCES = check_dxf.c check_dxf_OBJECTS = check_dxf.$(OBJEXT) @@ -354,13 +332,10 @@ check_gpkgGetImageFormat_webp.$(OBJEXT) check_gpkgGetImageFormat_webp_LDADD = $(LDADD) check_gpkgInsertEpsgSRID_SOURCES = check_gpkgInsertEpsgSRID.c check_gpkgInsertEpsgSRID_OBJECTS = check_gpkgInsertEpsgSRID.$(OBJEXT) check_gpkgInsertEpsgSRID_LDADD = $(LDADD) -check_gpkgMode_SOURCES = check_gpkgMode.c -check_gpkgMode_OBJECTS = check_gpkgMode.$(OBJEXT) -check_gpkgMode_LDADD = $(LDADD) check_gpkgVirtual_SOURCES = check_gpkgVirtual.c check_gpkgVirtual_OBJECTS = check_gpkgVirtual.$(OBJEXT) check_gpkgVirtual_LDADD = $(LDADD) check_gpkg_base_core_container_data_file_format_application_id_SOURCES = check_gpkg_base_core_container_data_file_format_application_id.c check_gpkg_base_core_container_data_file_format_application_id_OBJECTS = check_gpkg_base_core_container_data_file_format_application_id.$(OBJEXT) @@ -407,28 +382,16 @@ check_metacatalog_OBJECTS = check_metacatalog.$(OBJEXT) check_metacatalog_LDADD = $(LDADD) check_multithread_SOURCES = check_multithread.c check_multithread_OBJECTS = check_multithread.$(OBJEXT) check_multithread_LDADD = $(LDADD) -check_network2d_SOURCES = check_network2d.c -check_network2d_OBJECTS = check_network2d.$(OBJEXT) -check_network2d_LDADD = $(LDADD) -check_network3d_SOURCES = check_network3d.c -check_network3d_OBJECTS = check_network3d.$(OBJEXT) -check_network3d_LDADD = $(LDADD) -check_network_log_SOURCES = check_network_log.c -check_network_log_OBJECTS = check_network_log.$(OBJEXT) -check_network_log_LDADD = $(LDADD) check_recover_geom_SOURCES = check_recover_geom.c check_recover_geom_OBJECTS = check_recover_geom.$(OBJEXT) check_recover_geom_LDADD = $(LDADD) check_relations_fncts_SOURCES = check_relations_fncts.c check_relations_fncts_OBJECTS = check_relations_fncts.$(OBJEXT) check_relations_fncts_LDADD = $(LDADD) -check_sequence_SOURCES = check_sequence.c -check_sequence_OBJECTS = check_sequence.$(OBJEXT) -check_sequence_LDADD = $(LDADD) check_shp_load_SOURCES = check_shp_load.c check_shp_load_OBJECTS = check_shp_load.$(OBJEXT) check_shp_load_LDADD = $(LDADD) check_shp_load_3d_SOURCES = check_shp_load_3d.c check_shp_load_3d_OBJECTS = check_shp_load_3d.$(OBJEXT) @@ -443,25 +406,10 @@ check_srid_fncts_OBJECTS = check_srid_fncts.$(OBJEXT) check_srid_fncts_LDADD = $(LDADD) check_styling_SOURCES = check_styling.c check_styling_OBJECTS = check_styling.$(OBJEXT) check_styling_LDADD = $(LDADD) -check_topology2d_SOURCES = check_topology2d.c -check_topology2d_OBJECTS = check_topology2d.$(OBJEXT) -check_topology2d_LDADD = $(LDADD) -check_topology3d_SOURCES = check_topology3d.c -check_topology3d_OBJECTS = check_topology3d.$(OBJEXT) -check_topology3d_LDADD = $(LDADD) -check_toponoface2d_SOURCES = check_toponoface2d.c -check_toponoface2d_OBJECTS = check_toponoface2d.$(OBJEXT) -check_toponoface2d_LDADD = $(LDADD) -check_topoplus_SOURCES = check_topoplus.c -check_topoplus_OBJECTS = check_topoplus.$(OBJEXT) -check_topoplus_LDADD = $(LDADD) -check_toposnap_SOURCES = check_toposnap.c -check_toposnap_OBJECTS = check_toposnap.$(OBJEXT) -check_toposnap_LDADD = $(LDADD) check_version_SOURCES = check_version.c check_version_OBJECTS = check_version.$(OBJEXT) check_version_LDADD = $(LDADD) check_virtual_ovflw_SOURCES = check_virtual_ovflw.c check_virtual_ovflw_OBJECTS = check_virtual_ovflw.$(OBJEXT) @@ -470,13 +418,10 @@ check_virtualbbox_OBJECTS = check_virtualbbox.$(OBJEXT) check_virtualbbox_LDADD = $(LDADD) check_virtualelem_SOURCES = check_virtualelem.c check_virtualelem_OBJECTS = check_virtualelem.$(OBJEXT) check_virtualelem_LDADD = $(LDADD) -check_virtualknn_SOURCES = check_virtualknn.c -check_virtualknn_OBJECTS = check_virtualknn.$(OBJEXT) -check_virtualknn_LDADD = $(LDADD) check_virtualtable1_SOURCES = check_virtualtable1.c check_virtualtable1_OBJECTS = check_virtualtable1.$(OBJEXT) check_virtualtable1_LDADD = $(LDADD) check_virtualtable2_SOURCES = check_virtualtable2.c check_virtualtable2_OBJECTS = check_virtualtable2.$(OBJEXT) @@ -497,13 +442,10 @@ check_virtualxpath_OBJECTS = check_virtualxpath.$(OBJEXT) check_virtualxpath_LDADD = $(LDADD) check_wfsin_SOURCES = check_wfsin.c check_wfsin_OBJECTS = check_wfsin.$(OBJEXT) check_wfsin_LDADD = $(LDADD) -check_wms_SOURCES = check_wms.c -check_wms_OBJECTS = check_wms.$(OBJEXT) -check_wms_LDADD = $(LDADD) check_xls_load_SOURCES = check_xls_load.c check_xls_load_OBJECTS = check_xls_load.$(OBJEXT) check_xls_load_LDADD = $(LDADD) shape_3d_SOURCES = shape_3d.c shape_3d_OBJECTS = shape_3d.$(OBJEXT) @@ -557,15 +499,14 @@ am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = check_add_tile_triggers.c \ check_add_tile_triggers_bad_table_name.c check_bufovflw.c \ - check_clone_table.c check_control_points.c check_create.c \ - check_createBaseTables.c check_cutter.c check_dbf_load.c \ - check_dxf.c check_endian.c check_exif.c check_exif2.c \ - check_extension.c check_extra_relations_fncts.c check_fdo1.c \ - check_fdo2.c check_fdo3.c check_fdo_bufovflw.c \ + check_clone_table.c check_create.c check_createBaseTables.c \ + check_dbf_load.c check_dxf.c check_endian.c check_exif.c \ + check_exif2.c check_extension.c check_extra_relations_fncts.c \ + check_fdo1.c check_fdo2.c check_fdo3.c check_fdo_bufovflw.c \ check_gaia_utf8.c check_gaia_util.c check_geom_aux.c \ check_geometry_cols.c check_geoscvt_fncts.c \ check_get_normal_row.c check_get_normal_row_bad_geopackage.c \ check_get_normal_row_bad_geopackage2.c check_get_normal_zoom.c \ check_get_normal_zoom_bad_geopackage.c \ @@ -576,39 +517,34 @@ check_gpkgCreateTilesZoomLevel.c check_gpkgGetImageFormat.c \ check_gpkgGetImageFormat_nonblob.c \ check_gpkgGetImageFormat_nonimage.c \ check_gpkgGetImageFormat_png.c check_gpkgGetImageFormat_tiff.c \ check_gpkgGetImageFormat_webp.c check_gpkgInsertEpsgSRID.c \ - check_gpkgMode.c check_gpkgVirtual.c \ + check_gpkgVirtual.c \ check_gpkg_base_core_container_data_file_format_application_id.c \ check_gpkg_base_core_contents_data_table_def.c \ check_gpkg_base_core_spatial_ref_sys_data_table_def.c \ check_gpkg_base_core_spatial_ref_sys_data_values_default.c \ check_gpkg_opt_extension_mechanism_extensions_data_table_def.c \ check_init.c check_init2.c check_libxml2.c check_math_funcs.c \ check_mbrcache.c check_md5.c check_metacatalog.c \ - check_multithread.c check_network2d.c check_network3d.c \ - check_network_log.c check_recover_geom.c \ - check_relations_fncts.c check_sequence.c check_shp_load.c \ - check_shp_load_3d.c check_spatialindex.c check_sql_stmt.c \ - check_srid_fncts.c check_styling.c check_topology2d.c \ - check_topology3d.c check_toponoface2d.c check_topoplus.c \ - check_toposnap.c check_version.c check_virtual_ovflw.c \ - check_virtualbbox.c check_virtualelem.c check_virtualknn.c \ - check_virtualtable1.c check_virtualtable2.c \ - check_virtualtable3.c check_virtualtable4.c \ - check_virtualtable5.c check_virtualtable6.c \ - check_virtualxpath.c check_wfsin.c check_wms.c \ + check_multithread.c check_recover_geom.c \ + check_relations_fncts.c check_shp_load.c check_shp_load_3d.c \ + check_spatialindex.c check_sql_stmt.c check_srid_fncts.c \ + check_styling.c check_version.c check_virtual_ovflw.c \ + check_virtualbbox.c check_virtualelem.c check_virtualtable1.c \ + check_virtualtable2.c check_virtualtable3.c \ + check_virtualtable4.c check_virtualtable5.c \ + check_virtualtable6.c check_virtualxpath.c check_wfsin.c \ check_xls_load.c shape_3d.c shape_cp1252.c shape_primitives.c \ shape_utf8_1.c shape_utf8_1ex.c shape_utf8_2.c DIST_SOURCES = check_add_tile_triggers.c \ check_add_tile_triggers_bad_table_name.c check_bufovflw.c \ - check_clone_table.c check_control_points.c check_create.c \ - check_createBaseTables.c check_cutter.c check_dbf_load.c \ - check_dxf.c check_endian.c check_exif.c check_exif2.c \ - check_extension.c check_extra_relations_fncts.c check_fdo1.c \ - check_fdo2.c check_fdo3.c check_fdo_bufovflw.c \ + check_clone_table.c check_create.c check_createBaseTables.c \ + check_dbf_load.c check_dxf.c check_endian.c check_exif.c \ + check_exif2.c check_extension.c check_extra_relations_fncts.c \ + check_fdo1.c check_fdo2.c check_fdo3.c check_fdo_bufovflw.c \ check_gaia_utf8.c check_gaia_util.c check_geom_aux.c \ check_geometry_cols.c check_geoscvt_fncts.c \ check_get_normal_row.c check_get_normal_row_bad_geopackage.c \ check_get_normal_row_bad_geopackage2.c check_get_normal_zoom.c \ check_get_normal_zoom_bad_geopackage.c \ @@ -619,30 +555,26 @@ check_gpkgCreateTilesZoomLevel.c check_gpkgGetImageFormat.c \ check_gpkgGetImageFormat_nonblob.c \ check_gpkgGetImageFormat_nonimage.c \ check_gpkgGetImageFormat_png.c check_gpkgGetImageFormat_tiff.c \ check_gpkgGetImageFormat_webp.c check_gpkgInsertEpsgSRID.c \ - check_gpkgMode.c check_gpkgVirtual.c \ + check_gpkgVirtual.c \ check_gpkg_base_core_container_data_file_format_application_id.c \ check_gpkg_base_core_contents_data_table_def.c \ check_gpkg_base_core_spatial_ref_sys_data_table_def.c \ check_gpkg_base_core_spatial_ref_sys_data_values_default.c \ check_gpkg_opt_extension_mechanism_extensions_data_table_def.c \ check_init.c check_init2.c check_libxml2.c check_math_funcs.c \ check_mbrcache.c check_md5.c check_metacatalog.c \ - check_multithread.c check_network2d.c check_network3d.c \ - check_network_log.c check_recover_geom.c \ - check_relations_fncts.c check_sequence.c check_shp_load.c \ - check_shp_load_3d.c check_spatialindex.c check_sql_stmt.c \ - check_srid_fncts.c check_styling.c check_topology2d.c \ - check_topology3d.c check_toponoface2d.c check_topoplus.c \ - check_toposnap.c check_version.c check_virtual_ovflw.c \ - check_virtualbbox.c check_virtualelem.c check_virtualknn.c \ - check_virtualtable1.c check_virtualtable2.c \ - check_virtualtable3.c check_virtualtable4.c \ - check_virtualtable5.c check_virtualtable6.c \ - check_virtualxpath.c check_wfsin.c check_wms.c \ + check_multithread.c check_recover_geom.c \ + check_relations_fncts.c check_shp_load.c check_shp_load_3d.c \ + check_spatialindex.c check_sql_stmt.c check_srid_fncts.c \ + check_styling.c check_version.c check_virtual_ovflw.c \ + check_virtualbbox.c check_virtualelem.c check_virtualtable1.c \ + check_virtualtable2.c check_virtualtable3.c \ + check_virtualtable4.c check_virtualtable5.c \ + check_virtualtable6.c check_virtualxpath.c check_wfsin.c \ check_xls_load.c shape_3d.c shape_cp1252.c shape_primitives.c \ shape_utf8_1.c shape_utf8_1ex.c shape_utf8_2.c RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ @@ -885,12 +817,10 @@ TEST_LOGS = $(am__test_logs2:.test.log=.log) TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \ $(TEST_LOG_FLAGS) DIST_SUBDIRS = $(SUBDIRS) -am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \ - $(top_srcdir)/test-driver DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ @@ -1044,15 +974,15 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = @CFLAGS@ @GEOS_CFLAGS@ @LIBXML2_CFLAGS@ AM_CFLAGS = -I@srcdir@/../src/headers -I@srcdir@ -@MINGW_FALSE@AM_LDFLAGS = -L../src -lpthread -lspatialite -lm -lxml2 $(GCOV_FLAGS) -@MINGW_TRUE@AM_LDFLAGS = -L../src -lspatialite -lm -lxml2 $(GCOV_FLAGS) +AM_LDFLAGS = -L../src -lspatialite -lm $(GCOV_FLAGS) TESTS = $(check_PROGRAMS) MOSTLYCLEANFILES = *.gcna *.gcno *.gcda -EXTRA_DIST = fnmatch_impl4win.h \ +EXTRA_DIST = asprintf4win.h \ + fnmatch_impl4win.h \ fnmatch4win.h \ scandir4win.h \ test_helpers.h \ shapetest1.dbf \ shapetest1.prj \ @@ -1063,11 +993,10 @@ WritingSQLTestCase.txt \ test-legacy-2.3.1.sqlite \ test-legacy-3.0.1.sqlite \ test-invalid.sqlite \ test_geos.sqlite \ - elba-sezcen.sqlite \ shp/new-caledonia/buildings.dbf \ shp/new-caledonia/buildings.prj \ shp/new-caledonia/buildings.shp \ shp/new-caledonia/buildings.shx \ shp/new-caledonia/points.dbf \ @@ -1131,28 +1060,18 @@ getcapabilities-1.0.0.wfs \ getcapabilities-1.1.0.wfs \ describefeaturetype.wfs \ 22.dxf f06.dxf l02.dxf p05.dxf \ archaic.dxf linked.dxf hatch.dxf \ - symbol.dxf gpkg_test.sqlite gpkg_test.gpkg \ - gpkg_test_broken.gpkg gpkg_test_extrasrid.gpkg \ - elba-pg.shp elba-pg.shx elba-pg.dbf \ - elba-ln.shp elba-ln.shx elba-ln.dbf \ - Gpx-sample.gpx 000323485.gpx + symbol.dxf gpkg_test.sqlite gpkg_test.gpkg SUBDIRS = sql_stmt_geosadvanced_tests sql_stmt_geos_tests \ - sql_stmt_libxml2_tests sql_stmt_rtgeom_tests \ + sql_stmt_libxml2_tests sql_stmt_lwgeom_tests \ sql_stmt_mathsql_tests sql_stmt_proj_tests \ - sql_stmt_proj492_tests sql_stmt_proj493_tests \ sql_stmt_security_tests sql_stmt_tests \ sql_stmt_xmlsec_tests sql_stmt_geopackage_tests \ - sql_stmt_freexl_tests sql_stmt_cache_tests \ - sql_stmt_nocache_tests sql_stmt_voronoj1_tests \ - sql_stmt_voronoj2_tests \ - sql_stmt_gpkg_epsg492_tests sql_stmt_gpkg_epsg493_tests \ - sql_stmt_rttopo_tests sql_stmt_gpkgcache_tests \ - sql_stmt_gpkgnocache_tests sql_stmt_sequence_tests + sql_stmt_freexl_tests all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs @@ -1166,10 +1085,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -1209,26 +1129,18 @@ check_clone_table$(EXEEXT): $(check_clone_table_OBJECTS) $(check_clone_table_DEPENDENCIES) $(EXTRA_check_clone_table_DEPENDENCIES) @rm -f check_clone_table$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_clone_table_OBJECTS) $(check_clone_table_LDADD) $(LIBS) -check_control_points$(EXEEXT): $(check_control_points_OBJECTS) $(check_control_points_DEPENDENCIES) $(EXTRA_check_control_points_DEPENDENCIES) - @rm -f check_control_points$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_control_points_OBJECTS) $(check_control_points_LDADD) $(LIBS) - check_create$(EXEEXT): $(check_create_OBJECTS) $(check_create_DEPENDENCIES) $(EXTRA_check_create_DEPENDENCIES) @rm -f check_create$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_create_OBJECTS) $(check_create_LDADD) $(LIBS) check_createBaseTables$(EXEEXT): $(check_createBaseTables_OBJECTS) $(check_createBaseTables_DEPENDENCIES) $(EXTRA_check_createBaseTables_DEPENDENCIES) @rm -f check_createBaseTables$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_createBaseTables_OBJECTS) $(check_createBaseTables_LDADD) $(LIBS) -check_cutter$(EXEEXT): $(check_cutter_OBJECTS) $(check_cutter_DEPENDENCIES) $(EXTRA_check_cutter_DEPENDENCIES) - @rm -f check_cutter$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_cutter_OBJECTS) $(check_cutter_LDADD) $(LIBS) - check_dbf_load$(EXEEXT): $(check_dbf_load_OBJECTS) $(check_dbf_load_DEPENDENCIES) $(EXTRA_check_dbf_load_DEPENDENCIES) @rm -f check_dbf_load$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_dbf_load_OBJECTS) $(check_dbf_load_LDADD) $(LIBS) check_dxf$(EXEEXT): $(check_dxf_OBJECTS) $(check_dxf_DEPENDENCIES) $(EXTRA_check_dxf_DEPENDENCIES) @@ -1365,14 +1277,10 @@ check_gpkgInsertEpsgSRID$(EXEEXT): $(check_gpkgInsertEpsgSRID_OBJECTS) $(check_gpkgInsertEpsgSRID_DEPENDENCIES) $(EXTRA_check_gpkgInsertEpsgSRID_DEPENDENCIES) @rm -f check_gpkgInsertEpsgSRID$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_gpkgInsertEpsgSRID_OBJECTS) $(check_gpkgInsertEpsgSRID_LDADD) $(LIBS) -check_gpkgMode$(EXEEXT): $(check_gpkgMode_OBJECTS) $(check_gpkgMode_DEPENDENCIES) $(EXTRA_check_gpkgMode_DEPENDENCIES) - @rm -f check_gpkgMode$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_gpkgMode_OBJECTS) $(check_gpkgMode_LDADD) $(LIBS) - check_gpkgVirtual$(EXEEXT): $(check_gpkgVirtual_OBJECTS) $(check_gpkgVirtual_DEPENDENCIES) $(EXTRA_check_gpkgVirtual_DEPENDENCIES) @rm -f check_gpkgVirtual$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_gpkgVirtual_OBJECTS) $(check_gpkgVirtual_LDADD) $(LIBS) check_gpkg_base_core_container_data_file_format_application_id$(EXEEXT): $(check_gpkg_base_core_container_data_file_format_application_id_OBJECTS) $(check_gpkg_base_core_container_data_file_format_application_id_DEPENDENCIES) $(EXTRA_check_gpkg_base_core_container_data_file_format_application_id_DEPENDENCIES) @@ -1425,34 +1333,18 @@ check_multithread$(EXEEXT): $(check_multithread_OBJECTS) $(check_multithread_DEPENDENCIES) $(EXTRA_check_multithread_DEPENDENCIES) @rm -f check_multithread$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_multithread_OBJECTS) $(check_multithread_LDADD) $(LIBS) -check_network2d$(EXEEXT): $(check_network2d_OBJECTS) $(check_network2d_DEPENDENCIES) $(EXTRA_check_network2d_DEPENDENCIES) - @rm -f check_network2d$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_network2d_OBJECTS) $(check_network2d_LDADD) $(LIBS) - -check_network3d$(EXEEXT): $(check_network3d_OBJECTS) $(check_network3d_DEPENDENCIES) $(EXTRA_check_network3d_DEPENDENCIES) - @rm -f check_network3d$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_network3d_OBJECTS) $(check_network3d_LDADD) $(LIBS) - -check_network_log$(EXEEXT): $(check_network_log_OBJECTS) $(check_network_log_DEPENDENCIES) $(EXTRA_check_network_log_DEPENDENCIES) - @rm -f check_network_log$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_network_log_OBJECTS) $(check_network_log_LDADD) $(LIBS) - check_recover_geom$(EXEEXT): $(check_recover_geom_OBJECTS) $(check_recover_geom_DEPENDENCIES) $(EXTRA_check_recover_geom_DEPENDENCIES) @rm -f check_recover_geom$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_recover_geom_OBJECTS) $(check_recover_geom_LDADD) $(LIBS) check_relations_fncts$(EXEEXT): $(check_relations_fncts_OBJECTS) $(check_relations_fncts_DEPENDENCIES) $(EXTRA_check_relations_fncts_DEPENDENCIES) @rm -f check_relations_fncts$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_relations_fncts_OBJECTS) $(check_relations_fncts_LDADD) $(LIBS) -check_sequence$(EXEEXT): $(check_sequence_OBJECTS) $(check_sequence_DEPENDENCIES) $(EXTRA_check_sequence_DEPENDENCIES) - @rm -f check_sequence$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_sequence_OBJECTS) $(check_sequence_LDADD) $(LIBS) - check_shp_load$(EXEEXT): $(check_shp_load_OBJECTS) $(check_shp_load_DEPENDENCIES) $(EXTRA_check_shp_load_DEPENDENCIES) @rm -f check_shp_load$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_shp_load_OBJECTS) $(check_shp_load_LDADD) $(LIBS) check_shp_load_3d$(EXEEXT): $(check_shp_load_3d_OBJECTS) $(check_shp_load_3d_DEPENDENCIES) $(EXTRA_check_shp_load_3d_DEPENDENCIES) @@ -1473,30 +1365,10 @@ check_styling$(EXEEXT): $(check_styling_OBJECTS) $(check_styling_DEPENDENCIES) $(EXTRA_check_styling_DEPENDENCIES) @rm -f check_styling$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_styling_OBJECTS) $(check_styling_LDADD) $(LIBS) -check_topology2d$(EXEEXT): $(check_topology2d_OBJECTS) $(check_topology2d_DEPENDENCIES) $(EXTRA_check_topology2d_DEPENDENCIES) - @rm -f check_topology2d$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_topology2d_OBJECTS) $(check_topology2d_LDADD) $(LIBS) - -check_topology3d$(EXEEXT): $(check_topology3d_OBJECTS) $(check_topology3d_DEPENDENCIES) $(EXTRA_check_topology3d_DEPENDENCIES) - @rm -f check_topology3d$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_topology3d_OBJECTS) $(check_topology3d_LDADD) $(LIBS) - -check_toponoface2d$(EXEEXT): $(check_toponoface2d_OBJECTS) $(check_toponoface2d_DEPENDENCIES) $(EXTRA_check_toponoface2d_DEPENDENCIES) - @rm -f check_toponoface2d$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_toponoface2d_OBJECTS) $(check_toponoface2d_LDADD) $(LIBS) - -check_topoplus$(EXEEXT): $(check_topoplus_OBJECTS) $(check_topoplus_DEPENDENCIES) $(EXTRA_check_topoplus_DEPENDENCIES) - @rm -f check_topoplus$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_topoplus_OBJECTS) $(check_topoplus_LDADD) $(LIBS) - -check_toposnap$(EXEEXT): $(check_toposnap_OBJECTS) $(check_toposnap_DEPENDENCIES) $(EXTRA_check_toposnap_DEPENDENCIES) - @rm -f check_toposnap$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_toposnap_OBJECTS) $(check_toposnap_LDADD) $(LIBS) - check_version$(EXEEXT): $(check_version_OBJECTS) $(check_version_DEPENDENCIES) $(EXTRA_check_version_DEPENDENCIES) @rm -f check_version$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_version_OBJECTS) $(check_version_LDADD) $(LIBS) check_virtual_ovflw$(EXEEXT): $(check_virtual_ovflw_OBJECTS) $(check_virtual_ovflw_DEPENDENCIES) $(EXTRA_check_virtual_ovflw_DEPENDENCIES) @@ -1509,14 +1381,10 @@ check_virtualelem$(EXEEXT): $(check_virtualelem_OBJECTS) $(check_virtualelem_DEPENDENCIES) $(EXTRA_check_virtualelem_DEPENDENCIES) @rm -f check_virtualelem$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_virtualelem_OBJECTS) $(check_virtualelem_LDADD) $(LIBS) -check_virtualknn$(EXEEXT): $(check_virtualknn_OBJECTS) $(check_virtualknn_DEPENDENCIES) $(EXTRA_check_virtualknn_DEPENDENCIES) - @rm -f check_virtualknn$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_virtualknn_OBJECTS) $(check_virtualknn_LDADD) $(LIBS) - check_virtualtable1$(EXEEXT): $(check_virtualtable1_OBJECTS) $(check_virtualtable1_DEPENDENCIES) $(EXTRA_check_virtualtable1_DEPENDENCIES) @rm -f check_virtualtable1$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_virtualtable1_OBJECTS) $(check_virtualtable1_LDADD) $(LIBS) check_virtualtable2$(EXEEXT): $(check_virtualtable2_OBJECTS) $(check_virtualtable2_DEPENDENCIES) $(EXTRA_check_virtualtable2_DEPENDENCIES) @@ -1545,14 +1413,10 @@ check_wfsin$(EXEEXT): $(check_wfsin_OBJECTS) $(check_wfsin_DEPENDENCIES) $(EXTRA_check_wfsin_DEPENDENCIES) @rm -f check_wfsin$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_wfsin_OBJECTS) $(check_wfsin_LDADD) $(LIBS) -check_wms$(EXEEXT): $(check_wms_OBJECTS) $(check_wms_DEPENDENCIES) $(EXTRA_check_wms_DEPENDENCIES) - @rm -f check_wms$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(check_wms_OBJECTS) $(check_wms_LDADD) $(LIBS) - check_xls_load$(EXEEXT): $(check_xls_load_OBJECTS) $(check_xls_load_DEPENDENCIES) $(EXTRA_check_xls_load_DEPENDENCIES) @rm -f check_xls_load$(EXEEXT) $(AM_V_CCLD)$(LINK) $(check_xls_load_OBJECTS) $(check_xls_load_LDADD) $(LIBS) shape_3d$(EXEEXT): $(shape_3d_OBJECTS) $(shape_3d_DEPENDENCIES) $(EXTRA_shape_3d_DEPENDENCIES) @@ -1587,14 +1451,12 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_add_tile_triggers.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_add_tile_triggers_bad_table_name.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_bufovflw.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_clone_table.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_control_points.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_create.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_createBaseTables.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_cutter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_dbf_load.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_dxf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_endian.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_exif.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_exif2.Po@am__quote@ @@ -1626,11 +1488,10 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkgGetImageFormat_nonimage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkgGetImageFormat_png.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkgGetImageFormat_tiff.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkgGetImageFormat_webp.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkgInsertEpsgSRID.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkgMode.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkgVirtual.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkg_base_core_container_data_file_format_application_id.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkg_base_core_contents_data_table_def.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkg_base_core_spatial_ref_sys_data_table_def.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_gpkg_base_core_spatial_ref_sys_data_values_default.Po@am__quote@ @@ -1641,41 +1502,30 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_math_funcs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_mbrcache.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_metacatalog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_multithread.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_network2d.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_network3d.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_network_log.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_recover_geom.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_relations_fncts.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sequence.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_shp_load.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_shp_load_3d.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_spatialindex.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_sql_stmt.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_srid_fncts.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_styling.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_topology2d.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_topology3d.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_toponoface2d.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_topoplus.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_toposnap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_version.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtual_ovflw.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualbbox.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualelem.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualknn.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualtable1.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualtable2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualtable3.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualtable4.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualtable5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualtable6.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_virtualxpath.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_wfsin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_wms.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/check_xls_load.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shape_3d.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shape_cp1252.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shape_primitives.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shape_utf8_1.Po@am__quote@ @@ -1836,11 +1686,11 @@ fi; \ fi; \ if test -n "$$am__remaking_logs"; then \ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \ "recursion detected" >&2; \ - elif test -n "$$redo_logs"; then \ + else \ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \ fi; \ if $(am__make_dryrun); then :; else \ st=0; \ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ @@ -2325,101 +2175,10 @@ b='check_srid_fncts'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) -check_control_points.log: check_control_points$(EXEEXT) - @p='check_control_points$(EXEEXT)'; \ - b='check_control_points'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_cutter.log: check_cutter$(EXEEXT) - @p='check_cutter$(EXEEXT)'; \ - b='check_cutter'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_topology2d.log: check_topology2d$(EXEEXT) - @p='check_topology2d$(EXEEXT)'; \ - b='check_topology2d'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_topology3d.log: check_topology3d$(EXEEXT) - @p='check_topology3d$(EXEEXT)'; \ - b='check_topology3d'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_toponoface2d.log: check_toponoface2d$(EXEEXT) - @p='check_toponoface2d$(EXEEXT)'; \ - b='check_toponoface2d'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_topoplus.log: check_topoplus$(EXEEXT) - @p='check_topoplus$(EXEEXT)'; \ - b='check_topoplus'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_toposnap.log: check_toposnap$(EXEEXT) - @p='check_toposnap$(EXEEXT)'; \ - b='check_toposnap'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_network2d.log: check_network2d$(EXEEXT) - @p='check_network2d$(EXEEXT)'; \ - b='check_network2d'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_network3d.log: check_network3d$(EXEEXT) - @p='check_network3d$(EXEEXT)'; \ - b='check_network3d'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_network_log.log: check_network_log$(EXEEXT) - @p='check_network_log$(EXEEXT)'; \ - b='check_network_log'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_virtualknn.log: check_virtualknn$(EXEEXT) - @p='check_virtualknn$(EXEEXT)'; \ - b='check_virtualknn'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_sequence.log: check_sequence$(EXEEXT) - @p='check_sequence$(EXEEXT)'; \ - b='check_sequence'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_wms.log: check_wms$(EXEEXT) - @p='check_wms$(EXEEXT)'; \ - b='check_wms'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) check_createBaseTables.log: check_createBaseTables$(EXEEXT) @p='check_createBaseTables$(EXEEXT)'; \ b='check_createBaseTables'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ @@ -2447,17 +2206,10 @@ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) check_gpkgInsertEpsgSRID.log: check_gpkgInsertEpsgSRID$(EXEEXT) @p='check_gpkgInsertEpsgSRID$(EXEEXT)'; \ b='check_gpkgInsertEpsgSRID'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) -check_gpkgMode.log: check_gpkgMode$(EXEEXT) - @p='check_gpkgMode$(EXEEXT)'; \ - b='check_gpkgMode'; \ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ --log-file $$b.log --trs-file $$b.trs \ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ "$$tst" $(AM_TESTS_FD_REDIRECT) check_gpkgCreateFeaturesTable.log: check_gpkgCreateFeaturesTable$(EXEEXT) @@ -2818,11 +2570,9 @@ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am recheck tags tags-am \ uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: test/WritingSQLTestCase.txt ================================================================== --- test/WritingSQLTestCase.txt +++ test/WritingSQLTestCase.txt @@ -3,14 +3,15 @@ This probably requires that you're using the "autoconf" build system at the moment. This is the case if you're running on Linux or some other Unix variant, including Mac OS X. It is the case for some kinds of Windows builds too (using MinGW / MSYS). -I assume that you're mostly OK with building from fossil. If not, start -at http://www.gaia-gis.it/gaia-sins/about-fossil.html. There are detailed -build instructions linked off http://www.gaia-gis.it/gaia-sins/ for each -major platform. +I assume that you're mostly OK with building from subversion. If not, start +at http://www.gaia-gis.it/spatialite/sources.html. Make sure you read +Sandro's "short note" - it is at +http://www.gaia-gis.it/spatialite/how_to_build_libspatialite.html +if you missed it. Make sure you have all the dependencies. It is a bit of work but it will pay off in the long run. Once you've got that far, its time to start with the testing. @@ -17,21 +18,13 @@ Step 1. Just get the tests building. If you're in the build directory (i.e. where you ran the "./configure" and "make" steps), you should be able to run "make check" and have the tests build and run. Towards the end, it should report something like: -============================================================================ -Testsuite summary for libspatialite 4.3.0-devel -============================================================================ -# TOTAL: 83 -# PASS: 83 -# SKIP: 0 -# XFAIL: 0 -# FAIL: 0 -# XPASS: 0 -# ERROR: 0 -============================================================================ +=================== +All 15 tests passed +=================== If any of them fail, please let us know ASAP. Step 2. After that works, its time to set up the coverage testing. Obviously we want to understand which code isn't being tested, then write a test to check ADDED test/asprintf4win.h Index: test/asprintf4win.h ================================================================== --- test/asprintf4win.h +++ test/asprintf4win.h @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2001 Federico Di Gregorio + * Copyright (C) 1991, 1994-1999, 2000, 2001 Free Software Foundation, Inc. + * + * This code has been derived from an example in the glibc2 documentation. + * This file is part of the psycopg module. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2, + * or (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* + * asprintf.c -- asprintf() implementation for braindamaged operating systems + * $Id: asprintf.c 554 2004-10-30 00:19:27Z fog $ + */ + +#ifndef _WIN32 +#include +#endif +#include +#include +#ifndef _WIN32 +#include +#endif +#include + +#ifdef _WIN32 +#define vsnprintf _vsnprintf +#endif + +int +asprintf (char **buffer, char *fmt, ...) +{ + /* Guess we need no more than 200 chars of space. */ + int size = 200; + int nchars; + va_list ap; + + *buffer = (char *) malloc (size); + if (*buffer == NULL) + return -1; + + /* Try to print in the allocated space. */ + va_start (ap, fmt); + nchars = vsnprintf (*buffer, size, fmt, ap); + va_end (ap); + + if (nchars >= size) + { + char *tmpbuff; + /* Reallocate buffer now that we know how much space is needed. */ + size = nchars + 1; + tmpbuff = (char *) realloc (*buffer, size); + + + if (tmpbuff == NULL) + { /* we need to free it */ + free (*buffer); + return -1; + } + + *buffer = tmpbuff; + /* Try again. */ + va_start (ap, fmt); + nchars = vsnprintf (*buffer, size, fmt, ap); + va_end (ap); + } + + if (nchars < 0) + return nchars; + return size; +} Index: test/check_bufovflw.c ================================================================== --- test/check_bufovflw.c +++ test/check_bufovflw.c @@ -86,10 +86,11 @@ char *shape2; char *shape2geom; char *dbf; char *table_a; char *table_b; + char *topology; char *auth; #ifndef OMIT_PROJ /* including PROJ.4 */ char *kml1; char *kml2; #endif /* end including PROJ.4 */ @@ -148,10 +149,11 @@ shape = sqlite3_mprintf ("shape_table_%s", suffix); dbf = sqlite3_mprintf ("dbf_tbale_%s", suffix); pk = sqlite3_mprintf ("id_%s", suffix); name = sqlite3_mprintf ("name_%s", suffix); geom = sqlite3_mprintf ("geom_%s", suffix); + topology = sqlite3_mprintf ("topology_%s_", suffix); /* creating table "A" */ sql = sqlite3_mprintf ("CREATE TABLE %s (\n" "%s INTEGER NOT NULL PRIMARY KEY,\n" "%s TEXT NOT NULL)", table_a, pk, name); @@ -832,15 +834,45 @@ results[1]); return -60; } sqlite3_free_table (results); +/* creating a topology */ + sql = + sqlite3_mprintf ("SELECT CreateTopologyTables(%Q, 4326, 'XY')", + topology); + ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg); + sqlite3_free (sql); + if (ret != SQLITE_OK) + { + fprintf (stderr, "CreateTopologyTables error: %s\n", err_msg); + sqlite3_free (err_msg); + sqlite3_close (handle); + return -61; + } + if (rows != 1 || columns != 1) + { + fprintf (stderr, + "Unexpected rows/columns (CreateTopologyTables): r=%d c=%d\n", + rows, columns); + return -62; + } + value = results[1]; + if (strcmp ("1", value) != 0) + { + fprintf (stderr, "Unexpected result (CreateTopologyTables): %s\n", + results[1]); + return -63; + } + sqlite3_free_table (results); + sqlite3_free (table_a); sqlite3_free (table_b); sqlite3_free (pk); sqlite3_free (name); sqlite3_free (geom); + sqlite3_free (topology); /* inserting a CRS (very long auth) */ auth = sqlite3_mprintf ("authority_%s", suffix); sql = sqlite3_mprintf @@ -855,11 +887,11 @@ sqlite3_free (err_msg); sqlite3_close (handle); return -64; } -#ifndef OMIT_EPSG /* only if full EPSG support is enabled */ +#ifndef OMIT_EPSG /* only if full EPSG support is enabled */ /* checking for validity (SRID from Auth) */ sql = sqlite3_mprintf ("SELECT SridFromAuthCrs(%Q, %d)", auth, 1122); ret = sqlite3_get_table (handle, sql, &results, &rows, &columns, &err_msg); sqlite3_free (sql); if (ret != SQLITE_OK) DELETED test/check_control_points.c Index: test/check_control_points.c ================================================================== --- test/check_control_points.c +++ test/check_control_points.c @@ -1,912 +0,0 @@ -/* - - check_contro_points.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): -Brad Hards - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -test_query (sqlite3 * sqlite, const char *sql, const char *expected) -{ -/* testing some SQL query */ - int ret; - sqlite3_stmt *stmt = NULL; - - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "%s\n: \"%s\"\n", sql, sqlite3_errmsg (sqlite)); - return 0; - } - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - const char *value; - if (sqlite3_column_type (stmt, 0) == SQLITE_NULL) - { - if (expected == NULL) - continue; - else - { - fprintf (stderr, - "Unexpected NULL result\nExpected: %s\n", - expected); - goto error; - } - } - value = (const char *) sqlite3_column_text (stmt, 0); - if (expected == NULL) - { - fprintf (stderr, "Unexpected result %s\nExpected: NULL\n", - value); - goto error; - } - if (strcasecmp (value, expected) != 0) - { - fprintf (stderr, "Unexpected result %s\nExpected: %s\n", - value, expected); - goto error; - } - } - else - goto error; - } - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -static int -test_transform (sqlite3 * handle, int order) -{ -/* testing GCP_Transform */ - char *sql; - int ret; - -/* resolving Control Points 2D - CGP_Transform XY */ - sql = sqlite3_mprintf ("SELECT AsText(GCP_Transform(g.geometry, b.gcp)) " - "FROM test_xy AS g, " - "(SELECT GCP_Compute(a.geometry, b.geometry, %d) AS gcp " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b", - order); - ret = - test_query (handle, sql, - "GEOMETRYCOLLECTION(POINT(-161 -64), LINESTRING(-160 -63, -159 -62), " - "POLYGON((-151 -54, -141 -54, -141 -44, -151 -44, -151 -54), " - "(-147 -50, -145 -50, -145 -48, -147 -48, -147 -50)))"); - sqlite3_free (sql); - if (!ret) - return 0; - -/* resolving Control Points 2D - CGP_Transform XYM */ - sql = sqlite3_mprintf ("SELECT AsText(GCP_Transform(g.geometry, b.gcp)) " - "FROM test_xym AS g, " - "(SELECT GCP_Compute(a.geometry, b.geometry, %d) AS gcp " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b", - order); - ret = - test_query (handle, sql, - "GEOMETRYCOLLECTION M(POINT M(-161 -64 1), " - "LINESTRING M(-160 -63 1, -159 -62 3), " - "POLYGON M((-151 -54 1, -141 -54 2, -141 -44 3, -151 -44 2, -151 -54 1), " - "(-147 -50 1, -145 -50 2, -145 -48 2, -147 -48 2, -147 -50 1)))"); - sqlite3_free (sql); - if (!ret) - return 0; - -/* resolving Control Points 3D - CGP_Transform XYZ */ - sql = - sqlite3_mprintf - ("SELECT IsValid(GCP_Transform(g.geometry, b.gcp)) " - "FROM test_xyz AS g, " - "(SELECT GCP_Compute(a.geometry, b.geometry, %d) AS gcp " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b", - order); - ret = test_query (handle, sql, "1"); - sqlite3_free (sql); - if (!ret) - return 0; - -/* resolving Control Points 3D - CGP_Transform XYZM */ - sql = - sqlite3_mprintf - ("SELECT IsValid(GCP_Transform(g.geometry, b.gcp)) " - "FROM test_xyzm AS g, " - "(SELECT GCP_Compute(a.geometry, b.geometry, %d) AS gcp " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b", - order); - ret = test_query (handle, sql, "1"); - sqlite3_free (sql); - if (!ret) - return 0; - - return 1; -} - -static int -test_invalid (sqlite3 * handle) -{ -/* testing invalid calls */ - const char *sql; - - sql = "SELECT GCP_Compute(NULL, GeomFromText('POINT(1 1)'))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), NULL)"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = - "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINT(2 2)'), NULL)"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = - "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINT(2 2)'), -1)"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = - "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINT(2 2)'), 4)"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = - "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINTZ(2 2 2)'))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = - "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('POINT(2 2)'))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = - "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), GeomFromText('LINESTRING(2 2, 3 2)'))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = - "SELECT GCP_Compute(GeomFromText('LINESTRING(2 2, 3 2)'), GeomFromText('POINT(1 1)'))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), NULL)"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Compute(GeomFromText('POINT(1 1)'), zeroblob(10))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Transform(NULL, b.gcp) " - "FROM (SELECT GCP_Compute(a.geometry, b.geometry) AS gcp " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Transform(zeroblob(10), b.gcp) " - "FROM (SELECT GCP_Compute(a.geometry, b.geometry) AS gcp " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Transform(GeomFromText('POINT(1 1)'), zeroblob(4))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_IsValid(NULL)"; - if (!test_query (handle, sql, "-1")) - return 0; - sql = "SELECT GCP_IsValid(zeroblob(0))"; - if (!test_query (handle, sql, "0")) - return 0; - sql = "SELECT GCP_AsText(NULL)"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_AsText(zeroblob(0))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Transform(GeomFromText('POINT(1 1)'), b.gcp, 1.0) " - "FROM (SELECT GCP_Compute(a.geometry, b.geometry) AS gcp " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Transform(zeroblob(4), b.gcp, 32632) " - "FROM (SELECT GCP_Compute(a.geometry, b.geometry) AS gcp " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id) AS b"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP_Transform(GeomFromText('POINT(1 1)'), NULL)"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP2ATM(NULL)"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP2ATM(zeroblob(100))"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP2ATM(b.gcp) " - "FROM (SELECT GCP_Compute(a.geometry, b.geometry, 2) AS gcp " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP2ATM(b.gcp) " - "FROM (SELECT GCP_Compute(a.geometry, b.geometry, 3) AS gcp " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b"; - if (!test_query (handle, sql, NULL)) - return 0; - sql = "SELECT GCP2ATM(b.gcp) " - "FROM (SELECT GCP_Compute(a.geometry, b.geometry, 0) AS gcp " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id) AS b"; - if (!test_query (handle, sql, NULL)) - return 0; - - return 1; -} - -int -main (int argc, char *argv[]) -{ -#ifdef ENABLE_GCP /* only if Control Points (Grass) is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - const char *sql; - int order; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open in-memory databse: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - -/* creating and populating a test table - XY */ - ret = sqlite3_exec (handle, "CREATE TABLE test_xy (" - "id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE test_xy error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'test_xy', 'geometry', 4326, 'GEOMETRYCOLLECTION', 'XY')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE test_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - ret = sqlite3_exec (handle, "INSERT INTO test_xy VALUES (NULL, " - "GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2), " - "POLYGON((10 10, 20 10, 20 20, 10 20, 10 10), " - "(14 14, 16 14, 16 16, 14 16, 14 14)))', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO test_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -5; - } - -/* creating and populating a test table - XYZ */ - ret = sqlite3_exec (handle, "CREATE TABLE test_xyz (" - "id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE test_xyz error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -6; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'test_xyz', 'geometry', 4326, 'GEOMETRYCOLLECTION', 'XYz')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE test_xyz Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -7; - } - ret = sqlite3_exec (handle, "INSERT INTO test_xyz VALUES (NULL, " - "GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(0 0 1), " - "LINESTRINGZ(1 1 1, 2 2 3), " - "POLYGONZ((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), " - "(14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO test_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -8; - } - -/* creating and populating a test table - XYM */ - ret = sqlite3_exec (handle, "CREATE TABLE test_xym (" - "id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE test_xym error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -9; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'test_xym', 'geometry', 4326, 'GEOMETRYCOLLECTION', 'XYM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE test_xym Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -10; - } - ret = sqlite3_exec (handle, "INSERT INTO test_xym VALUES (NULL, " - "GeomFromText('GEOMETRYCOLLECTIONM(POINTM(0 0 1), " - "LINESTRINGM(1 1 1, 2 2 3), " - "POLYGONM((10 10 1, 20 10 2, 20 20 3, 10 20 2, 10 10 1), " - "(14 14 1, 16 14 2, 16 16 2, 14 16 2, 14 14 1)))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO test_xym Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -11; - } - -/* creating and populating a test table - XYZM */ - ret = sqlite3_exec (handle, "CREATE TABLE test_xyzm (" - "id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE test_xyzm error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -12; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'test_xyzm', 'geometry', 4326, 'GEOMETRYCOLLECTION', 'XYZM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE test_xyzm Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -13; - } - ret = sqlite3_exec (handle, "INSERT INTO test_xyzm VALUES (NULL, " - "GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(0 0 1 1), " - "LINESTRINGZM(1 1 1 1, 2 2 3 3), " - "POLYGONZM((10 10 1 1, 20 10 2 2, 20 20 3 3, 10 20 2 2, 10 10 1 1), " - "(14 14 1 1, 16 14 2 2, 16 16 2 2, 14 16 2 2, 14 14 1 1)))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO test_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -14; - } - -/* creating and populating Point table #1 - XY */ - ret = sqlite3_exec (handle, "CREATE TABLE point_a_xy (" - "id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE point_a_xy error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -15; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'point_a_xy', 'geometry', 4326, 'POINT', 'XY')", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE point_a_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -16; - } - ret = sqlite3_exec (handle, "INSERT INTO point_a_xy VALUES " - "(NULL, MakePoint(0, 0, 4326)), (NULL, MakePoint(1, 1, 4326)), " - "(NULL, MakePoint(10, 10, 4326)), (NULL, MakePoint(11, 11, 4326)), " - "(NULL, MakePoint(10, 0, 4326)), (NULL, MakePoint(11, 1, 4326)), " - "(NULL, MakePoint(0, 10, 4326)), (NULL, MakePoint(1, 11, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_a_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -17; - } - ret = sqlite3_exec (handle, "INSERT INTO point_a_xy VALUES " - "(NULL, MakePoint(5, 4, 4326)), (NULL, MakePoint(4, 5, 4326)), " - "(NULL, MakePoint(8, 2, 4326)), (NULL, MakePoint(2, 8, 4326)), " - "(NULL, MakePoint(20, 20, 4326)), (NULL, MakePoint(21, 21, 4326)), " - "(NULL, MakePoint(30, 30, 4326)), (NULL, MakePoint(31, 31, 4326)), " - "(NULL, MakePoint(30, 20, 4326)), (NULL, MakePoint(31, 21, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_a_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -18; - } - ret = sqlite3_exec (handle, "INSERT INTO point_a_xy VALUES " - "(NULL, MakePoint(20, 30, 4326)), (NULL, MakePoint(21, 31, 4326)), " - "(NULL, MakePoint(25, 24, 4326)), (NULL, MakePoint(24, 25, 4326)), " - "(NULL, MakePoint(28, 22, 4326)), (NULL, MakePoint(22, 28, 4326)), " - "(NULL, MakePoint(30, 0, 4326)), (NULL, MakePoint(0, 30, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_a_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -19; - } - -/* creating and populating Point table #2 - XY */ - ret = sqlite3_exec (handle, "CREATE TABLE point_b_xy (" - "id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE point_b_xy error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -20; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'point_b_xy', 'geometry', 4326, 'POINT', 'XY')", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE point_b_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -21; - } - ret = sqlite3_exec (handle, "INSERT INTO point_b_xy VALUES " - "(NULL, MakePoint(-161 + 0, -64 + 0, 4326)), " - "(NULL, MakePoint(-161 + 1, -64 + 1, 4326)), " - "(NULL, MakePoint(-161 + 10, -64 + 10, 4326)), " - "(NULL, MakePoint(-161 + 11, -64 + 11, 4326)), " - "(NULL, MakePoint(-161 + 10, -64 + 0, 4326)), " - "(NULL, MakePoint(-161 + 11, -64 + 1, 4326)) ", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_b_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -22; - } - ret = sqlite3_exec (handle, "INSERT INTO point_b_xy VALUES " - "(NULL, MakePoint(-161 + 0, -64 + 10, 4326)), " - "(NULL, MakePoint(-161 + 1, -64 + 11, 4326)), " - "(NULL, MakePoint(-161 + 5, -64 + 4, 4326)), " - "(NULL, MakePoint(-161 + 4, -64 + 5, 4326)), " - "(NULL, MakePoint(-161 + 8, -64 + 2, 4326)), " - "(NULL, MakePoint(-161 + 2, -64 + 8, 4326)) ", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_b_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -23; - } - ret = sqlite3_exec (handle, "INSERT INTO point_b_xy VALUES " - "(NULL, MakePoint(-161 + 20, -64 + 20, 4326)), " - "(NULL, MakePoint(-161 + 21, -64 + 21, 4326)), " - "(NULL, MakePoint(-161 + 30, -64 + 30, 4326)), " - "(NULL, MakePoint(-161 + 31, -64 + 31, 4326)), " - "(NULL, MakePoint(-161 + 30, -64 + 20, 4326)), " - "(NULL, MakePoint(-161 + 31, -64 + 21, 4326)) ", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_b_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -24; - } - ret = sqlite3_exec (handle, "INSERT INTO point_b_xy VALUES " - "(NULL, MakePoint(-161 + 20, -64 + 30, 4326)), " - "(NULL, MakePoint(-161 + 21, -64 + 31, 4326)), " - "(NULL, MakePoint(-161 + 25, -64 + 24, 4326)), " - "(NULL, MakePoint(-161 + 24, -64 + 25, 4326)), " - "(NULL, MakePoint(-161 + 28, -64 + 22, 4326)), " - "(NULL, MakePoint(-161 + 22, -64 + 28, 4326)), " - "(NULL, MakePoint(-161 + 30, -64 + 0, 4326)), " - "(NULL, MakePoint(-161 + 0, -64 + 30, 4326)) ", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_b_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -25; - } - -/* creating and populating Point table #1 - XYZ */ - ret = sqlite3_exec (handle, "CREATE TABLE point_a_xyz (" - "id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE point_a_xyz error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -26; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'point_a_xyz', 'geometry', 4326, 'POINT', 'XYZ')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE point_a_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -27; - } - ret = sqlite3_exec (handle, "INSERT INTO point_a_xyz VALUES " - "(NULL, MakePointZ(0, 0, 1, 4326)), (NULL, MakePointZ(1, 1, 2, 4326)), " - "(NULL, MakePointZ(10, 10, 1, 4326)), (NULL, MakePointZ(11, 11, 2, 4326)), " - "(NULL, MakePointZ(10, 0, 1, 4326)), (NULL, MakePointZ(11, 1, 2, 4326)), " - "(NULL, MakePointZ(0, 10, 1, 4326)), (NULL, MakePointZ(1, 11, 2, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_a_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -28; - } - ret = sqlite3_exec (handle, "INSERT INTO point_a_xyz VALUES " - "(NULL, MakePointZ(5, 4, 1, 4326)), (NULL, MakePointZ(4, 5, 2, 4326)), " - "(NULL, MakePointZ(8, 2, 1, 4326)), (NULL, MakePointZ(2, 8, 2, 4326)), " - "(NULL, MakePointZ(20, 20, 1, 4326)), (NULL, MakePointZ(21, 21, 2, 4326)), " - "(NULL, MakePointZ(70, 70, 1, 4326)), (NULL, MakePointZ(51, 51, 2, 4326)), " - "(NULL, MakePointZ(30, 20, 1, 4326)), (NULL, MakePointZ(31, 21, 2, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_a_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -29; - } - ret = sqlite3_exec (handle, "INSERT INTO point_a_xyz VALUES " - "(NULL, MakePointZ(20, 30, 1, 4326)), (NULL, MakePointZ(21, 31, 2, 4326)), " - "(NULL, MakePointZ(25, 24, 1, 4326)), (NULL, MakePointZ(24, 25, 2, 4326)), " - "(NULL, MakePointZ(28, 22, 1, 4326)), (NULL, MakePointZ(22, 28, 2, 4326)), " - "(NULL, MakePointZ(30, 0, 1, 4326)), (NULL, MakePointZ(0, 30, 2, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_a_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -30; - } - -/* creating and populating Point table #2 - XYZ */ - ret = sqlite3_exec (handle, "CREATE TABLE point_b_xyz (" - "id INTEGER PRIMARY KEY AUTOINCREMENT)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE point_b_xyz error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -31; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'point_b_xyz', 'geometry', 4326, 'POINT', 'XYZ')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE point_b_xyz Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -32; - } - ret = sqlite3_exec (handle, "INSERT INTO point_b_xyz VALUES " - "(NULL, MakePointZ(-161 + 0, -64 + 0, 11, 4326)), " - "(NULL, MakePointZ(-161 + 1, -64 + 1, 12, 4326)), " - "(NULL, MakePointZ(-161 + 10, -64 + 10, 11, 4326)), " - "(NULL, MakePointZ(-161 + 11, -64 + 11, 12, 4326)), " - "(NULL, MakePointZ(-161 + 10, -64 + 0, 11, 4326)), " - "(NULL, MakePointZ(-161 + 11, -64 + 1, 12, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_b_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -33; - } - ret = sqlite3_exec (handle, "INSERT INTO point_b_xyz VALUES " - "(NULL, MakePointZ(-161 + 0, -64 + 10, 11, 4326)), " - "(NULL, MakePointZ(-161 + 1, -64 + 11, 12, 4326)), " - "(NULL, MakePointZ(-161 + 5, -64 + 4, 11, 4326)), " - "(NULL, MakePointZ(-161 + 4, -64 + 5, 12, 4326)), " - "(NULL, MakePointZ(-161 + 8, -64 + 2, 11, 4326)), " - "(NULL, MakePointZ(-161 + 2, -64 + 8, 12, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_b_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -34; - } - ret = sqlite3_exec (handle, "INSERT INTO point_b_xyz VALUES " - "(NULL, MakePointZ(-161 + 20, -64 + 20, 11, 4326)), " - "(NULL, MakePointZ(-161 + 21, -64 + 21, 12, 4326)), " - "(NULL, MakePointZ(-161 + 70, -64 + 70, 11, 4326)), " - "(NULL, MakePointZ(-161 + 51, -64 + 51, 12, 4326)), " - "(NULL, MakePointZ(-161 + 30, -64 + 20, 11, 4326)), " - "(NULL, MakePointZ(-161 + 31, -64 + 21, 12, 4326)), " - "(NULL, MakePointZ(-161 + 20, -64 + 30, 11, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_b_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -35; - } - ret = sqlite3_exec (handle, "INSERT INTO point_b_xyz VALUES " - "(NULL, MakePointZ(-161 + 21, -64 + 31, 12, 4326)), " - "(NULL, MakePointZ(-161 + 25, -64 + 24, 11, 4326)), " - "(NULL, MakePointZ(-161 + 24, -64 + 25, 12, 4326)), " - "(NULL, MakePointZ(-161 + 28, -64 + 22, 11, 4326)), " - "(NULL, MakePointZ(-161 + 22, -64 + 28, 12, 4326)), " - "(NULL, MakePointZ(-161 + 30, -64 + 0, 11, 4326)), " - "(NULL, MakePointZ(-161 + 0, -64 + 30, 12, 4326)) ", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO point_b_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -36; - } - -/* resolving Control Points 2D - 1st order - IsValid */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 1)) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -37; -/* resolving Control Points 2D - 1st order- AsText */ - sql = "SELECT GCP_AsText(GCP_Compute(a.geometry, b.geometry)) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query - (handle, sql, - "E{-161.0000000000,1.0000000000,-0.0000000000}, " - "N{-64.0000000000,-0.0000000000,1.0000000000}")) - return -38; - -/* resolving Control Points 2D - 1st order - GCP2ATM */ - sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry))) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -39; - -/* resolving Control Points 3D - 1st order - IsValid */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 1)) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -40; - -/* resolving Control Points 3D - 1st order - AsText */ - sql = "SELECT GCP_AsText(GCP_Compute(a.geometry, b.geometry)) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, - "E{-161.0000000000,1.0000000000,-0.0000000000,0.0000000000}, " - "N{-64.0000000000,0.0000000000,1.0000000000,0.0000000000}, " - "Z{10.0000000000,-0.0000000000,0.0000000000,1.0000000000}")) - return -41; - -/* resolving Control Points 3D - 1st order - GCP2ATM */ - sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry))) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -42; - -/* resolving Control Points 2D - 2nd order - IsValid */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 2)) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -43; - -/* resolving Control Points 2D - 2nd order- AsText */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 2)) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -44; - -/* resolving Control Points 2D - 2nd order - GCP2ATM */ - sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry, 2))) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "-1")) - return -45; - -/* resolving Control Points 3D - 2nd order - IsValid */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 2)) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -46; - -/* resolving Control Points 3D - 2nd order - AsText */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 2)) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -47; - -/* resolving Control Points 3D - 2nd order - GCP2ATM */ - sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry, 2))) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "-1")) - return -48; - -/* resolving Control Points 2D - 3nd order - IsValid */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 3)) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -49; - -/* resolving Control Points 2D - 3nd order- AsText */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 3)) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -50; - -/* resolving Control Points 2D - 3nd order - GCP2ATM */ - sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry, 3))) " - "FROM point_a_xy AS a, point_b_xy AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "-1")) - return -51; - -/* resolving Control Points 3D - 3nd order - IsValid */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 3)) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -52; - -/* resolving Control Points 3D - 3nd order - AsText */ - sql = "SELECT GCP_IsValid(GCP_Compute(a.geometry, b.geometry, 3)) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "1")) - return -53; - -/* resolving Control Points 3D - 3nd order - GCP2ATM */ - sql = "SELECT ATM_IsValid(GCP2ATM(GCP_Compute(a.geometry, b.geometry, 3))) " - "FROM point_a_xyz AS a, point_b_xyz AS b WHERE a.id = b.id"; - if (!test_query (handle, sql, "-1")) - return -54; - - for (order = 0; order <= 3; order++) - { - /* GCP_Trasform */ - if (!test_transform (handle, order)) - return -55; - } - - if (!test_invalid (handle)) - return -56; - - ret = sqlite3_close (handle); - if (ret != SQLITE_OK) - { - fprintf (stderr, "sqlite3_close() error: %s\n", - sqlite3_errmsg (handle)); - return -57; - } - - spatialite_cleanup_ex (cache); - -#endif /* end CGP conditional */ - - spatialite_shutdown (); - return 0; -} Index: test/check_create.c ================================================================== --- test/check_create.c +++ test/check_create.c @@ -191,94 +191,74 @@ fprintf (stderr, "HasGeosAdvanced() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); return -5; } - ret = - sqlite3_exec (handle, "SELECT HasGeosReentrant()", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "HasGeosReentrant() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -6; - } - ret = - sqlite3_exec (handle, "SELECT HasGeosOnlyReentrant()", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "HasGeosOnlyReentrant() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -7; - } ret = sqlite3_exec (handle, "SELECT HasIconv()", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { fprintf (stderr, "HasIconv() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); - return -8; + return -6; } ret = sqlite3_exec (handle, "SELECT HasMathSql()", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { fprintf (stderr, "HasMathSql() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); - return -9; + return -7; } ret = sqlite3_exec (handle, "SELECT HasGeoCallbacks()", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { fprintf (stderr, "HasGeoCallbacks() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); - return -10; + return -8; } ret = sqlite3_exec (handle, "SELECT HasFreeXL()", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { fprintf (stderr, "HasFreeXL() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); - return -11; + return -9; } ret = sqlite3_exec (handle, "SELECT HasEpsg()", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { fprintf (stderr, "HasEpsg() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); - return -12; + return -10; } ret = sqlite3_exec (handle, "SELECT HasGeosTrunk()", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { fprintf (stderr, "HasGeoTrunk() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); - return -13; + return -11; } - ret = sqlite3_exec (handle, "SELECT HasRtTopo()", NULL, NULL, &err_msg); + ret = sqlite3_exec (handle, "SELECT HasLwGeom()", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { - fprintf (stderr, "HasRtTopo() error: %s\n", err_msg); + fprintf (stderr, "HasLwGeom() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); - return -14; + return -12; } ret = sqlite3_exec (handle, "SELECT HasLibXml2()", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { fprintf (stderr, "HasLibXml2() error: %s\n", err_msg); sqlite3_free (err_msg); sqlite3_close (handle); - return -15; + return -13; } gaiaInsertIntoSqlLog (handle, "test", "sql_statement_ok", &log_pk); gaiaUpdateSqlLog (handle, log_pk, 1, NULL); gaiaInsertIntoSqlLog (handle, "test", "sql_statement_no", &log_pk); @@ -287,11 +267,11 @@ ret = sqlite3_close (handle); if (ret != SQLITE_OK) { fprintf (stderr, "sqlite3_close() error: %s\n", sqlite3_errmsg (handle)); - return -16; + return -11; } spatialite_cleanup_ex (cache); ret = checkCache (); DELETED test/check_cutter.c Index: test/check_cutter.c ================================================================== --- test/check_cutter.c +++ test/check_cutter.c @@ -1,2765 +0,0 @@ -/* - - check_cutter.c -- SpatiaLite Test Case - - uthor: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static void -do_get_cutter_message (sqlite3 * sqlite, const char *test_sql) -{ -/* reporting the last Cutter Message */ - int ret; - const char *sql = "SELECT GetCutterMessage()"; - sqlite3_stmt *stmt = NULL; - - fprintf (stderr, - "Failed ST_Cutter() test: %s\nGetCutterMessage() reports: ", - test_sql); - - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "\n"); - return; - } - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT) - { - const char *msg = - (const char *) sqlite3_column_text (stmt, 0); - fprintf (stderr, "%s", msg); - } - } - } - sqlite3_finalize (stmt); - fprintf (stderr, "\n"); -} - -static int -test_query (sqlite3 * sqlite, const char *sql) -{ -/* testing some SQL query returning an INT value */ - int ret; - int ok = 0; - sqlite3_stmt *stmt = NULL; - fprintf (stderr, "\n\n%s\n", sql); - - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "%s\n: \"%s\"\n", sql, sqlite3_errmsg (sqlite)); - return 0; - } - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_INTEGER) - { - if (sqlite3_column_int (stmt, 0) >= 1) - ok = 1; - } - } - else - goto error; - } - sqlite3_finalize (stmt); - if (ok != 1) - do_get_cutter_message (sqlite, sql); - return ok; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -static int -check_cutter_main (sqlite3 * handle, int *retcode) -{ -/* testing ST_Cutter - MAIN DB */ - const char *sql; - int ret; - -/* cutting Points XY - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'points_xy', NULL, NULL, 'blades_xyzm', NULL, 'out_points_xy_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 1; - return 0; - } - -/* cutting Points XY - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'points_xy', NULL, NULL, 'blades_xyz', NULL, 'out_points_xy_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 2; - return 0; - } - -/* cutting Points XY - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'points_xy', NULL, NULL, 'blades_xym', NULL, 'out_points_xy_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 3; - return 0; - } - -/* cutting Points XY - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'points_xy', 'geometry', 'main', 'blades_xy', 'geometry', 'out_points_xy_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 4; - return 0; - } - -/* cutting Linestrings XY - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xy', NULL, NULL, 'blades_xyzm', NULL, 'out_lines_xy_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 5; - return 0; - } - -/* cutting Linestrings XY - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xy', NULL, NULL, 'blades_xyz', NULL, 'out_lines_xy_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 6; - return 0; - } - -/* cutting Linestrings XY - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xy', NULL, NULL, 'blades_xym', NULL, 'out_lines_xy_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 7; - return 0; - } - -/* cutting Linestrings XY - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'lines_xy', 'geometry', 'main', 'blades_xy', 'geometry', 'out_lines_xy_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 8; - return 0; - } - -/* cutting Polygons XY - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xy', NULL, NULL, 'blades_xyzm', NULL, 'out_polygs_xy_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 9; - return 0; - } - -/* cutting Polygons XY - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xy', NULL, NULL, 'blades_xyz', NULL, 'out_polygs_xy_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 10; - return 0; - } - -/* cutting Polygons XY - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xy', NULL, NULL, 'blades_xym', NULL, 'out_polygs_xy_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 11; - return 0; - } - -/* cutting Polygons XY - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'polygs_xy', 'geometry', 'main', 'blades_xy', 'geometry', 'out_polygs_xy_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 12; - return 0; - } - -/* cutting Points XYZ - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'points_xyz', NULL, NULL, 'blades_xyzm', NULL, 'out_points_xyz_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 13; - return 0; - } - -/* cutting Points XYZ - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'points_xyz', NULL, NULL, 'blades_xyz', NULL, 'out_points_xyz_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 14; - return 0; - } - -/* cutting Points XYZ - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'points_xyz', NULL, NULL, 'blades_xym', NULL, 'out_points_xyz_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 15; - return 0; - } - -/* cutting Points XYZ - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'points_xyz', 'geometry', 'main', 'blades_xy', 'geometry', 'out_points_xyz_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 16; - return 0; - } - -/* cutting Linestrings XYZ - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xyz', NULL, NULL, 'blades_xyzm', NULL, 'out_lines_xyz_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 17; - return 0; - } - -/* cutting Linestrings XYZ - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xyz', NULL, NULL, 'blades_xyz', NULL, 'out_lines_xyz_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 18; - return 0; - } - -/* cutting Linestrings XYZ - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xyz', NULL, NULL, 'blades_xym', NULL, 'out_lines_xyz_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 19; - return 0; - } - -/* cutting Linestrings XYZ - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'lines_xyz', 'geometry', 'main', 'blades_xy', 'geometry', 'out_lines_xyz_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 20; - return 0; - } - -/* cutting Polygons XYZ - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xyz', NULL, NULL, 'blades_xyzm', NULL, 'out_polygs_xyz_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 21; - return 0; - } - -/* cutting Polygons XYZ - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xyz', NULL, NULL, 'blades_xyz', NULL, 'out_polygs_xyz_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 22; - return 0; - } - -/* cutting Polygons XYZ - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xyz', NULL, NULL, 'blades_xym', NULL, 'out_polygs_xyz_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 23; - return 0; - } - -/* cutting Polygons XYZ - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'polygs_xyz', 'geometry', 'main', 'blades_xy', 'geometry', 'out_polygs_xyz_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 24; - return 0; - } - -/* cutting Points XYM - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'points_xym', NULL, NULL, 'blades_xyzm', NULL, 'out_points_xym_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 25; - return 0; - } - -/* cutting Points XYM - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'points_xym', NULL, NULL, 'blades_xyz', NULL, 'out_points_xym_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 26; - return 0; - } - -/* cutting Points XYM - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'points_xym', NULL, NULL, 'blades_xym', NULL, 'out_points_xym_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 27; - return 0; - } - -/* cutting Points XYM - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'points_xym', 'geometry', 'main', 'blades_xy', 'geometry', 'out_points_xym_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 28; - return 0; - } - -/* cutting Linestrings XYM - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xym', NULL, NULL, 'blades_xyzm', NULL, 'out_lines_xym_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 29; - return 0; - } - -/* cutting Linestrings XYM - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xym', NULL, NULL, 'blades_xyz', NULL, 'out_lines_xym_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 30; - return 0; - } - -/* cutting Linestrings XYM - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xym', NULL, NULL, 'blades_xym', NULL, 'out_lines_xym_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 31; - return 0; - } - -/* cutting Linestrings XYM - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'lines_xym', 'geometry', 'main', 'blades_xy', 'geometry', 'out_lines_xym_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 32; - return 0; - } - -/* cutting Polygons XYM - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xym', NULL, NULL, 'blades_xyzm', NULL, 'out_polygs_xym_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 33; - return 0; - } - -/* cutting Polygons XYM - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xym', NULL, NULL, 'blades_xyz', NULL, 'out_polygs_xym_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 34; - return 0; - } - -/* cutting Polygons XYM - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xym', NULL, NULL, 'blades_xym', NULL, 'out_polygs_xym_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 35; - return 0; - } - -/* cutting Polygons XYM - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'polygs_xym', 'geometry', 'main', 'blades_xy', 'geometry', 'out_polygs_xym_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 36; - return 0; - } - -/* cutting Points XYZM - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'points_xyzm', NULL, NULL, 'blades_xyzm', NULL, 'out_points_xyzm_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 37; - return 0; - } - -/* cutting Points XYZM - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'points_xyzm', NULL, NULL, 'blades_xyz', NULL, 'out_points_xyzm_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 38; - return 0; - } - -/* cutting Points XYZM - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'points_xyzm', NULL, NULL, 'blades_xym', NULL, 'out_points_xyzm_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 39; - return 0; - } - -/* cutting Points XYZM - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'points_xyzm', 'geometry', 'main', 'blades_xy', 'geometry', 'out_points_xyzm_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 40; - return 0; - } - -/* cutting Linestrings XYZM - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xyzm', NULL, NULL, 'blades_xyzm', NULL, 'out_lines_xyzm_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 41; - return 0; - } - -/* cutting Linestrings XYZM - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xyzm', NULL, NULL, 'blades_xyz', NULL, 'out_lines_xyzm_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 42; - return 0; - } - -/* cutting Linestrings XYZM - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'lines_xyzm', NULL, NULL, 'blades_xym', NULL, 'out_lines_xyzm_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 43; - return 0; - } - -/* cutting Linestrings XYZM - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'lines_xyzm', 'geometry', 'main', 'blades_xy', 'geometry', 'out_lines_xyzm_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 44; - return 0; - } - -/* cutting Polygons XYZM - Blade XYZM */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xyzm', 'geometry', NULL, 'blades_xyzm', NULL, 'out_polygs_xyzm_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 45; - return 0; - } - -/* cutting Polygons XYZM - Blade XYZ */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xyzm', 'geometry', NULL, 'blades_xyz', NULL, 'out_polygs_xyzm_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 46; - return 0; - } - -/* cutting Polygons XYZM - Blade XYM */ - sql = - "SELECT ST_Cutter(NULL, 'polygs_xyzm', 'geometry', NULL, 'blades_xym', NULL, 'out_polygs_xyzm_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 47; - return 0; - } - -/* cutting Polygons XYZM - Blade XY */ - sql = - "SELECT ST_Cutter('MAIN', 'polygs_xyzm', 'geometry', 'main', 'blades_xy', 'geometry', 'out_polygs_xyzm_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 48; - return 0; - } - - return 1; -} - -static int -check_cutter_attach (sqlite3 * handle, int *retcode) -{ -/* testing ST_Cutter - ATTACHed DB */ - const char *sql; - int ret; - -/* cutting Points XY - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'points_xy', NULL, 'blade', 'blades_xyzm', NULL, 'out_points_xy_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 1; - return 0; - } - -/* cutting Points XY - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'points_xy', NULL, 'blade', 'blades_xyz', NULL, 'out_points_xy_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 2; - return 0; - } - -/* cutting Points XY - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'points_xy', NULL, 'blade', 'blades_xym', NULL, 'out_points_xy_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 3; - return 0; - } - -/* cutting Points XY - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'points_xy', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_points_xy_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 4; - return 0; - } - -/* cutting Linestrings XY - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'lines_xy', NULL, 'blade', 'blades_xyzm', NULL, 'out_lines_xy_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 5; - return 0; - } - -/* cutting Linestrings XY - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'lines_xy', NULL, 'blade', 'blades_xyz', NULL, 'out_lines_xy_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 6; - return 0; - } - -/* cutting Linestrings XY - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'lines_xy', NULL, 'blade', 'blades_xym', NULL, 'out_lines_xy_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 7; - return 0; - } - -/* cutting Linestrings XY - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'lines_xy', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_lines_xy_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 8; - return 0; - } - -/* cutting Polygons XY - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'polygs_xy', NULL, 'blade', 'blades_xyzm', NULL, 'out_polygs_xy_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 9; - return 0; - } - -/* cutting Polygons XY - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'polygs_xy', NULL, 'blade', 'blades_xyz', NULL, 'out_polygs_xy_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 10; - return 0; - } - -/* cutting Polygons XY - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'polygs_xy', NULL, 'blade', 'blades_xym', NULL, 'out_polygs_xy_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 11; - return 0; - } - -/* cutting Polygons XY - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'polygs_xy', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_polygs_xy_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 12; - return 0; - } - -/* cutting Points XYZ - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'points_xyz', NULL, 'blade', 'blades_xyzm', NULL, 'out_points_xyz_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 13; - return 0; - } - -/* cutting Points XYZ - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'points_xyz', NULL, 'blade', 'blades_xyz', NULL, 'out_points_xyz_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 14; - return 0; - } - -/* cutting Points XYZ - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'points_xyz', NULL, 'blade', 'blades_xym', NULL, 'out_points_xyz_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 15; - return 0; - } - -/* cutting Points XYZ - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'points_xyz', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_points_xyz_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 16; - return 0; - } - -/* cutting Linestrings XYZ - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'lines_xyz', NULL, 'blade', 'blades_xyzm', NULL, 'out_lines_xyz_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 17; - return 0; - } - -/* cutting Linestrings XYZ - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'lines_xyz', NULL, 'blade', 'blades_xyz', NULL, 'out_lines_xyz_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 18; - return 0; - } - -/* cutting Linestrings XYZ - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'lines_xyz', NULL, 'blade', 'blades_xym', NULL, 'out_lines_xyz_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 19; - return 0; - } - -/* cutting Linestrings XYZ - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'lines_xyz', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_lines_xyz_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 20; - return 0; - } - -/* cutting Polygons XYZ - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'polygs_xyz', NULL, 'blade', 'blades_xyzm', NULL, 'out_polygs_xyz_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 21; - return 0; - } - -/* cutting Polygons XYZ - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'polygs_xyz', NULL, 'blade', 'blades_xyz', NULL, 'out_polygs_xyz_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 22; - return 0; - } - -/* cutting Polygons XYZ - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'polygs_xyz', NULL, 'blade', 'blades_xym', NULL, 'out_polygs_xyz_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 23; - return 0; - } - -/* cutting Polygons XYZ - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'polygs_xyz', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_polygs_xyz_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 24; - return 0; - } - -/* cutting Points XYM - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'points_xym', NULL, 'blade', 'blades_xyzm', NULL, 'out_points_xym_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 25; - return 0; - } - -/* cutting Points XYM - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'points_xym', NULL, 'blade', 'blades_xyz', NULL, 'out_points_xym_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 26; - return 0; - } - -/* cutting Points XYM - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'points_xym', NULL, 'blade', 'blades_xym', NULL, 'out_points_xym_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 27; - return 0; - } - -/* cutting Points XYM - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'points_xym', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_points_xym_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 28; - return 0; - } - -/* cutting Linestrings XYM - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'lines_xym', NULL, 'blade', 'blades_xyzm', NULL, 'out_lines_xym_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 29; - return 0; - } - -/* cutting Linestrings XYM - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'lines_xym', NULL, 'blade', 'blades_xyz', NULL, 'out_lines_xym_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 30; - return 0; - } - -/* cutting Linestrings XYM - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'lines_xym', NULL, 'blade', 'blades_xym', NULL, 'out_lines_xym_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 31; - return 0; - } - -/* cutting Linestrings XYM - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'lines_xym', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_lines_xym_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 32; - return 0; - } - -/* cutting Polygons XYM - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'polygs_xym', NULL, 'blade', 'blades_xyzm', NULL, 'out_polygs_xym_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 33; - return 0; - } - -/* cutting Polygons XYM - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'polygs_xym', NULL, 'blade', 'blades_xyz', NULL, 'out_polygs_xym_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 34; - return 0; - } - -/* cutting Polygons XYM - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'polygs_xym', NULL, 'blade', 'blades_xym', NULL, 'out_polygs_xym_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 35; - return 0; - } - -/* cutting Polygons XYM - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'polygs_xym', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_polygs_xym_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 36; - return 0; - } - -/* cutting Points XYZM - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'points_xyzm', NULL, 'blade', 'blades_xyzm', NULL, 'out_points_xyzm_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 37; - return 0; - } - -/* cutting Points XYZM - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'points_xyzm', NULL, 'blade', 'blades_xyz', NULL, 'out_points_xyzm_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 38; - return 0; - } - -/* cutting Points XYZM - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'points_xyzm', NULL, 'blade', 'blades_xym', NULL, 'out_points_xyzm_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 39; - return 0; - } - -/* cutting Points XYZM - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'points_xyzm', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_points_xyzm_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 40; - return 0; - } - -/* cutting Linestrings XYZM - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'lines_xyzm', NULL, 'blade', 'blades_xyzm', NULL, 'out_lines_xyzm_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 41; - return 0; - } - -/* cutting Linestrings XYZM - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'lines_xyzm', NULL, 'blade', 'blades_xyz', NULL, 'out_lines_xyzm_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 42; - return 0; - } - -/* cutting Linestrings XYZM - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'lines_xyzm', NULL, 'blade', 'blades_xym', NULL, 'out_lines_xyzm_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 43; - return 0; - } - -/* cutting Linestrings XYZM - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'lines_xyzm', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_lines_xyzm_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 44; - return 0; - } - -/* cutting Polygons XYZM - Blade XYZM */ - sql = - "SELECT ST_Cutter('input', 'polygs_xyzm', 'geometry', 'blade', 'blades_xyzm', NULL, 'out_polygs_xyzm_xyzm', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 45; - return 0; - } - -/* cutting Polygons XYZM - Blade XYZ */ - sql = - "SELECT ST_Cutter('input', 'polygs_xyzm', 'geometry', 'blade', 'blades_xyz', NULL, 'out_polygs_xyzm_xyz', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 46; - return 0; - } - -/* cutting Polygons XYZM - Blade XYM */ - sql = - "SELECT ST_Cutter('input', 'polygs_xyzm', 'geometry', 'blade', 'blades_xym', NULL, 'out_polygs_xyzm_xym', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 47; - return 0; - } - -/* cutting Polygons XYZM - Blade XY */ - sql = - "SELECT ST_Cutter('input', 'polygs_xyzm', 'geometry', 'blade', 'blades_xy', 'geometry', 'out_polygs_xyzm_xy', 1, 1)"; - ret = test_query (handle, sql); - if (!ret) - { - *retcode -= 48; - return 0; - } - - return 1; -} - -static int -create_points_xyzm (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - POINT XYZM */ - int ret; - char *err_msg = NULL; - - ret = sqlite3_exec (handle, "CREATE TABLE points_xyzm (" - "pk_2 DOUBLE NOT NULL, pk_1 TEXT NOT NULL, pk_3 TEXT NOT NULL," - "CONSTRAINT points_xyzm_pk PRIMARY KEY (pk_1, pk_2, pk_3))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE points_xyzm error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'points_xyzm', 'geometry', 4326, 'POINT', 'XYZM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE points_xyzm Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'a', 'a', " - "GeomFromText('POINT ZM(-10 10 1 2)', 4326))", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'a', 'b', " - "GeomFromText('POINT ZM(16 3 2 22)', 4326))", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 4; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'a', 'c', " - "GeomFromText('POINT ZM(34 9 3 12)', 4326))", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 5; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'a', 'd', " - "GeomFromText('POINT ZM(14 15 4 15)', 4326))", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 6; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'a', 'e', " - "GeomFromText('POINT ZM(10 10 4.5 11)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 7; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'a', 'f', " - "GeomFromText('POINT ZM(7 10 14.5 17)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 8; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'b', 'a', " - "GeomFromText('POINT ZM(10 8 12.5 7)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 9; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'b', 'b', " - "GeomFromText('POINT ZM(10 8 2.5 7.5)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 10; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'b', 'c', " - "GeomFromText('POINT ZM(20 2 23.5 72.5)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 11; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'b', 'd', " - "GeomFromText('POINT ZM(24 4.25 23 74)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 12; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'b', 'e', " - "GeomFromText('POINT ZM(23 0 25 41)', 4326))", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 13; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'b', 'f', " - "GeomFromText('POINT ZM(5.1 5.1 22 51)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 14; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'c', 'a', " - "GeomFromText('POINT ZM(25.1 5.1 22 51)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 15; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'c', 'b', " - "GeomFromText('POINT ZM(8 2 32 71)', 4326))", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 16; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'c', 'c', " - "GeomFromText('POINT ZM(28 2 36 75)', 4326))", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 17; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'c', 'd', " - "GeomFromText('POINT ZM(11 111 3.6 7.5)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 18; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'c', 'e', " - "GeomFromText('POINT ZM(12 112 4.6 76.5)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 19; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (1.0, 'c', 'f', " - "GeomFromText('POINT ZM(17 117 46 75)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 20; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (2.0, 'a', 'a', " - "GeomFromText('POINT ZM(25 85 47 76)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 21; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (2.0, 'a', 'b', " - "GeomFromText('POINT ZM(15 95 74 67)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 22; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (2.0, 'a', 'c', " - "GeomFromText('POINT ZM(25 95 78 68)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 23; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (2.0, 'a', 'd', " - "GeomFromText('POINT ZM(55 85 79 58)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 24; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (2.0, 'a', 'e', " - "GeomFromText('POINT ZM(40 120 79.5 58.5)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 25; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (2.0, 'a', 'f', " - "GeomFromText('POINT ZM(42 120 79.5 58.5)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 26; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyzm VALUES (6.0, 'e', 'd', " - "GeomFromText('POINT ZM(45 120 9.5 8.5)', 4326))", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 27; - return 0; - } - return 1; -} - -static int -create_points_xyz (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - POINT XYZ */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE points_xyz (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE points_xyz error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'points_xyz', 'geometry', 4326, 'POINT', 'XYZ')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE points_xyz Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xyz SELECT NULL, CastToXYZ(geometry) FROM points_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_points_xym (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - POINT XYM */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE points_xym (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE points_xym error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'points_xym', 'geometry', 4326, 'POINT', 'XYM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE points_xym Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xym SELECT NULL, CastToXYM(geometry) FROM points_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xym Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_points_xy (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - POINT XY */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE points_xy (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE points_xy error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'points_xy', 'geometry', 4326, 'POINT', 'XY')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE points_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO points_xy SELECT NULL, CastToXY(geometry) FROM points_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO points_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_lines_xyzm (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - LINESTRING XYZM */ - int ret; - char *err_msg = NULL; - - ret = sqlite3_exec (handle, "CREATE TABLE lines_xyzm (" - "pk_1 DOUBLE NOT NULL, pk_2 TEXT NOT NULL, pk_3 TEXT NOT NULL," - "CONSTRAINT lines_xyzm_pk PRIMARY KEY (pk_1, pk_2, pk_3))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE lines_xyzm error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'lines_xyzm', 'geometry', 4326, 'LINESTRING', 'XYZM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE lines_xyzm Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (1.0, 'a', 'a', " - "GeomFromText('LINESTRING ZM(-10 5.5 1 2, 35 5.5 3 4)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (1.0, 'a', 'b', " - "GeomFromText('LINESTRING ZM(2 9 4 4, 7 9 5 5)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 4; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (1.0, 'a', 'c', " - "GeomFromText('LINESTRING ZM(6 4 3 2, 10 4 2 3)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 5; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (1.0, 'a', 'd', " - "GeomFromText('LINESTRING ZM(3 4.5 1 2, 7 4.5 4 3)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 6; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (1.0, 'a', 'e', " - "GeomFromText('LINESTRING ZM(2 2 5 5, 8 8 5 5)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 7; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (1.0, 'a', 'f', " - "GeomFromText('LINESTRING ZM(-1 2 2 3, 0 2 3 2, 0 0 2 3, 5 0 3 2, 5 -1 2 3)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 8; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (2.0, 'a', 'a', " - "GeomFromText('LINESTRING ZM(30 11 1 2, 30 6 2 1, 31 5 1 2, 30 4 1 2, 30 0 2 1, " - "24 0 2 1, 24 4 2 3, 26 4 3 2, 27 5 3 2, 26 6 2 3, 24 6 1 3, 24 10 3 1, 20 10 2 3, 20 3 2 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 9; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (2.0, 'b', 'a', " - "GeomFromText('LINESTRING ZM(-2 52 3 4, 20 52 4 3, 20 45 3 2)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 10; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (2.0, 'c', 'a', " - "GeomFromText('LINESTRING ZM(0 100 4 5, 100 100 5 4)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 11; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (2.0, 'd', 'a', " - "GeomFromText('LINESTRING ZM(20 80 2 4, 70 80 4 2)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 12; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (2.0, 'e', 'a', " - "GeomFromText('LINESTRING ZM(20 90 1 4, 70 90 2 3)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 13; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (2.0, 'f', 'a', " - "GeomFromText('LINESTRING ZM(20 70 6 2, 70 70 6 4)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 14; - return 0; - } - ret = sqlite3_exec (handle, "INSERT INTO lines_xyzm VALUES (2.0, 'f', 'f', " - "GeomFromText('LINESTRING ZM(40 140 2 3, 60 140 3 4, 100 100 5 6, " - "60 60 7 1, 50 60 4 2)', 4326))", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 15; - return 0; - } - return 1; -} - -static int -create_lines_xyz (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - LINESTRING XYZ */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE lines_xyz (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE lines_xyz error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'lines_xyz', 'geometry', 4326, 'LINESTRING', 'XYZ')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE lines_xyz Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO lines_xyz SELECT NULL, CastToXYZ(geometry) FROM lines_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_lines_xym (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - LINESTRING XYM */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE lines_xym (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE lines_xym error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'lines_xym', 'geometry', 4326, 'LINESTRING', 'XYM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE lines_xym Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO lines_xym SELECT NULL, CastToXYM(geometry) FROM lines_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xym Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_lines_xy (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - LINESTRING XY */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE lines_xy (pk_id INTEGER PRIMARY KEY)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE lines_xy error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'lines_xy', 'geometry', 4326, 'LINESTRING', 'XY')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE lines_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO lines_xy SELECT NULL, CastToXY(geometry) FROM lines_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO lines_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_polygs_xyzm (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - POLYGON XYZM */ - int ret; - char *err_msg = NULL; - - ret = sqlite3_exec (handle, "CREATE TABLE polygs_xyzm (" - "pk_3 DOUBLE NOT NULL, pk_1 TEXT NOT NULL, pk_2 TEXT NOT NULL," - "CONSTRAINT polygs_xyzm_pk PRIMARY KEY (pk_1, pk_2, pk_3))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polygs_xyzm error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'polygs_xyzm', 'geometry', 4326, 'POLYGON', 'XYZM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polygs_xyzm Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyzm VALUES (1.5, 'a', 'a', " - "GeomFromText('POLYGON ZM((-2 15 1 2, 35 15 2 3, 35 5 3 2, -2 5 2 2, -2 15 1 2))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyzm VALUES (1.0, 'a', 'a', " - "GeomFromText('POLYGON ZM((-2 5 1 1, 10 5 2 2, 10 -5 1 2, -2 -5 2 1, -2 5 1 1))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 4; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyzm VALUES (1.1, 'a', 'a', " - "GeomFromText('POLYGON ZM((10 5 3 4, 20 5 3 4, 20 -5 4 3, 10 -5 4 3, 10 5 3 4))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 5; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyzm VALUES (2.0, 'a', 'a', " - "GeomFromText('POLYGON ZM((20 5 2 5, 35 5 3 5, 35 -5 2 3, 20 -5 3 3, 20 5 2 5))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 6; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyzm VALUES (3.5, 'a', 'a', " - "GeomFromText('POLYGON ZM((0 100 1 1, 100 100 2 2, 100 150 2 1, 0 150 2 3, 0 100 1 1))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 7; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyzm VALUES (0.5, 'a', 'a', " - "GeomFromText('POLYGON ZM((0 100 2 3, 100 100 3 1, 100 50 1 3, 0 50 2 1, 0 100 2 3))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 8; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyzm VALUES (2.4, 'b', 'a', " - "GeomFromText('POLYGON ZM((70 10 1 2, 100 10 2 1, 100 40 2 3, 70 40 3 2, 70 10 1 2), " - "(80 20 2 2, 90 20 3 3, 90 30 2 3, 80 30 3 2, 80 20 2 2))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 9; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyzm VALUES ('a', 'b', 'c', " - "GeomFromText('POLYGON ZM((80 20 1 2, 90 20 2 3, 90 30 3 4, 80 30 3 2, 80 20 1 2))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 10; - return 0; - } - - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'polygs_xyzm', 'centroid', 4326, 'POINT', 'XY')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polygs_xyzm Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 11; - return 0; - } - ret = - sqlite3_exec (handle, - "UPDATE polygs_xyzm SET centroid = CastToXY(ST_Centroid(geometry))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE polygs_xyzm SET Centroid error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 12; - return 0; - } - return 1; -} - -static int -create_polygs_xyz (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - POLYGON XYZ */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE polygs_xyz (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polys_xyz error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'polygs_xyz', 'geometry', 4326, 'POLYGON', 'XYZ')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polys_xyz Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xyz SELECT NULL, CastToXYZ(geometry) FROM polygs_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_polygs_xym (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - POLYGON XYM */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE polygs_xym (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polys_xym error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'polygs_xym', 'geometry', 4326, 'POLYGON', 'XYM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polys_xym Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xym SELECT NULL, CastToXYM(geometry) FROM polygs_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xym Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_polygs_xy (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - POLYGON XY */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE polygs_xy (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polys_xy error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'polygs_xy', 'geometry', 4326, 'POLYGON', 'XY')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE polys_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO polygs_xy SELECT NULL, CastToXY(geometry) FROM polygs_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO polygs_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_blades_xyzm (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - BLADES XYZM */ - int ret; - char *err_msg = NULL; - - ret = sqlite3_exec (handle, "CREATE TABLE blades_xyzm (" - "pk_1 TEXT NOT NULL, pk_2 TEXT NOT NULL, pk_3 TEXT NOT NULL," - "CONSTRAINT blades_xyzm_pk PRIMARY KEY (pk_1, pk_2, pk_3))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xyzm error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'blades_xyzm', 'geometry', 4326, 'POLYGON', 'XYZM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xyzm Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO blades_xyzm VALUES ('a', 'a', 'a', " - "GeomFromText('POLYGON ZM((0 0 0 0, 10 0 0 1, 10 10 1 1, 0 10 1 2, 0 0 0 0), " - "(4 4 1 2, 6 4 2 1, 6 6 3 2, 4 6 2 1, 4 4 1 2))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO blades_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO blades_xyzm VALUES ('b', 'c', 'd', " - "GeomFromText('POLYGON ZM((20 0 1 2, 30 0 2 3, 30 4 3 2, 31 5 2 3, 30 6 2 1, 30 10 2 0, 20 10 0 2, 20 0 1 2), " - "(24 4 1 1, 26 4 2 2, 27 5 2 1, 26 6 1 2, 24 6 2 1, 24 4 1 1))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO blades_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 4; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO blades_xyzm VALUES ('d', 'c', 'e', " - "GeomFromText('POLYGON ZM((50 50 1 2, 100 100 2 3, 50 150 3 2, 0 100 2 1, 0 50 1 0, 50 50 1 2), " - "(40 80 1 2, 60 80 2 3, 60 100 3 4, 40 80 1 2), " - "(10 100 1 3, 30 80 3 2, 30 100 2 3, 10 100 1 3))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO blades_xyzm Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 5; - return 0; - } - return 1; -} - -static int -create_blades_xyz (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - BLADES XYZ */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE blades_xyz (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xyz error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'blades_xyz', 'geometry', 4326, 'POLYGON', 'XYZ')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xyz Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO blades_xyz SELECT NULL, CastToXYZ(geometry) FROM blades_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO blades_xyz Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -create_blades_xym (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - BLADES XYM */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE blades_xym (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xym error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'blades_xym', 'geometry', 4326, 'POLYGON', 'XYM')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xym Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT CreateSpatialIndex('blades_xym', 'geometry')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xym Spatial Index error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO blades_xym SELECT NULL, CastToXYM(geometry) FROM blades_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO blades_xym Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 4; - return 0; - } - return 1; -} - -static int -create_blades_xy (sqlite3 * handle, int *retcode) -{ -/* creating and populating a test table - BLADES XY */ - int ret; - char *err_msg = NULL; - - ret = - sqlite3_exec (handle, - "CREATE TABLE blades_xy (pk_id INTEGER PRIMARY KEY)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xy error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - ret = sqlite3_exec (handle, "SELECT AddGeometryColumn(" - "'blades_xy', 'geometry', 4326, 'POLYGON', 'XY')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE blades_xy Geometry error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO blades_xy SELECT NULL, CastToXY(geometry) FROM blades_xyzm", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO blades_xy Geometry error: %s\n", - err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - return 1; -} - -static int -check_cutter_attached (int *retcode) -{ -/* testing ST_Cutter on ATTACHed DBs */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" databse: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - *retcode -= 1; - return 0; - } - - spatialite_init_ex (handle, cache, 0); - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 2; - return 0; - } - - ret = - sqlite3_exec (handle, - "ATTACH DATABASE \"./test_cutter.sqlite\" AS input", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ATTACH DATABASE Input: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 3; - return 0; - } - - ret = - sqlite3_exec (handle, - "ATTACH DATABASE \"./test_cutter.sqlite\" AS blade", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ATTACH DATABASE Blade: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 4; - return 0; - } - - if (!check_cutter_attach (handle, retcode)) - { - *retcode -= 5; - sqlite3_close (handle); - return 0; - } - - ret = sqlite3_exec (handle, "DETACH DATABASE input", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DETACH DATABASE Input: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 6; - return 0; - } - - ret = sqlite3_exec (handle, "DETACH DATABASE blade", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DETACH DATABASE Blade: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode -= 7; - return 0; - } - - ret = sqlite3_close (handle); - if (ret != SQLITE_OK) - { - fprintf (stderr, "sqlite3_close() error: %s\n", - sqlite3_errmsg (handle)); - *retcode -= 8; - return 0; - } - - return 1; -} - -int -main (int argc, char *argv[]) -{ -#ifndef OMIT_GEOS /* only if GEOS is enabled */ - int ret; - int retcode; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - unlink ("./test_cutter.sqlite"); - - ret = - sqlite3_open_v2 ("./test_cutter.sqlite", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \"test_cutter.sqlite\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = sqlite3_exec (handle, "BEGIN", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "BEGIN TRANSACTION error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* creating and populating a test table - POINT XYZM */ - retcode = -10; - if (!create_points_xyzm (handle, &retcode)) - return retcode; - -/* creating and populating a test table - POINT XYZ */ - retcode = -10; - if (!create_points_xyz (handle, &retcode)) - return retcode; - -/* creating and populating a test table - POINT XYM */ - retcode = -50; - if (!create_points_xym (handle, &retcode)) - return retcode; - -/* creating and populating a test table - POINT XY */ - retcode = -100; - if (!create_points_xy (handle, &retcode)) - return retcode; - -/* creating and populating a test table - LINESTRING XYZM */ - retcode = -150; - if (!create_lines_xyzm (handle, &retcode)) - return retcode; - -/* creating and populating a test table - LINESTRING XYZ */ - retcode = -200; - if (!create_lines_xyz (handle, &retcode)) - return retcode; - -/* creating and populating a test table - LINESTRING XYM */ - retcode = -250; - if (!create_lines_xym (handle, &retcode)) - return retcode; - -/* creating and populating a test table - LINESTRING XY */ - retcode = -300; - if (!create_lines_xy (handle, &retcode)) - return retcode; - -/* creating and populating a test table - POLYGON XYZM */ - retcode = -350; - if (!create_polygs_xyzm (handle, &retcode)) - return retcode; - -/* creating and populating a test table - POLYGON XYZ */ - retcode = -400; - if (!create_polygs_xyz (handle, &retcode)) - return retcode; - -/* creating and populating a test table - POLYGON XYM */ - retcode = -450; - if (!create_polygs_xym (handle, &retcode)) - return retcode; - -/* creating and populating a test table - POLYGON XY */ - retcode = -500; - if (!create_polygs_xy (handle, &retcode)) - return retcode; - -/* creating and populating a test table - BLADES XYZM */ - retcode = -550; - if (!create_blades_xyzm (handle, &retcode)) - return retcode; - -/* creating and populating a test table - BLADES XYZ */ - retcode = -600; - if (!create_blades_xyz (handle, &retcode)) - return retcode; - -/* creating and populating a test table - BLADES XYM */ - retcode = -650; - if (!create_blades_xym (handle, &retcode)) - return retcode; - -/* creating and populating a test table - BLADES XY */ - retcode = -700; - if (!create_blades_xy (handle, &retcode)) - return retcode; - - ret = sqlite3_exec (handle, "COMMIT", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "COMMIT TRANSACTION error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - -/* testing ST_Cutter - MAIN DB */ - retcode = -750; - if (!check_cutter_main (handle, &retcode)) - return retcode; - - ret = sqlite3_close (handle); - if (ret != SQLITE_OK) - { - fprintf (stderr, "sqlite3_close() error: %s\n", - sqlite3_errmsg (handle)); - return -5; - } - - spatialite_cleanup_ex (cache); - -/* testing ST_Cutter - ATTACHED DB */ - retcode = -800; - if (!check_cutter_attached (&retcode)) - return retcode; - -#endif /* end GEOS conditional */ - unlink ("./test_cutter.sqlite"); - - spatialite_shutdown (); - return 0; -} Index: test/check_dxf.c ================================================================== --- test/check_dxf.c +++ test/check_dxf.c @@ -49,16 +49,10 @@ #include "sqlite3.h" #include "spatialite.h" #include "spatialite/gg_dxf.h" -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif - #ifndef OMIT_GEOS /* only if GEOS is enabled */ static int check_22_auto (int cache_mode) { @@ -1406,15 +1400,10 @@ #ifndef OMIT_GEOS /* only if GEOS is enabled */ for (cache_mode = 0; cache_mode <= 1; cache_mode++) { -#ifdef GEOS_USE_ONLY_R_API /* skipping legacy test */ - if (!cache_mode) - continue; -#endif - fprintf (stderr, "\n******* Testing DXF in %s cache-mode\n\n", cache_mode ? "current" : "legacy"); if (check_22_auto (cache_mode) != 0) return -1; Index: test/check_exif.c ================================================================== --- test/check_exif.c +++ test/check_exif.c @@ -510,23 +510,23 @@ { fprintf (stderr, "cannot extract GPS coords from JPEG image: DSCN0042.JPG\n"); return -32; } - if (strcmp (human, "43°27′52″N 011°52′53″E") != 0) + if (strcmp (human, "N 43.00 27.00 52.04 / E 11.00 52.00 53.32") != 0) { fprintf (stderr, "DSCN0042.JPG: GPS coords unexpected value: %s|\n", human); return -33; }; - if (!gaiaGetGpsLatLong (blob, sz, human, 15)) + if (!gaiaGetGpsLatLong (blob, sz, human, 20)) { fprintf (stderr, "cannot extract GPS coords(20) from JPEG image: DSCN0042.JPG\n"); return -34; } - if (strcmp (human, "43°27′52″N") != 0) + if (strcmp (human, "N 43.00 27.00 52.04 ") != 0) { fprintf (stderr, "DSCN0042.JPG: GPS coords(20) unexpected value: %s|\n", human); return -35; Index: test/check_exif2.c ================================================================== --- test/check_exif2.c +++ test/check_exif2.c @@ -354,11 +354,11 @@ { fprintf (stderr, "cannot extract GPS coords from JPEG image: Apple-iPhone-4.jpg\n"); return -32; } - if (strcmp (human, "41°51′00″N 012°29′00″E") != 0) + if (strcmp (human, "N 41.00 51.18 0.00 / E 12.00 29.33 0.00") != 0) { fprintf (stderr, "Apple-iPhone-4.jpg: GPS coords unexpected value: %s|\n", human); return -33; @@ -367,11 +367,11 @@ { fprintf (stderr, "cannot extract GPS coords(18) from JPEG image: Apple-iPhone-4.jpg\n"); return -34; } - if (strcmp (human, "41°51′00″N 01") != 0) + if (strcmp (human, "N 41.00 51.18 0.00") != 0) { fprintf (stderr, "Apple-iPhone-4.jpg: GPS coords(18) unexpected value: %s|\n", human); return -35; Index: test/check_extension.c ================================================================== --- test/check_extension.c +++ test/check_extension.c @@ -49,10 +49,14 @@ #include "config.h" #include "sqlite3.h" #include "spatialite.h" +#ifdef _WIN32 +#include "asprintf4win.h" +#endif + int main (int argc, char *argv[]) { sqlite3 *db_handle = NULL; char *sql_statement; @@ -77,26 +81,26 @@ return -1; } sqlite3_enable_load_extension (db_handle, 1); - sql_statement = sqlite3_mprintf ("SELECT load_extension('mod_spatialite')"); + asprintf (&sql_statement, "SELECT load_extension('mod_spatialite')"); ret = sqlite3_exec (db_handle, sql_statement, NULL, NULL, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "load_extension() error: %s\n", err_msg); sqlite3_free (err_msg); return -2; } - sql_statement = sqlite3_mprintf ("SELECT spatialite_version()"); + asprintf (&sql_statement, "SELECT spatialite_version()"); ret = - sqlite3_get_table (db_handle, sql_statement, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql_statement); + sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, + &err_msg); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -10; @@ -115,15 +119,15 @@ results[1]); return -12; } sqlite3_free_table (results); - sql_statement = sqlite3_mprintf ("SELECT geos_version()"); + asprintf (&sql_statement, "SELECT geos_version()"); ret = - sqlite3_get_table (db_handle, sql_statement, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql_statement); + sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, + &err_msg); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error2: %s\n", err_msg); sqlite3_free (err_msg); return -13; @@ -151,15 +155,15 @@ return -15; } #endif /* end GEOS conditional */ sqlite3_free_table (results); - sql_statement = sqlite3_mprintf ("SELECT proj4_version()"); + asprintf (&sql_statement, "SELECT proj4_version()"); ret = - sqlite3_get_table (db_handle, sql_statement, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql_statement); + sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, + &err_msg); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error3: %s\n", err_msg); sqlite3_free (err_msg); return -16; @@ -187,15 +191,15 @@ return -19; } #endif /* end PROJ conditional */ sqlite3_free_table (results); - sql_statement = sqlite3_mprintf ("SELECT spatialite_target_cpu()"); + asprintf (&sql_statement, "SELECT spatialite_target_cpu()"); ret = - sqlite3_get_table (db_handle, sql_statement, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql_statement); + sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, + &err_msg); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error4: %s\n", err_msg); sqlite3_free (err_msg); return -20; @@ -207,51 +211,51 @@ rows, columns); return -21; } sqlite3_free_table (results); - sql_statement = sqlite3_mprintf ("SELECT rttopo_version()"); + asprintf (&sql_statement, "SELECT lwgeom_version()"); ret = - sqlite3_get_table (db_handle, sql_statement, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql_statement); + sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, + &err_msg); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error5: %s\n", err_msg); sqlite3_free (err_msg); return -22; } if ((rows != 1) || (columns != 1)) { fprintf (stderr, - "Unexpected error: rttopo_version() bad result: %i/%i.\n", + "Unexpected error: lwgeom_version() bad result: %i/%i.\n", rows, columns); return -23; } -#ifdef ENABLE_RTTOPO /* only if RTTOPO is supported */ +#ifdef ENABLE_LWGEOM /* only if LWGEOM is supported */ /* we tolerate any string here, because versions always change */ if (strlen (results[1]) == 0) { - fprintf (stderr, "Unexpected error: rttopo_version() bad result.\n"); + fprintf (stderr, "Unexpected error: lwgeom_version() bad result.\n"); return -24; } -#else /* RTTOPO is not supported */ +#else /* LWGEOM is not supported */ /* in this case we expect a NULL */ if (results[1] != NULL) { - fprintf (stderr, "Unexpected error: rttopo_version() bad result.\n"); + fprintf (stderr, "Unexpected error: lwgeom_version() bad result.\n"); return -25; } -#endif /* end RTTOPO conditional */ +#endif /* end LWGEOM conditional */ sqlite3_free_table (results); - sql_statement = sqlite3_mprintf ("SELECT libxml2_version()"); + asprintf (&sql_statement, "SELECT libxml2_version()"); ret = - sqlite3_get_table (db_handle, sql_statement, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql_statement); + sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, + &err_msg); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error6: %s\n", err_msg); sqlite3_free (err_msg); return -26; @@ -279,15 +283,15 @@ return -29; } #endif /* end LIBXML2 conditional */ sqlite3_free_table (results); - sql_statement = sqlite3_mprintf ("SELECT freexl_version()"); + asprintf (&sql_statement, "SELECT freexl_version()"); ret = - sqlite3_get_table (db_handle, sql_statement, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql_statement); + sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, + &err_msg); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error2: %s\n", err_msg); sqlite3_free (err_msg); return -30; Index: test/check_fdo1.c ================================================================== --- test/check_fdo1.c +++ test/check_fdo1.c @@ -52,15 +52,10 @@ #include "spatialite.h" #include "spatialite/gaiageo.h" #ifndef OMIT_GEOS /* including GEOS */ -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif #include #endif static int do_test (int legacy_mode) @@ -580,15 +575,13 @@ fprintf (stderr, "********* testing in current mode\n"); ret = do_test (0); if (ret != 0) return ret; -#ifndef GEOS_ONLY_REENTRANT /* skipping legacy mode test (non-thread-safe GEOS API) */ fprintf (stderr, "********* testing in legacy mode\n"); ret = do_test (1); if (ret != 0) return ret; -#endif spatialite_shutdown (); return 0; } Index: test/check_gaia_utf8.c ================================================================== --- test/check_gaia_utf8.c +++ test/check_gaia_utf8.c @@ -50,10 +50,14 @@ #include "sqlite3.h" #include "spatialite.h" #include "spatialite/gaiaaux.h" +#ifdef _WIN32 +#include "asprintf4win.h" +#endif + int main (int argc, char *argv[]) { #ifndef OMIT_ICONV /* only if ICONV is supported */ void *converter; @@ -61,31 +65,31 @@ int err; if (argc > 1 || argv[0] == NULL) argc = 1; /* silencing stupid compiler warnings */ - test_str1 = sqlite3_mprintf ("Hello World"); + asprintf (&test_str1, "Hello World"); gaiaConvertCharset (&test_str1, "ASCII", "UTF-8"); if (strcmp (test_str1, "Hello World") != 0) { fprintf (stderr, "bad ASCII to UTF-8 conversion: %s\n", test_str1); - sqlite3_free (test_str1); + free (test_str1); return -1; } - sqlite3_free (test_str1); + free (test_str1); #if 0 /* TODO: this will cause a buffer overflow */ - test_str1 = sqlite_mprintf ("Hello World"); + asprintf (&test_str1, "Hello World"); gaiaConvertCharset (&test_str1, "ASCII", "UTF-16LE"); if (memcmp (test_str1, "H\0e\0l\0l\0o\0 \0W\0o\0r\0l\0d\0\0\0", 24) != 0) { fprintf (stderr, "bad ASCII to UTF-16LE conversion\n"); - sqlite3_free (test_str1); + free (test_str1); return -2; } - sqlite3_free (test_str1); + free (test_str1); #endif converter = gaiaCreateUTF8Converter ("CP1252"); if (!converter) { Index: test/check_gaia_util.c ================================================================== --- test/check_gaia_util.c +++ test/check_gaia_util.c @@ -48,10 +48,14 @@ #include "sqlite3.h" #include "spatialite.h" #include "spatialite/gaiaaux.h" +#ifdef _WIN32 +#include "asprintf4win.h" +#endif + int main (int argc, char *argv[]) { int result; char *test_str1; @@ -223,133 +227,133 @@ fprintf (stderr, "gaiaIllegalSqlName() fail for (empty): %i\n", result); return -21; } - test_str1 = sqlite3_mprintf ("SELECT %s from %s;", "Foo", "Bar"); + asprintf (&test_str1, "SELECT %s from %s;", "Foo", "Bar"); gaiaCleanSqlString (test_str1); if (strcmp (test_str1, "SELECT Foo from Bar;") != 0) { fprintf (stderr, "gaiaCleanSqlString failure: %s\n", test_str1); - sqlite3_free (test_str1); + free (test_str1); return -22; } - sqlite3_free (test_str1); + free (test_str1); - test_str1 = sqlite3_mprintf ("SELECT %s from %s; ", "Foo", "Bar"); + asprintf (&test_str1, "SELECT %s from %s; ", "Foo", "Bar"); gaiaCleanSqlString (test_str1); if (strcmp (test_str1, "SELECT Foo from Bar;") != 0) { fprintf (stderr, "gaiaCleanSqlString failure: %s\n", test_str1); - sqlite3_free (test_str1); + free (test_str1); return -23; } - sqlite3_free (test_str1); + free (test_str1); - test_str1 = sqlite3_mprintf ("SELECT %s from %s; ", "Foo", "'"); + asprintf (&test_str1, "SELECT %s from %s; ", "Foo", "'"); gaiaCleanSqlString (test_str1); if (strcmp (test_str1, "SELECT Foo from '';") != 0) { fprintf (stderr, "gaiaCleanSqlString failure: %s\n", test_str1); - sqlite3_free (test_str1); + free (test_str1); return -24; } - sqlite3_free (test_str1); + free (test_str1); #if 0 /* TODO: This will cause a buffer overflow */ - test_str1 = sqlite3_mprintf ("SELECT %s from %s;", "Foo", "'"); + asprintf (&test_str1, "SELECT %s from %s;", "Foo", "'"); gaiaCleanSqlString (test_str1); if (strcmp (test_str1, "SELECT Foo from '';") != 0) { fprintf (stderr, "gaiaCleanSqlString failure: %s\n", test_str1); - sqlite3_free (test_str1); + free (test_str1); return -25; } - sqlite3_free (test_str1); + free (test_str1); #endif - test_str1 = sqlite3_mprintf (" "); + asprintf (&test_str1, " "); gaiaCleanSqlString (test_str1); if (strcmp (test_str1, "") != 0) { fprintf (stderr, "gaiaCleanSqlString failure: %s\n", test_str1); - sqlite3_free (test_str1); + free (test_str1); return -26; } - sqlite3_free (test_str1); + free (test_str1); - test_str1 = sqlite3_mprintf ("SELECT %s from %s;", "Foo", "Bar"); + asprintf (&test_str1, "SELECT %s from %s;", "Foo", "Bar"); quoted_str = gaiaSingleQuotedSql (test_str1); if (strcmp (quoted_str, "SELECT Foo from Bar;") != 0) { fprintf (stderr, "gaiaSingleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -27; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("SELECT %s from %s; ", "Foo", "Bar"); + asprintf (&test_str1, "SELECT %s from %s; ", "Foo", "Bar"); quoted_str = gaiaSingleQuotedSql (test_str1); if (strcmp (quoted_str, "SELECT Foo from Bar;") != 0) { fprintf (stderr, "gaiaSingleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -28; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("SELECT %s from %s;", "Foo", "'"); + asprintf (&test_str1, "SELECT %s from %s;", "Foo", "'"); quoted_str = gaiaSingleQuotedSql (test_str1); if (strcmp (quoted_str, "SELECT Foo from '';") != 0) { fprintf (stderr, "gaiaSingleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -29; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("SELECT %s from %s ; ", "Foo", "Bar"); + asprintf (&test_str1, "SELECT %s from %s ; ", "Foo", "Bar"); quoted_str = gaiaSingleQuotedSql (test_str1); if (strcmp (quoted_str, "SELECT Foo from Bar ;") != 0) { fprintf (stderr, "gaiaSingleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -30; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("SELECT %s from %s;", "'", "Bar"); + asprintf (&test_str1, "SELECT %s from %s;", "'", "Bar"); quoted_str = gaiaSingleQuotedSql (test_str1); if (strcmp (quoted_str, "SELECT '' from Bar;") != 0) { fprintf (stderr, "gaiaSingleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -31; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("My Name"); + asprintf (&test_str1, "My Name"); quoted_str = gaiaDoubleQuotedSql (test_str1); if (strcmp (quoted_str, "My Name") != 0) { fprintf (stderr, "gaiaDoubleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -32; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); quoted_str = gaiaDoubleQuotedSql (NULL); if (quoted_str != NULL) { @@ -394,92 +398,92 @@ fprintf (stderr, "gaiaQuotedSql failure 1000: %s\n", quoted_str); free (quoted_str); return -37; } - test_str1 = sqlite3_mprintf ("My \"Name"); + asprintf (&test_str1, "My \"Name"); quoted_str = gaiaDoubleQuotedSql (test_str1); if (strcmp (quoted_str, "My \"\"Name") != 0) { fprintf (stderr, "gaiaDoubleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -38; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("My \"Name "); + asprintf (&test_str1, "My \"Name "); quoted_str = gaiaDoubleQuotedSql (test_str1); if (strcmp (quoted_str, "My \"\"Name") != 0) { fprintf (stderr, "gaiaDoubleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -39; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("%s", ""); + asprintf (&test_str1, "%s", ""); quoted_str = gaiaDoubleQuotedSql (test_str1); if (strcmp (quoted_str, "") != 0) { fprintf (stderr, "gaiaDoubleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -40; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf (" "); + asprintf (&test_str1, " "); quoted_str = gaiaDoubleQuotedSql (test_str1); if (strcmp (quoted_str, "") != 0) { fprintf (stderr, "gaiaDoubleQuotedSql failure: |%s|\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -41; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("' "); + asprintf (&test_str1, "' "); quoted_str = gaiaDoubleQuotedSql (test_str1); if (strcmp (quoted_str, "'") != 0) { fprintf (stderr, "gaiaDoubleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -42; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("'"); + asprintf (&test_str1, "'"); quoted_str = gaiaDoubleQuotedSql (test_str1); if (strcmp (quoted_str, "'") != 0) { fprintf (stderr, "gaiaDoubleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -43; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); - test_str1 = sqlite3_mprintf ("\""); + asprintf (&test_str1, "\""); quoted_str = gaiaSingleQuotedSql (test_str1); if (strcmp (quoted_str, "\"") != 0) { fprintf (stderr, "gaiaSingleQuotedSql failure: %s\n", quoted_str); - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); return -44; } - sqlite3_free (test_str1); + free (test_str1); free (quoted_str); spatialite_shutdown (); return 0; } Index: test/check_gpkgInsertEpsgSRID.c ================================================================== --- test/check_gpkgInsertEpsgSRID.c +++ test/check_gpkgInsertEpsgSRID.c @@ -57,11 +57,11 @@ main (int argc UNUSED, char *argv[]UNUSED) { sqlite3 *db_handle = NULL; int ret; char *err_msg = NULL; -#ifndef OMIT_EPSG /* only if full EPSG support is enabled */ +#ifndef OMIT_EPSG /* only if full EPSG support is enabled */ char *sql_statement; sqlite3_stmt *stmt; #endif void *cache = spatialite_alloc_connection (); @@ -92,11 +92,11 @@ err_msg); sqlite3_free (err_msg); return -100; } -#ifndef OMIT_EPSG /* only if full EPSG support is enabled */ +#ifndef OMIT_EPSG /* only if full EPSG support is enabled */ ret = sqlite3_exec (db_handle, "SELECT gpkgInsertEpsgSRID(3857)", NULL, NULL, &err_msg); if (ret != SQLITE_OK) { @@ -172,11 +172,11 @@ return -129; } ret = sqlite3_finalize (stmt); sqlite3_free (err_msg); - + /* try no WKT, something of a hack here */ ret = sqlite3_exec (db_handle, "SELECT gpkgInsertEpsgSRID(40001)", NULL, NULL, &err_msg); if (ret != SQLITE_OK) DELETED test/check_gpkgMode.c Index: test/check_gpkgMode.c ================================================================== --- test/check_gpkgMode.c +++ test/check_gpkgMode.c @@ -1,317 +0,0 @@ -/* - - check_gpkgMode.c - Test case for GeoPackage Extensions - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is GeoPackage extensions - -The Initial Developer of the Original Code is Sandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2014 -the Initial Developer. All Rights Reserved. - -Contributor(s): - - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#ifdef ENABLE_GEOPACKAGE /* only if GEOPACKAGE is enabled */ - -#include "sqlite3.h" -#include "spatialite.h" - -static int -test_sql_query (sqlite3 * db_handle, const char *sql) -{ -/* testing an SQL query in GeoPackage mode */ - int ret; - char *err_msg = NULL; - char **results; - int rows; - int columns; - ret = - sqlite3_get_table (db_handle, sql, &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "Test: %s\nError: %s\n", sql, err_msg); - sqlite3_free (err_msg); - return 0; - } - if ((rows != 1) || (columns != 1)) - { - fprintf (stderr, - "Test: %s\nUnexpected error: select columns bad result: %i/%i.\n", - sql, rows, columns); - return 0; - } - if (strcmp (results[1], "1") != 0) - { - fprintf (stderr, - "Test: %s\nUnexpected error: bad result: %s.\n", - sql, results[1]); - return 0; - } - sqlite3_free_table (results); - return 1; -} - -int -main (int argc, char *argv[]) -{ - sqlite3 *db_handle; - const char *sql; - void *cache = NULL; - int ret = 0; - char *err_msg = NULL; - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - -/* directly testing GPKG */ - cache = spatialite_alloc_connection (); - ret = - sqlite3_open_v2 ("./gpkg_test.gpkg", &db_handle, - SQLITE_OPEN_READWRITE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open '%s': %s\n", "copy-gpkg_test.gpkg", - sqlite3_errmsg (db_handle)); - sqlite3_close (db_handle); - spatialite_cleanup_ex (cache); - spatialite_shutdown (); - return -1; - } - spatialite_init_ex (db_handle, cache, 0); - -/* enabling GeoPackage Mode */ - ret = - sqlite3_exec (db_handle, "SELECT EnableGpkgMode()", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "EnableGpkgMode error: %s\n", err_msg); - sqlite3_free (err_msg); - ret = -2; - goto end; - } - sql = "SELECT GetGpkgMode()"; - if (!test_sql_query (db_handle, sql)) - { - ret = -3; - goto end; - } - ret = 0; - -/* testing POINTs */ - sql = - "SELECT IsValidGPB( ShiftCoords(geom, 1.5, 2.5) ) FROM pt2d WHERE id = 3"; - if (!test_sql_query (db_handle, sql)) - { - ret = -3; - goto end; - } - sql = - "SELECT IsValidGPB( ST_Translate(geom, 1.5, 2.5, 3.5) ) FROM pt3dz WHERE id = 3"; - if (!test_sql_query (db_handle, sql)) - { - ret = -4; - goto end; - } - sql = "SELECT IsValidGPB( RotateCoords(geom, 30) ) FROM pt2dm WHERE id = 3"; - if (!test_sql_query (db_handle, sql)) - { - ret = -5; - goto end; - } - sql = "SELECT IsValidGPB( SwapCoords(geom) ) FROM pt3dzm WHERE id = 3"; - if (!test_sql_query (db_handle, sql)) - { - ret = -6; - goto end; - } - -/* testing LINESTRINGs */ - sql = "SELECT IsValidGPB( ST_Collect(geom) ) FROM ln2d"; - if (!test_sql_query (db_handle, sql)) - { - ret = -7; - goto end; - } - sql = "SELECT IsValidGPB( ST_Union(geom) ) FROM ln2dm"; - if (!test_sql_query (db_handle, sql)) - { - ret = -8; - goto end; - } - sql = "SELECT IsValidGPB( ST_Buffer(geom, 0.01) ) FROM ln3dz WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -9; - goto end; - } - sql = - "SELECT IsValidGPB( ST_OffsetCurve(geom, -0.1) ) FROM ln3dzm WHERE id = 1"; - if (!test_sql_query (db_handle, sql)) - { - ret = -10; - goto end; - } - -/* testing POLYGONs */ - sql = "SELECT IsValidGPB( ST_Collect(geom) ) FROM pg2d"; - if (!test_sql_query (db_handle, sql)) - { - ret = -11; - goto end; - } - sql = "SELECT IsValidGPB( ST_Union(geom) ) FROM pg2dm"; - if (!test_sql_query (db_handle, sql)) - { - ret = -12; - goto end; - } - sql = "SELECT IsValidGPB( ST_Buffer(geom, 0.01) ) FROM pg3dz WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -13; - goto end; - } - sql = "SELECT IsValidGPB( ST_Envelope(geom) ) FROM pg3dzm WHERE id = 1"; - if (!test_sql_query (db_handle, sql)) - { - ret = -14; - goto end; - } - -/* testing MULTIPOINTs */ - sql = "SELECT IsValidGPB( ST_ConvexHull(geom) ) FROM mpt2d WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -15; - goto end; - } - sql = - "SELECT IsValidGPB( ST_UnaryUnion( ST_Buffer(geom, 1.5) ) ) FROM mpt3dz WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -16; - goto end; - } - sql = "SELECT IsValidGPB( ST_Difference( " - "ST_GeomFromText('POLYGON((0 0, 0 30, 30 30, 30 0, 0 0))'), " - "ST_Buffer(geom, 15) ) ) FROM mpt2dm WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -17; - goto end; - } - sql = "SELECT IsValidGPB( ST_SymDifference( " - "ST_GeomFromText('POLYGON((0 0, 0 30, 30 30, 30 0, 0 0))'), " - "ST_Buffer(geom, 15) ) ) FROM mpt3dzm WHERE id = 1"; - if (!test_sql_query (db_handle, sql)) - { - ret = -18; - goto end; - } - -/* testing MULTILINESTRINGs */ - sql = - "SELECT IsValidGPB( ST_StartPoint( ST_GeometryN(geom, 1) ) ) FROM mln2d WHERE id = 1"; - if (!test_sql_query (db_handle, sql)) - { - ret = -19; - goto end; - } - sql = - "SELECT IsValidGPB( ST_EndPoint( ST_GeometryN(geom, 1) ) ) FROM mln2dm WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -20; - goto end; - } - sql = - "SELECT IsValidGPB( ST_Line_Interpolate_Point( ST_GeometryN(geom, 1), 0.66) ) FROM mln3dz WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -21; - goto end; - } - sql = - "SELECT IsValidGPB(ST_Line_Substring( ST_GeometryN(geom, 1), 0.33, 0.66) ) FROM mln3dzm WHERE id = 1"; - if (!test_sql_query (db_handle, sql)) - { - ret = -22; - goto end; - } - -/* testing MULTIPOLYGONs */ - sql = - "SELECT IsValidGPB( ST_EndPoint( ST_ExteriorRing( ST_GeometryN(geom, 1) ) ) ) FROM mpg2d WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -23; - goto end; - } - sql = - "SELECT IsValidGPB( ST_DissolvePoints( geom ) ) FROM mpg2dm WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -24; - goto end; - } - sql = - "SELECT IsValidGPB( ST_DissolveSegments( geom ) ) FROM mpg3dz WHERE id = 2"; - if (!test_sql_query (db_handle, sql)) - { - ret = -25; - goto end; - } - sql = - "SELECT IsValidGPB( ST_LinesFromRings(geom) ) FROM mpg3dzm WHERE id = 1"; - if (!test_sql_query (db_handle, sql)) - { - ret = -26; - goto end; - } - - end: - sqlite3_close (db_handle); - spatialite_cleanup_ex (cache); - spatialite_shutdown (); - return ret; -} - -#endif /* endif GEOPACKAGE enabled */ Index: test/check_gpkgVirtual.c ================================================================== --- test/check_gpkgVirtual.c +++ test/check_gpkgVirtual.c @@ -74,11 +74,11 @@ "ST_Is3D(geom), ST_IsMeasured(geom), ST_MinZ(geom), ST_MaxZ(geom), " "ST_MinM(geom), ST_MaxM(geom), ST_GeometryType(geom) FROM %s", table); ret = sqlite3_prepare_v2 (handle, sql, strlen (sql), &stmt, NULL); - sqlite3_free (sql); + sqlite3_free(sql); if (ret != SQLITE_OK) { fprintf (stderr, "SELECT FROM \"%s\" error: %s\n", table, sqlite3_errmsg (handle)); goto stop; Index: test/check_libxml2.c ================================================================== --- test/check_libxml2.c +++ test/check_libxml2.c @@ -542,14 +542,14 @@ fprintf (stderr, "books.xml: unexpected document size %d (expected 741)\n", doc_sz); return 0; } - if (formatted_sz != 863) + if (formatted_sz != 864) { fprintf (stderr, - "books.xml: unexpected formatted size %d (expected 863)\n", + "books.xml: unexpected formatted size %d (expected 864)\n", formatted_sz); return 0; } if (formatted_txt_sz != 803) { @@ -580,14 +580,14 @@ fprintf (stderr, "opera.xml: unexpected document size %d (expected 912)\n", doc_sz); return 0; } - if (formatted_sz != 969) + if (formatted_sz != 970) { fprintf (stderr, - "opera.xml: unexpected formatted size %d (expected 969)\n", + "opera.xml: unexpected formatted size %d (expected 970)\n", formatted_sz); return 0; } if (formatted_txt_sz != 909) { @@ -618,14 +618,14 @@ fprintf (stderr, "movies.xml: unexpected document size %d (expected 1770)\n", doc_sz); return 0; } - if (formatted_sz != 944) + if (formatted_sz != 945) { fprintf (stderr, - "movies.xml: unexpected formatted size %d (expected 944)\n", + "movies.xml: unexpected formatted size %d (expected 945)\n", formatted_sz); return 0; } if (formatted_txt_sz != 884) { @@ -638,142 +638,10 @@ free (xml); return 1; } -static int -check_mline_gpx (sqlite3 * handle, void *cache, const char *path) -{ -/* parsing an XML Sample */ - FILE *fl; - int sz = 0; - int rd; - unsigned char *xml = NULL; - int uncompressed_sz; - unsigned char *p_result = NULL; - gaiaGeomCollPtr geom; - gaiaLinestringPtr ln; - double x; - double y; - double z; - double m; - -/* loading the XMLDocument */ - fl = fopen (path, "rb"); - if (!fl) - { - fprintf (stderr, "cannot open \"%s\"\n", path); - return 0; - } - if (fseek (fl, 0, SEEK_END) == 0) - sz = ftell (fl); - xml = malloc (sz); - rewind (fl); - rd = fread (xml, 1, sz, fl); - if (rd != sz) - { - fprintf (stderr, "read error \"%s\"\n", path); - return 0; - } - fclose (fl); - -/* parsing the GPX document (no validation / not compressed) */ - gaiaXmlToBlob (cache, xml, rd, 0, NULL, &p_result, &uncompressed_sz, NULL, - NULL); - if (p_result == NULL) - { - fprintf (stderr, "unable to parse(gpx)\"%s\"\n", path); - return 0; - } - - geom = gaiaXmlBlobMLineFromGPX (p_result, uncompressed_sz, handle); - if (geom == NULL) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected failure \"%s\"\n", - path); - return 0; - } - - if (geom->Srid != 4326) - { - fprintf (stderr, "XB_MLineFromGPX: invalid SRID (%d) \"%s\"\n", - geom->Srid, path); - return 0; - } - ln = geom->FirstLinestring; - if (ln == NULL) - { - fprintf (stderr, "XB_MLineFromGPX: not a Linestring \"%s\"\n", path); - return 0; - } - if (ln->Points < 5) - { - fprintf (stderr, "XB_MLineFromGPX: too few points \"%s\"\n", path); - return 0; - } - gaiaGetPointXYZM (ln->Coords, 4, &x, &y, &z, &m); - if (strcmp (path, "Gpx-sample.gpx") == 0) - { - if (x != 37.808177) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected X=%f \"%s\"\n", x, - path); - return 0; - } - if (y != 55.753587) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected Y=%f \"%s\"\n", y, - path); - return 0; - } - if (z != 135.0) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected Z=%f \"%s\"\n", z, - path); - return 0; - } - if (m < 2454970.667060 || m > 2454970.667061) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected M=%f \"%s\"\n", m, - path); - return 0; - } - } - else - { - if (x != -25.1959200) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected X=%f \"%s\"\n", x, - path); - return 0; - } - if (y != 37.7710900) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected Y=%f \"%s\"\n", y, - path); - return 0; - } - if (z != 0.0) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected Z=%f \"%s\"\n", z, - path); - return 0; - } - if (m != 1721059.50) - { - fprintf (stderr, "XB_MLineFromGPX: unexpected M=%f \"%s\"\n", m, - path); - return 0; - } - } - - gaiaFreeGeomColl (geom); - free (p_result); - free (xml); - return 1; -} - #endif int main (int argc, char *argv[]) { @@ -855,21 +723,10 @@ { fprintf (stderr, "unable to test invalid Schema\n"); return -12; } - if (!check_mline_gpx (handle, cache, "000323485.gpx")) - { - fprintf (stderr, "unable to test \"000323485.gpx\"\n"); - return -13; - } - if (!check_mline_gpx (handle, cache, "Gpx-sample.gpx")) - { - fprintf (stderr, "unable to test \"Gpx-sample.gpx\"\n"); - return -14; - } - #endif ret = sqlite3_close (handle); if (ret != SQLITE_OK) { Index: test/check_multithread.c ================================================================== --- test/check_multithread.c +++ test/check_multithread.c @@ -71,10 +71,11 @@ #include #ifdef _WIN32 #include "fnmatch4win.h" #include "scandir4win.h" +#include "asprintf4win.h" #include "fnmatch_impl4win.h" #endif struct test_data { @@ -113,11 +114,11 @@ #ifndef _WIN32 int started; pthread_t thread_id; pthread_attr_t attr; #endif -} mt_params[128]; +} mt_params[64]; static struct db_conn * alloc_connection (void) { struct db_conn *conn = malloc (sizeof (struct db_conn)); @@ -575,13 +576,13 @@ free (namelist[i]); } free (namelist); #endif /* end GEOS_ADVANCED conditional */ -#ifdef ENABLE_RTTOPO /* only if RTTOPO is supported */ -/* RTTOPO SQL testcases */ - current_dir = "sql_stmt_rtgeom_tests"; +#ifdef ENABLE_LWGEOM /* only if LWGEOM is supported */ +/* LWGEOM SQL testcases */ + current_dir = "sql_stmt_lwgeom_tests"; path = sqlite3_mprintf ("%s", current_dir); n = scandir (path, &namelist, test_case_filter, alphasort); if (n < 0) { perror ("scandir"); @@ -600,11 +601,11 @@ cleanup_test_data (data); sqlite3_free (path); free (namelist[i]); } free (namelist); -#endif /* end RTTOPO conditional */ +#endif /* end LWGEOM conditional */ #ifdef ENABLE_LIBXML2 /* only if LIBXML2 is supported */ /* LIBXML2 SQL testcases */ current_dir = "sql_stmt_libxml2_tests"; path = sqlite3_mprintf ("%s", current_dir); @@ -895,12 +896,12 @@ else { num_threads = atoi (env_var); if (num_threads < 1) num_threads = 1; - if (num_threads > 128) - num_threads = 128; + if (num_threads > 64) + num_threads = 64; } printf ("Testing %d concurrent threads\n", num_threads); /* seeding the pseudo-random generator */ #ifdef _WIN32 DELETED test/check_network2d.c Index: test/check_network2d.c ================================================================== --- test/check_network2d.c +++ test/check_network2d.c @@ -1,2286 +0,0 @@ -/* - - check_network2d.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level2_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 2 */ - int ret; - char *err_msg = NULL; - -/* inserting three Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(-100, -100, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -160; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(-100, -10, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -161; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(-10, -10, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -162; - return 0; - } - -/* inserting two Links */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 4, GeomFromText('LINESTRING(-100 -10, -100 -100)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -163; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 6, GeomFromText('LINESTRING(-100 -10, -10 -10)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -164; - return 0; - } - -/* splitting a Link (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 3, MakePoint(-100, -50, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -165; - return 0; - } - -/* splitting a Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 4, MakePoint(-30, -10, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -166; - return 0; - } - -/* attempting to split a link (non-existing link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 333, MakePoint(0, 0, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #2: expected failure\n"); - *retcode = -167; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -168; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a link (non-existing link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 333, MakePoint(0, 0, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #2: expected failure\n"); - *retcode = -169; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -170; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a link (point not on link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 6, MakePoint(-101, -60, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #3: expected failure\n"); - *retcode = -171; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - point not on link.") != 0) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -172; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a link (non-existing link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 6, MakePoint(-101, -60, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #3: expected failure\n"); - *retcode = -173; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - point not on link.") != 0) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -174; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (same link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 4, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #1: expected failure\n"); - *retcode = -175; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Cannot heal link with itself.") != 0) - { - fprintf (stderr, "ST_NewLinkSplit() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -176; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (same link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #1: expected failure\n"); - *retcode = -177; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Cannot heal link with itself.") != 0) - { - fprintf (stderr, "ST_ModLinkSplit() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -178; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent first link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 333, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #2: expected failure\n"); - *retcode = -179; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent first link.") - != 0) - { - fprintf (stderr, "ST_NewLinkHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -180; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent first link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 333, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #2: expected failure\n"); - *retcode = -181; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent first link.") - != 0) - { - fprintf (stderr, "ST_ModLinkHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -182; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent second link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 4, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #3: expected failure\n"); - *retcode = -183; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent second link.") - != 0) - { - fprintf (stderr, "ST_NewLinkHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -184; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent second link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #3: expected failure\n"); - *retcode = -185; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent second link.") - != 0) - { - fprintf (stderr, "ST_ModLinkHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -186; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-connected links) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 7, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #4: expected failure\n"); - *retcode = -187; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected links.") != - 0) - { - fprintf (stderr, "ST_NewLinkHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -188; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-connected links) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #4: expected failure\n"); - *retcode = -189; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected links.") != - 0) - { - fprintf (stderr, "ST_ModLinkHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -190; - return 0; - } - sqlite3_free (err_msg); - -/* inserting one more Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 2, GeomFromText('LINESTRING(-100 -10, 0 100)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -191; - return 0; - } - -/* attempting to heal links (other links connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 5, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #5: expected failure\n"); - *retcode = -192; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - other links connected.") != - 0) - { - fprintf (stderr, "ST_NewLinkHeal() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -193; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (other links connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 5)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #5: expected failure\n"); - *retcode = -194; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - other links connected.") != - 0) - { - fprintf (stderr, "ST_ModLinkHeal() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -195; - return 0; - } - sqlite3_free (err_msg); - -/* deleting a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 8)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -196; - return 0; - } - -/* healing a Link (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 5, 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -197; - return 0; - } - -/* healing another Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 9)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -198; - return 0; - } - -/* healing a third Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -199; - return 0; - } - -/* deleting another Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 7)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -200; - return 0; - } - -/* deleting two Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -201; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -202; - return 0; - } - -/* inserting two Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(2, 100, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -203; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(2, 90, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -204; - return 0; - } - -/* inserting a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 9, 10, GeometryFromText('LINESTRING(2 100, 2 90)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -205; - return 0; - } - -/* retrieving a NetNode by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetNetNodeByPoint('roads', MakePoint(0, 100), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetNetNodeByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -206; - return 0; - } - -/* attempting to retrieve a NetNode by Point (two NetNodes found) */ - ret = - sqlite3_exec (handle, - "SELECT GetNetNodeByPoint('roads', MakePoint(1, 100), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetNetNodeByPoint() #2: expected failure\n"); - *retcode = -207; - return 0; - } - if (strcmp (err_msg, "Two or more net-nodes found") != 0) - { - fprintf (stderr, "GetNetNodeByPoint() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -208; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a NetNode by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetNetNodeByPoint('roads', MakePoint(1, 1), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetNetNodeByPoint() #3: expected failure\n"); - sqlite3_free (err_msg); - *retcode = -209; - return 0; - } - -/* retrieving a Link by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetLinkByPoint('roads', MakePoint(0, 50), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetLinkByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -210; - return 0; - } - -/* attempting to retrieve a Link by Point (two Links found) */ - ret = - sqlite3_exec (handle, - "SELECT GetLinkByPoint('roads', MakePoint(1, 95), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetLinkByPoint() #2: expected failure\n"); - *retcode = -211; - return 0; - } - if (strcmp (err_msg, "Two or more links found") != 0) - { - fprintf (stderr, "GetLinkByPoint() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -212; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a Link by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetLinkByPoint('roads', MakePoint(1, 1), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetLinkByPoint() #3expected failure\n"); - sqlite3_free (err_msg); - *retcode = -213; - return 0; - } - - return 1; -} - -static int -do_level1_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 1 */ - int ret; - char *err_msg = NULL; - -/* inserting a first Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(0, 0, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -110; - return 0; - } - -/* inserting a second Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(0, 100, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -111; - return 0; - } - -/* inserting a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeometryFromText('LINESTRING(0 0, 0 100)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -112; - return 0; - } - -/* attempting to insert a Node (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(0, 100, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #3: expected failure\n"); - *retcode = -113; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node.") != 0) - { - fprintf (stderr, "ST_AddIsoNetNode() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -114; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (coincident link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(0, 50, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #4: expected failure\n"); - *retcode = -115; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - link crosses node.") != 0) - { - fprintf (stderr, "ST_AddIsoNetNode() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -116; - return 0; - } - sqlite3_free (err_msg); - -/* inserting a third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(99, 99, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -117; - return 0; - } - -/* moving the third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, MakePoint(100, 100, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -118; - return 0; - } - -/* attempting to move a Node (non-existing node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 333, MakePoint(50, 50, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #2: expected failure\n"); - *retcode = -119; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -120; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, MakePoint(0, 100, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #3: expected failure\n"); - *retcode = -121; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -122; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (coincident link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, MakePoint(0, 50, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #4: expected failure\n"); - *retcode = -123; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - link crosses node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -124; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (bad StartNode) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, GeometryFromText('LINESTRING(1 1, 100 100)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #2: expected failure\n"); - *retcode = -125; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_AddLink() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -126; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (bad EndNode) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, GeometryFromText('LINESTRING(0 0, 99 99)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #3: expected failure\n"); - *retcode = -127; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_AddLink() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -128; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (coincident Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, GeometryFromText('LINESTRING(0 0, 0 100, 100 100)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #4: expected failure\n"); - *retcode = -129; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node.") - != 0) - { - fprintf (stderr, "ST_AddLink() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -130; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (self-closed ring) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 1, GeometryFromText('LINESTRING(0 0, 0 100, 100 100, 0 0)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #5: expected failure\n"); - *retcode = -131; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - self-closed links are forbidden.") != 0) - { - fprintf (stderr, "ST_AddLink() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -132; - return 0; - } - sqlite3_free (err_msg); - -/* inserting a second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, GeometryFromText('LINESTRING(0 0, 100 100)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -133; - return 0; - } - -/* attempting to move a Link (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, GeometryFromText('LINESTRING(0 0, 0 100, 100 100)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #1: expected failure\n"); - *retcode = -134; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node.") - != 0) - { - fprintf (stderr, "ST_ChangeLinkGeom() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -135; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (bad start node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, GeometryFromText('LINESTRING(1 1, 100 100)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #2: expected failure\n"); - *retcode = -136; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_ChangeLinkGeom() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -138; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (bad end node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, GeometryFromText('LINESTRING(0 0, 101 101)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #3: expected failure\n"); - *retcode = -139; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_ChangeLinkGeom() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -140; - return 0; - } - sqlite3_free (err_msg); - -/* moving the second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, GeometryFromText('LINESTRING(0 0, 0 50, 100 100)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -141; - return 0; - } - -/* attempting to move a Node (non-isolated) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, MakePoint(0, 50, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #5: expected failure\n"); - *retcode = -142; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -143; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Node (non-isolated) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 3)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #5: expected failure\n"); - *retcode = -144; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node.") != 0) - { - fprintf (stderr, "ST_RemIsoNetNode() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -145; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Link (not existing) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 33)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #1: expected failure\n"); - *retcode = -146; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_RemoveLink() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -147; - return 0; - } - sqlite3_free (err_msg); - -/* removing the second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 2)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -148; - return 0; - } - -/* removing the third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 3)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -149; - return 0; - } - - return 1; -} - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 0 */ - int ret; - char *err_msg = NULL; - -/* attempting to insert a Node (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(0, 10, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() invalid SRID: expected failure\n"); - *retcode = -10; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -11; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() invalid SRID: expected failure\n"); - *retcode = -12; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -13; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, MakePoint(0, 10, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() invalid SRID: expected failure\n"); - *retcode = -14; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -15; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() invalid SRID: expected failure\n"); - *retcode = -16; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -17; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('LINESTRING(-40 -50, -50 -40)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() invalid SRID: expected failure\n"); - *retcode = -18; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddLink() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -19; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() invalid SRID: expected failure\n"); - *retcode = -20; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddLink() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -21; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('LINESTRING(-40 -50, -50 -40)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() invalid SRID: expected failure\n"); - *retcode = -22; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -23; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() invalid SRID: expected failure\n"); - *retcode = -24; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -25; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, MakePoint(0, 10, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -26; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -27; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -28; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -29; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, MakePoint(0, 10, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -30; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -31; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -32; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -33; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() INTEGER Geometry: expected failure\n"); - *retcode = -34; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -35; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() NULL Geometry: expected failure\n"); - *retcode = -36; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -37; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (Linestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() LINESTRING Geometry: expected failure\n"); - *retcode = -38; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() LINESTRING Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -39; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', GeomFromText('POLYGON((-40 -40, -40 -50, -50 -50, -50 -40, -40 -40))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() POLYGON Geometry: expected failure\n"); - *retcode = -40; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -41; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (MultiPoint geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', GeomFromText('MULTIPOINT(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -42; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -43; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() INTEGER Geometry: expected failure\n"); - *retcode = -44; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -45; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() NULL Geometry: expected failure\n"); - *retcode = -46; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -47; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (Linestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() LINESTRING Geometry: expected failure\n"); - *retcode = -48; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() LINESTRING Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -49; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, GeomFromText('POLYGON((-40 -40, -40 -50, -50 -50, -50 -40, -40 -40))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() POLYGON Geometry: expected failure\n"); - *retcode = -50; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -51; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (MultiPoint geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, GeomFromText('MULTIPOINT(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -52; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -53; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() INTEGER Geometry: expected failure\n"); - *retcode = -54; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, "ST_AddLink() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -55; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() NULL Geometry: expected failure\n"); - *retcode = -56; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, "ST_AddLink() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -57; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (Point geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, MakePoint(1, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() POINT Geometry: expected failure\n"); - *retcode = -58; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, "ST_AddLink() POINT Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -59; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('POLYGON((-40 -40, -40 -50, -50 -50, -50 -40, -40 -40))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() POLYGON Geometry: expected failure\n"); - *retcode = -60; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, "ST_AddLink() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -61; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (MultiLinestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('MULTILINESTRING((-40 -50, -50 -40), (-20 -20, -30 -30))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddLink() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -62; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddLink() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -63; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() INTEGER Geometry: expected failure\n"); - *retcode = -64; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -65; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() NULL Geometry: expected failure\n"); - *retcode = -66; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -67; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (Point geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, MakePoint(1, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() POINT Geometry: expected failure\n"); - *retcode = -68; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() POINT Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -69; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('POLYGON((-40 -40, -40 -50, -50 -50, -50 -40, -40 -40))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() POLYGON Geometry: expected failure\n"); - *retcode = -70; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -71; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (MultiLinestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('MULTILINESTRING((-40 -50, -50 -40), (-20 -20, -30 -30))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -72; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -73; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() INTEGER Geometry: expected failure\n"); - *retcode = -74; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -75; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() NULL Geometry: expected failure\n"); - *retcode = -76; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -77; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Linestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() LINESTRING Geometry: expected failure\n"); - *retcode = -78; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() LINESTRING Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -79; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, GeomFromText('POLYGON((-40 -40, -40 -50, -50 -50, -50 -40, -40 -40))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() POLYGON Geometry: expected failure\n"); - *retcode = -80; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -81; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (MultiPoint geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, GeomFromText('MULTIPOINT(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -82; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -83; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() INTEGER Geometry: expected failure\n"); - *retcode = -84; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -85; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() NULL Geometry: expected failure\n"); - *retcode = -86; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -87; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Linestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() LINESTRING Geometry: expected failure\n"); - *retcode = -88; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() LINESTRING Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -89; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, GeomFromText('POLYGON((-40 -40, -40 -50, -50 -50, -50 -40, -40 -40))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() POLYGON Geometry: expected failure\n"); - *retcode = -90; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -91; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (MultiPoint geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, GeomFromText('MULTIPOINT(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -92; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -93; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLogLinkSplit('roads', 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLogLinkSplit(): expected failure\n"); - *retcode = -94; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - ST_NewLogLinkSplit can't support Spatial Network; try using ST_NewGeoLinkSplit.") - != 0) - { - fprintf (stderr, "ST_NewLogLinkSplit(): unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -95; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLogLinkSplit('roads', 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLogLinkSplit(): expected failure\n"); - *retcode = -96; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - ST_ModLogLinkSplit can't support Spatial Network; try using ST_ModGeoLinkSplit.") - != 0) - { - fprintf (stderr, "ST_ModLogLinkSplit(): unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -97; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - ret = sqlite3_exec (handle, "PRAGMA foreign_keys=1", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "PRAGMA foreign_keys=1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* creating a Network 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateNetwork('roads', 1, 4326, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateNetwork() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - -/* basic tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; - -/* basic tests: level 1 */ - if (!do_level1_tests (handle, &retcode)) - goto end; - -/* basic tests: level 2 */ - if (!do_level2_tests (handle, &retcode)) - goto end; - -/* dropping the Network 2D */ - ret = - sqlite3_exec (handle, "SELECT DropNetwork('roads')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DropNetwork() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -5; - } - - end: - spatialite_finalize_topologies (cache); - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - -#endif /* end RTTOPO conditional */ - - spatialite_shutdown (); - return retcode; -} DELETED test/check_network3d.c Index: test/check_network3d.c ================================================================== --- test/check_network3d.c +++ test/check_network3d.c @@ -1,2286 +0,0 @@ -/* - - check_network3d.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level2_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 2 */ - int ret; - char *err_msg = NULL; - -/* inserting three Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(-100, -100, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -160; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(-100, -10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -161; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(-10, -10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -162; - return 0; - } - -/* inserting two Links */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 4, GeomFromText('LINESTRINGZ(-100 -10 1, -100 -100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -163; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 6, GeomFromText('LINESTRINGZ(-100 -10 1, -10 -10 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -164; - return 0; - } - -/* splitting a Link (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 3, MakePointZ(-100, -50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -165; - return 0; - } - -/* splitting a Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 4, MakePointZ(-30, -10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -166; - return 0; - } - -/* attempting to split a link (non-existing link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 333, MakePointZ(0, 0, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #2: expected failure\n"); - *retcode = -167; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -168; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a link (non-existing link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 333, MakePointZ(0, 0, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #2: expected failure\n"); - *retcode = -169; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -170; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a link (point not on link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 6, MakePointZ(-101, -60, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #3: expected failure\n"); - *retcode = -171; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - point not on link.") != 0) - { - fprintf (stderr, "ST_NewGeoLinkSplit() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -172; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a link (non-existing link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 6, MakePointZ(-101, -60, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #3: expected failure\n"); - *retcode = -173; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - point not on link.") != 0) - { - fprintf (stderr, "ST_ModGeoLinkSplit() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -174; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (same link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 4, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #1: expected failure\n"); - *retcode = -175; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Cannot heal link with itself.") != 0) - { - fprintf (stderr, "ST_NewLinkSplit() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -176; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (same link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #1: expected failure\n"); - *retcode = -177; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Cannot heal link with itself.") != 0) - { - fprintf (stderr, "ST_ModLinkSplit() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -178; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent first link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 333, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #2: expected failure\n"); - *retcode = -179; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent first link.") - != 0) - { - fprintf (stderr, "ST_NewLinkHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -180; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent first link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 333, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #2: expected failure\n"); - *retcode = -181; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent first link.") - != 0) - { - fprintf (stderr, "ST_ModLinkHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -182; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent second link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 4, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #3: expected failure\n"); - *retcode = -183; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent second link.") - != 0) - { - fprintf (stderr, "ST_NewLinkHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -184; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent second link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #3: expected failure\n"); - *retcode = -185; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent second link.") - != 0) - { - fprintf (stderr, "ST_ModLinkHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -186; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-connected links) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 7, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #4: expected failure\n"); - *retcode = -187; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected links.") != - 0) - { - fprintf (stderr, "ST_NewLinkHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -188; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-connected links) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #4: expected failure\n"); - *retcode = -189; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected links.") != - 0) - { - fprintf (stderr, "ST_ModLinkHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -190; - return 0; - } - sqlite3_free (err_msg); - -/* inserting one more Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 2, GeomFromText('LINESTRINGZ(-100 -10 1, 0 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -191; - return 0; - } - -/* attempting to heal links (other links connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 5, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #5: expected failure\n"); - *retcode = -192; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - other links connected.") != - 0) - { - fprintf (stderr, "ST_NewLinkHeal() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -193; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (other links connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 5)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #5: expected failure\n"); - *retcode = -194; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - other links connected.") != - 0) - { - fprintf (stderr, "ST_ModLinkHeal() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -195; - return 0; - } - sqlite3_free (err_msg); - -/* deleting a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 8)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -196; - return 0; - } - -/* healing a Link (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 5, 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -197; - return 0; - } - -/* healing another Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 9)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -198; - return 0; - } - -/* healing a third Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -199; - return 0; - } - -/* deleting another Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 7)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -200; - return 0; - } - -/* deleting two Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -201; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -202; - return 0; - } - -/* inserting two Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(2, 100, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -203; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(2, 90, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -204; - return 0; - } - -/* inserting a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 9, 10, GeometryFromText('LINESTRINGZ(2 100 1, 2 90 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -205; - return 0; - } - -/* retrieving a NetNode by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetNetNodeByPoint('roads', MakePoint(0, 100), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetNetNodeByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -206; - return 0; - } - -/* attempting to retrieve a NetNode by Point (two NetNodes found) */ - ret = - sqlite3_exec (handle, - "SELECT GetNetNodeByPoint('roads', MakePoint(1, 100), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetNetNodeByPoint() #2: expected failure\n"); - *retcode = -207; - return 0; - } - if (strcmp (err_msg, "Two or more net-nodes found") != 0) - { - fprintf (stderr, "GetNetNodeByPoint() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -208; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a NetNode by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetNetNodeByPoint('roads', MakePoint(1, 1), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetNetNodeByPoint() #3: expected failure\n"); - sqlite3_free (err_msg); - *retcode = -209; - return 0; - } - -/* retrieving a Link by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetLinkByPoint('roads', MakePoint(0, 50), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetLinkByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -210; - return 0; - } - -/* attempting to retrieve a Link by Point (two Links found) */ - ret = - sqlite3_exec (handle, - "SELECT GetLinkByPoint('roads', MakePoint(1, 95), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetLinkByPoint() #2: expected failure\n"); - *retcode = -211; - return 0; - } - if (strcmp (err_msg, "Two or more links found") != 0) - { - fprintf (stderr, "GetLinkByPoint() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -212; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a Link by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetLinkByPoint('roads', MakePoint(1, 1), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetLinkByPoint() #3: expected failure\n"); - sqlite3_free (err_msg); - *retcode = -213; - return 0; - } - - return 1; -} - -static int -do_level1_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 1 */ - int ret; - char *err_msg = NULL; - -/* inserting a first Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(0, 0, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -10; - return 0; - } - -/* inserting a second Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(0, 100, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -11; - return 0; - } - -/* inserting a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeometryFromText('LINESTRINGZ(0 0 1, 0 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -112; - return 0; - } - -/* attempting to insert a Node (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(0, 100, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #3: expected failure\n"); - *retcode = -113; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node.") != 0) - { - fprintf (stderr, "ST_AddIsoNetNode() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -114; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (coincident link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(0, 50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #4: expected failure\n"); - *retcode = -115; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - link crosses node.") != 0) - { - fprintf (stderr, "ST_AddIsoNetNode() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -116; - return 0; - } - sqlite3_free (err_msg); - -/* inserting a third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(99, 99, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -117; - return 0; - } - -/* moving the third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, MakePointZ(100, 100, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -118; - return 0; - } - -/* attempting to move a Node (non-existing node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 333, MakePointZ(50, 50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #2: expected failure\n"); - *retcode = -119; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -120; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, MakePointZ(0, 100, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #3: expected failure\n"); - *retcode = -121; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -122; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (coincident link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, MakePointZ(0, 50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #4: expected failure\n"); - *retcode = -123; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - link crosses node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -124; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (bad StartNode) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, GeometryFromText('LINESTRINGZ(1 1 1, 100 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #2: expected failure\n"); - *retcode = -125; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_AddLink() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -126; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (bad EndNode) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, GeometryFromText('LINESTRINGZ(0 0 1, 99 99 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #3: expected failure\n"); - *retcode = -127; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_AddLink() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -128; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (coincident Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, GeometryFromText('LINESTRINGZ(0 0 1, 0 100 1, 100 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #4: expected failure\n"); - *retcode = -129; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node.") - != 0) - { - fprintf (stderr, "ST_AddLink() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -130; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (self-closed ring) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 1, GeometryFromText('LINESTRINGZ(0 0 1, 0 100 1, 100 100 1, 0 0 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #5: expected failure\n"); - *retcode = -131; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - self-closed links are forbidden.") != 0) - { - fprintf (stderr, "ST_AddLink() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -132; - return 0; - } - sqlite3_free (err_msg); - -/* inserting a second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, GeometryFromText('LINESTRINGZ(0 0 1, 100 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -133; - return 0; - } - -/* attempting to move a Link (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, GeometryFromText('LINESTRINGZ(0 0 1, 0 100 1, 100 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #1: expected failure\n"); - *retcode = -134; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node.") - != 0) - { - fprintf (stderr, "ST_ChangeLinkGeom() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -135; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (bad start node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, GeometryFromText('LINESTRINGZ(1 1 1, 100 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #2: expected failure\n"); - *retcode = -136; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_ChangeLinkGeom() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -138; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (bad end node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, GeometryFromText('LINESTRINGZ(0 0 1, 101 101 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #3: expected failure\n"); - *retcode = -139; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_ChangeLinkGeom() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -140; - return 0; - } - sqlite3_free (err_msg); - -/* moving the second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, GeometryFromText('LINESTRINGZ(0 0 1, 0 50 1, 100 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -141; - return 0; - } - -/* attempting to move a Node (non-isolated) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, MakePointZ(0, 50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #5: expected failure\n"); - *retcode = -142; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -143; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Node (non-isolated) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 3)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #5: expected failure\n"); - *retcode = -144; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node.") != 0) - { - fprintf (stderr, "ST_RemIsoNetNode() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -145; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Link (not existing) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 33)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #1: expected failure\n"); - *retcode = -146; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_RemoveLink() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -147; - return 0; - } - sqlite3_free (err_msg); - -/* removing the second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 2)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -148; - return 0; - } - -/* removing the third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 3)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -149; - return 0; - } - - return 1; -} - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 0 */ - int ret; - char *err_msg = NULL; - -/* attempting to insert a Node (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() invalid SRID: expected failure\n"); - *retcode = -10; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -11; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() invalid SRID: expected failure\n"); - *retcode = -12; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -13; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() invalid SRID: expected failure\n"); - *retcode = -14; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -15; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() invalid SRID: expected failure\n"); - *retcode = -16; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -17; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() invalid SRID: expected failure\n"); - *retcode = -18; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddLink() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -19; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() invalid SRID: expected failure\n"); - *retcode = -20; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddLink() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -21; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() invalid SRID: expected failure\n"); - *retcode = -22; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -23; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() invalid SRID: expected failure\n"); - *retcode = -24; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -25; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -26; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -27; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -28; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -29; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -30; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -31; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -32; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -33; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() INTEGER Geometry: expected failure\n"); - *retcode = -34; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -35; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() NULL Geometry: expected failure\n"); - *retcode = -36; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -37; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (Linestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() LINESTRING Geometry: expected failure\n"); - *retcode = -38; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() LINESTRING Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -39; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', GeomFromText('POLYGONZ((-40 -40 1, -40 -50 1, -50 -50 1, -50 -40 1, -40 -40 1))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() POLYGON Geometry: expected failure\n"); - *retcode = -40; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -41; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (MultiPoint geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', GeomFromText('MULTIPOINTZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -42; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -43; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() INTEGER Geometry: expected failure\n"); - *retcode = -44; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -45; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() NULL Geometry: expected failure\n"); - *retcode = -46; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -47; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (Linestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() LINESTRING Geometry: expected failure\n"); - *retcode = -48; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() LINESTRING Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -49; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, GeomFromText('POLYGONZ((-40 -40 1, -40 -50 1, -50 -50 1, -50 -40 1, -40 -40 1))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() POLYGON Geometry: expected failure\n"); - *retcode = -50; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -51; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (MultiPoint geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, GeomFromText('MULTIPOINTZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -52; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -53; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() INTEGER Geometry: expected failure\n"); - *retcode = -54; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, "ST_AddLink() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -55; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() NULL Geometry: expected failure\n"); - *retcode = -56; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, "ST_AddLink() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -57; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (Point geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, MakePointZ(1, 1, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() POINT Geometry: expected failure\n"); - *retcode = -58; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, "ST_AddLink() POINT Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -59; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('POLYGONZ((-40 -40 1, -40 -50 1, -50 -50 1, -50 -40 1, -40 -40 1))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() POLYGON Geometry: expected failure\n"); - *retcode = -60; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, "ST_AddLink() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -61; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (MultiLinestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('MULTILINESTRINGZ((-40 -50 1, -50 -40 1), (-20 -20 1, -30 -30 1))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddLink() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -62; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_AddLink() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -63; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() INTEGER Geometry: expected failure\n"); - *retcode = -64; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -65; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() NULL Geometry: expected failure\n"); - *retcode = -66; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -67; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (Point geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, MakePointZ(1, 1, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() POINT Geometry: expected failure\n"); - *retcode = -68; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() POINT Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -69; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('POLYGONZ((-40 -40 1, -40 -50 1, -50 -50 1, -50 -40 1, -40 -40 1))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() POLYGON Geometry: expected failure\n"); - *retcode = -70; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -71; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change a Link (MultiLinestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('MULTILINESTRINGZ((-40 -50 1, -50 -40 1), (-20 -20 1, -30 -30 1))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -72; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -73; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() INTEGER Geometry: expected failure\n"); - *retcode = -74; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -75; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() NULL Geometry: expected failure\n"); - *retcode = -76; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -77; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Linestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() LINESTRING Geometry: expected failure\n"); - *retcode = -78; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() LINESTRING Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -79; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, GeomFromText('POLYGONZ((-40 -40 1, -40 -50 1, -50 -50 1, -50 -40 1, -40 -40 1))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() POLYGON Geometry: expected failure\n"); - *retcode = -80; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -81; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (MultiPoint geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, GeomFromText('MULTIPOINTZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -82; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -83; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (int geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() INTEGER Geometry: expected failure\n"); - *retcode = -84; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() INTEGER Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -85; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (NULL geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() NULL Geometry: expected failure\n"); - *retcode = -86; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Spatial Network can't accept null geometry.") - != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() NULL Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -87; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Linestring geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() LINESTRING Geometry: expected failure\n"); - *retcode = -88; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() LINESTRING Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -89; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Polygon geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, GeomFromText('POLYGONZ((-40 -40 1, -40 -50 1, -50 -50 1, -50 -40 1, -40 -40 1))', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() POLYGON Geometry: expected failure\n"); - *retcode = -90; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() POLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -91; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (MultiPoint geometry) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModGeoLinkSplit('roads', 1, GeomFromText('MULTIPOINTZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() MULTIPOLYGON Geometry: expected failure\n"); - *retcode = -92; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() MULTIPOLYGON Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -93; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLogLinkSplit('roads', 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLogLinkSplit(): expected failure\n"); - *retcode = -94; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - ST_NewLogLinkSplit can't support Spatial Network; try using ST_NewGeoLinkSplit.") - != 0) - { - fprintf (stderr, "ST_NewLogLinkSplit(): unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -95; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLogLinkSplit('roads', 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLogLinkSplit(): expected failure\n"); - *retcode = -96; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - ST_ModLogLinkSplit can't support Spatial Network; try using ST_ModGeoLinkSplit.") - != 0) - { - fprintf (stderr, "ST_ModLogLinkSplit(): unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -97; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - ret = sqlite3_exec (handle, "PRAGMA foreign_keys=1", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "PRAGMA foreign_keys=1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* creating a Network 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateNetwork('roads', 1, 4326, 1, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateNetwork() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - -/* basic tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; - -/* basic tests: level 1 */ - if (!do_level1_tests (handle, &retcode)) - goto end; - -/* basic tests: level 2 */ - if (!do_level2_tests (handle, &retcode)) - goto end; - -/* dropping the Network 2D */ - ret = - sqlite3_exec (handle, "SELECT DropNetwork('roads')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DropNetwork() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -5; - } - - end: - spatialite_finalize_topologies (cache); - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - -#endif /* end RTTOPO conditional */ - - spatialite_shutdown (); - return retcode; -} DELETED test/check_network_log.c Index: test/check_network_log.c ================================================================== --- test/check_network_log.c +++ test/check_network_log.c @@ -1,1028 +0,0 @@ -/* - - check_network3d.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level2_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 2 */ - int ret; - char *err_msg = NULL; - -/* inserting three Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -150; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -151; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -152; - return 0; - } - -/* inserting two Links */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 4, NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -153; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 6, NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -154; - return 0; - } - -/* splitting a Link (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLogLinkSplit('roads', 3)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewLogLinkSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -155; - return 0; - } - -/* splitting a Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLogLinkSplit('roads', 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModLogLinkSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -156; - return 0; - } - -/* attempting to split a link (non-existing link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLogLinkSplit('roads', 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLogLinkSplit() #2: expected failure\n"); - *retcode = -157; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_NewLogLinkSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -158; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a link (non-existing link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLogLinkSplit('roads', 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLogLinkSplit() #2: expected failure\n"); - *retcode = -159; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_ModLogLinkSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -160; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (same link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 4, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #1: expected failure\n"); - *retcode = -161; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Cannot heal link with itself.") != 0) - { - fprintf (stderr, "ST_NewLinkSplit() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -162; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (same link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #1: expected failure\n"); - *retcode = -163; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Cannot heal link with itself.") != 0) - { - fprintf (stderr, "ST_ModLinkSplit() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -164; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent first link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 333, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #2: expected failure\n"); - *retcode = -165; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent first link.") - != 0) - { - fprintf (stderr, "ST_NewLinkHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -166; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent first link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 333, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #2: expected failure\n"); - *retcode = -167; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent first link.") - != 0) - { - fprintf (stderr, "ST_ModLinkHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -168; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent second link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 4, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #3: expected failure\n"); - *retcode = -169; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent second link.") - != 0) - { - fprintf (stderr, "ST_NewLinkHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -170; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-existent second link) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #3: expected failure\n"); - *retcode = -171; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent second link.") - != 0) - { - fprintf (stderr, "ST_ModLinkHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -172; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-connected links) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 7, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #4: expected failure\n"); - *retcode = -173; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected links.") != - 0) - { - fprintf (stderr, "ST_NewLinkHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -174; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (non-connected links) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #4: expected failure\n"); - *retcode = -175; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected links.") != - 0) - { - fprintf (stderr, "ST_ModLinkHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -176; - return 0; - } - sqlite3_free (err_msg); - -/* inserting one more Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 5, 2, NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -177; - return 0; - } - -/* attempting to heal links (other links connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 5, 4)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #5: expected failure\n"); - *retcode = -178; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - other links connected.") != - 0) - { - fprintf (stderr, "ST_NewLinkHeal() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -179; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal links (other links connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 4, 5)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #5: expected failure\n"); - *retcode = -180; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - other links connected.") != - 0) - { - fprintf (stderr, "ST_ModLinkHeal() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -181; - return 0; - } - sqlite3_free (err_msg); - -/* deleting a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 8)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -182; - return 0; - } - -/* healing a Link (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewLinkHeal('roads', 5, 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewLinkHeal() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -183; - return 0; - } - -/* healing another Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 9)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -184; - return 0; - } - -/* healing a third Link (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModLinkHeal('roads', 7, 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModLinkHeal() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -185; - return 0; - } - -/* deleting another Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 7)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -186; - return 0; - } - -/* deleting two Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -187; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -188; - return 0; - } - - return 1; -} - -static int -do_level1_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 1 */ - int ret; - char *err_msg = NULL; - -/* inserting a first Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -110; - return 0; - } - -/* inserting a second Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -111; - return 0; - } - -/* inserting a Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -112; - return 0; - } - -/* inserting a third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNetNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -113; - return 0; - } - -/* moving the third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -114; - return 0; - } - -/* attempting to move a Node (non-existing node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 333, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #2: expected failure\n"); - *retcode = -115; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -116; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (self-closed ring) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 1, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #2: expected failure\n"); - *retcode = -117; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - self-closed links are forbidden.") != 0) - { - fprintf (stderr, "ST_AddLink() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -118; - return 0; - } - sqlite3_free (err_msg); - -/* inserting a second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 3, NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -119; - return 0; - } - -/* moving the second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 2, NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ChangeLinkGeom() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -120; - return 0; - } - -/* attempting to move a Node (non-isolated) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 3, NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNetNode() #3: expected failure\n"); - *retcode = -121; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNetNode() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -122; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Node (non-isolated) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 3)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #1: expected failure\n"); - *retcode = -123; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node.") != 0) - { - fprintf (stderr, "ST_RemIsoNetNode() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -124; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Link (not existing) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 33)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #1: expected failure\n"); - *retcode = -125; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent link.") != 0) - { - fprintf (stderr, "ST_RemoveLink() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -126; - return 0; - } - sqlite3_free (err_msg); - -/* removing the second Link */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemoveLink('roads', 2)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemoveLink() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -127; - return 0; - } - -/* removing the third Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNetNode('roads', 3)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNetNode() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -128; - return 0; - } - - return 1; -} - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 0 */ - int ret; - char *err_msg = NULL; - -/* attempting to insert a Node (not null geom) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNetNode('roads', MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddIsoNetNode() NotNULL Geom: expected failure\n"); - *retcode = -10; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Logical Network can't accept not null geometry.") - != 0) - { - fprintf (stderr, - "ST_AddIsoNetNode() NotNULL Geom: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -11; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (not null geom) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNetNode('roads', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_MoveIsoNetNode() NotNULL Geom: expected failure\n"); - *retcode = -12; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Logical Network can't accept not null geometry.") - != 0) - { - fprintf (stderr, - "ST_MoveIsoNetNode() NotNULL Geom: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -13; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Link (not null geom) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddLink('roads', 1, 2, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddLink() NotNULL Geom: expected failure\n"); - *retcode = -14; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Logical Network can't accept not null geometry.") - != 0) - { - fprintf (stderr, "ST_AddLink() NotNULL Geom: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -15; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Link (not null geom) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeLinkGeom('roads', 1, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeLinkGeom() NotNULL Geom: expected failure\n"); - *retcode = -16; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - Logical Network can't accept not null geometry.") - != 0) - { - fprintf (stderr, - "ST_ChangeLinkGeom() NotNULL Geom: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -17; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (not null geom) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() NotNULL Geom: expected failure\n"); - *retcode = -18; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - ST_NewGeoLinkSplit can't support Logical Network; try using ST_NewLogLinkSplit.") - != 0) - { - fprintf (stderr, - "ST_NewGeoLinkSplit() NotNULL Geom: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -19; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split a Link (Geom) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewGeoLinkSplit('roads', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: expected failure\n"); - *retcode = -20; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - ST_NewGeoLinkSplit can't support Logical Network; try using ST_NewLogLinkSplit.") - != 0) - { - fprintf (stderr, - "ST_ModGeoLinkSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -21; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a NetNode by Point (Logical Network) */ - ret = - sqlite3_exec (handle, - "SELECT GetNetNodeByPoint('roads', MakePoint(1, 100), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetNetNodeByPoint() #1: expected failure\n"); - *retcode = -22; - return 0; - } - if (strcmp - (err_msg, - "GetNetNodekByPoint() cannot be applied to Logical Network.") != 0) - { - fprintf (stderr, "GetNetNodeByPoint() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -23; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a Link by Point (Logical Network) */ - ret = - sqlite3_exec (handle, - "SELECT GetLinkByPoint('roads', MakePoint(1, 95), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetLinkByPoint() #1: expected failure\n"); - *retcode = -24; - return 0; - } - if (strcmp - (err_msg, - "GetLinkByPoint() cannot be applied to Logical Network.") != 0) - { - fprintf (stderr, "GetLinkByPoint() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -25; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - -/* creating a Logical Network */ - ret = - sqlite3_exec (handle, "SELECT CreateNetwork('roads', 0)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateNetwork() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* basic tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; - -/* basic tests: level 1 */ - if (!do_level1_tests (handle, &retcode)) - goto end; - -/* basic tests: level 2 */ - if (!do_level2_tests (handle, &retcode)) - goto end; - -/* dropping the Logical Network */ - ret = - sqlite3_exec (handle, "SELECT DropNetwork('roads')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DropNetwork() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - - end: - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - -#endif /* end RTTOPO conditional */ - - spatialite_shutdown (); - return retcode; -} Index: test/check_relations_fncts.c ================================================================== --- test/check_relations_fncts.c +++ test/check_relations_fncts.c @@ -2098,12 +2098,10 @@ gaiaSetPoint (rng->Coords, 1, 30.5, 4.5); gaiaSetPoint (rng->Coords, 2, 30.5, 30.5); gaiaSetPoint (rng->Coords, 3, 4.5, 30.5); gaiaSetPoint (rng->Coords, 4, 4.5, 4.5); - -#ifndef GEOS_ONLY_REENTRANT /* skipping legacy mode test (non-thread-safe GEOS API) */ /* Tests Polygons UnaryUnion [as in aggregate ST_Union] */ g = gaiaUnaryUnion (geom); if (g == NULL) { fprintf (stderr, "bad result at %s:%i\n", __FILE__, __LINE__); @@ -2141,11 +2139,10 @@ result, dummyResultArg); returnValue = -92; goto exit; } gaiaFreeGeomColl (g); -#endif gaiaFreeGeomColl (geom); /* Cleanup and exit */ exit: gaiaFreeGeomColl (validGeometry); DELETED test/check_sequence.c Index: test/check_sequence.c ================================================================== --- test/check_sequence.c +++ test/check_sequence.c @@ -1,416 +0,0 @@ - -/* - - check_sequence.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ -#include -#include -#include - -#include "sqlite3.h" -#include "spatialite.h" - -#include "spatialite/gg_sequence.h" - -static int -test_sequence (sqlite3 * sqlite, const char *seq_name) -{ -/* testing a single sequence */ - char *sql; - int ret; - char *err_msg = NULL; - char **results; - int rows; - int columns; - int cnt; - - for (cnt = 1; cnt <= 10; cnt++) - { - if (seq_name == NULL) - sql = sqlite3_mprintf ("SELECT sequence_nextval(NULL)"); - else - sql = sqlite3_mprintf ("SELECT sequence_nextval(%Q)", seq_name); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql); - - if (ret != SQLITE_OK) - { - fprintf (stderr, "nextval - Error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - if ((rows != 1) || (columns != 1)) - { - fprintf (stderr, - "nextval - Unexpected error: bad result: %i/%i.\n", - rows, columns); - return 0; - } - - if (atoi (results[1]) != cnt) - { - fprintf (stderr, "nextval - Unexpected value \"%s\" (%d)\n", - results[1], cnt); - return 0; - } - sqlite3_free_table (results); - - if (seq_name == NULL) - sql = sqlite3_mprintf ("SELECT sequence_currval(NULL)"); - else - sql = sqlite3_mprintf ("SELECT sequence_currval(%Q)", seq_name); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, - &columns, &err_msg); - sqlite3_free (sql); - - if (ret != SQLITE_OK) - { - fprintf (stderr, "currval - Error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - if ((rows != 1) || (columns != 1)) - { - fprintf (stderr, - "currval - Unexpected error: bad result: %i/%i.\n", - rows, columns); - return 0; - } - - if (atoi (results[1]) != cnt) - { - fprintf (stderr, "currval - Unexpected value \"%s\" (%d)\n", - results[1], cnt); - return 0; - } - sqlite3_free_table (results); - } - - return 1; -} - -static int -reset_sequence (sqlite3 * sqlite, const char *seq_name, int value) -{ -/* resetting some sequence */ - char *sql; - int ret; - char *err_msg = NULL; - char **results; - int rows; - int columns; - - if (seq_name == NULL) - sql = sqlite3_mprintf ("SELECT sequence_setval(NULL, %d)", value); - else - sql = - sqlite3_mprintf ("SELECT sequence_setval(%Q, %d)", seq_name, value); - ret = sqlite3_get_table (sqlite, sql, &results, &rows, &columns, &err_msg); - sqlite3_free (sql); - - if (ret != SQLITE_OK) - { - fprintf (stderr, "setval - Error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - if ((rows != 1) || (columns != 1)) - { - fprintf (stderr, "setval - Unexpected error: bad result: %i/%i.\n", - rows, columns); - return 0; - } - - if (atoi (results[1]) != abs (value)) - { - fprintf (stderr, "setval - Unexpected value \"%s\" (%d)\n", - results[1], value); - return 0; - } - sqlite3_free_table (results); - - return 1; -} - -static int -test_all_sequences (sqlite3 * sqlite) -{ -/* testing all sequences */ - const char *sql; - int ret; - char *err_msg = NULL; - char **results; - int rows; - int columns; - int cnt; - - for (cnt = 1; cnt <= 10; cnt++) - { - sql = - "SELECT sequence_nextval(NULL), sequence_nextval('Sequence_B'), " - "sequence_currval(NULL), sequence_lastval(), sequence_nextval('SeqA'), " - "sequence_lastval(), sequence_nextval('Sequence_C'), " - "sequence_currval('z'), sequence_nextval('z')"; - ret = - sqlite3_get_table (sqlite, sql, &results, &rows, &columns, - &err_msg); - - if (ret != SQLITE_OK) - { - fprintf (stderr, "multitest - Error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - if ((rows != 1) || (columns != 9)) - { - fprintf (stderr, - "multitest - Unexpected error: bad result: %i/%i.\n", - rows, columns); - return 0; - } - - if (atoi (results[9]) != cnt) - { - fprintf (stderr, "nextval #1 - Unexpected value \"%s\" (%d)\n", - results[9], cnt); - return 0; - } - if (atoi (results[10]) != cnt + 1000) - { - fprintf (stderr, "nextval #2 - Unexpected value \"%s\" (%d)\n", - results[10], cnt + 1000); - return 0; - } - if (atoi (results[11]) != cnt) - { - fprintf (stderr, "currval #1 - Unexpected value \"%s\" (%d)\n", - results[11], cnt); - return 0; - } - if (atoi (results[12]) != cnt + 1000) - { - fprintf (stderr, "lasttval #1 - Unexpected value \"%s\" (%d)\n", - results[12], cnt + 1000); - return 0; - } - if (atoi (results[13]) != cnt + 100) - { - fprintf (stderr, "nextval #3 - Unexpected value \"%s\" (%d)\n", - results[13], cnt + 100); - return 0; - } - if (atoi (results[14]) != cnt + 100) - { - fprintf (stderr, "lastval #1 - Unexpected value \"%s\" (%d)\n", - results[14], cnt + 100); - return 0; - } - if (atoi (results[15]) != cnt + 10000) - { - fprintf (stderr, "nextval #4 - Unexpected value \"%s\" (%d)\n", - results[15], cnt + 10000); - return 0; - } - if (cnt == 1) - { - if (results[16] != NULL) - { - fprintf (stderr, - "currval #2 - Unexpected value \"%s\" (NULL)\n", - results[16]); - return 0; - } - } - else - { - if (atoi (results[16]) != cnt - 1) - { - fprintf (stderr, - "currval #2 - Unexpected value \"%s\" (%d)\n", - results[16], cnt); - return 0; - } - } - if (atoi (results[17]) != cnt) - { - fprintf (stderr, - "nextval #5 - Unexpected value \"%s\" (%d)\n", - results[17], cnt); - return 0; - } - sqlite3_free_table (results); - } - - return 1; -} - -static int -test_capi (void *cache) -{ -/* testing the C API */ - int value; - if (gaiaCreateSequence (NULL, "xx") != NULL) - { - fprintf (stderr, "CAPI create #1 - unexpected result\n"); - return 0; - } - if (gaiaFindSequence (NULL, "xx") != NULL) - { - fprintf (stderr, "CAPI find #1 - unexpected result\n"); - return 0; - } - if (gaiaLastUsedSequence (NULL, &value) != 0) - { - fprintf (stderr, "CAPI last #1 - unexpected result\n"); - return 0; - } - if (gaiaSequenceNext (NULL, NULL) != 0) - { - fprintf (stderr, "CAPI next #1 - unexpected result\n"); - return 0; - } - if (gaiaSequenceNext (cache, NULL) != 0) - { - fprintf (stderr, "CAPI next #2 - unexpected result\n"); - return 0; - } - if (gaiaResetSequence (NULL, 1) != 0) - { - fprintf (stderr, "CAPI reset #1 - unexpected result\n"); - return 0; - } - if (gaiaCreateSequence (cache, NULL) == NULL) - { - fprintf (stderr, "CAPI create #2 - unexpected result\n"); - return 0; - } - if (gaiaCreateSequence (cache, NULL) == NULL) - { - fprintf (stderr, "CAPI create #3 - unexpected result\n"); - return 0; - } - if (gaiaCreateSequence (cache, "abc") == NULL) - { - fprintf (stderr, "CAPI create #4 - unexpected result\n"); - return 0; - } - if (gaiaCreateSequence (cache, "abc") == NULL) - { - fprintf (stderr, "CAPI create #5 - unexpected result\n"); - return 0; - } - - return 1; -} - -int -main (int argc, char *argv[]) -{ - int ret; - sqlite3 *handle; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open in-memory db: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -100; - } - - spatialite_init_ex (handle, cache, 0); - -/* testing the Unnamed Sequence */ - if (!test_sequence (handle, NULL)) - return -1; - -/* testing SeqA */ - if (!test_sequence (handle, "SeqA")) - return -2; - -/* testing Sequence_B */ - if (!test_sequence (handle, "Sequence_B")) - return -3; - -/* resetting the Unnamed Sequence */ - if (!reset_sequence (handle, NULL, 0)) - return -4; - -/* resetting SeqA */ - if (!reset_sequence (handle, "SeqA", 100)) - return -5; - -/* resetting Sequence_B */ - if (!reset_sequence (handle, "Sequence_B", 1000)) - return -6; - -/* resetting Sequence_C */ - if (!reset_sequence (handle, "Sequence_C", -10000)) - return -6; - -/* testing all sequences */ - if (!test_all_sequences (handle)) - return -7; - -/* testing the C API */ - if (!test_capi (cache)) - return -8; - - ret = sqlite3_close (handle); - if (ret != SQLITE_OK) - { - fprintf (stderr, "sqlite3_close() error: %s\n", - sqlite3_errmsg (handle)); - return -133; - } - - spatialite_cleanup_ex (cache); - spatialite_shutdown (); - - return 0; -} Index: test/check_shp_load.c ================================================================== --- test/check_shp_load.c +++ test/check_shp_load.c @@ -76,11 +76,11 @@ fprintf (stderr, "load_shapefile() error: %s\n", err_msg); sqlite3_close (handle); return -3; } -#ifdef ENABLE_RTTOPO /* only if RTTOPO is supported */ +#ifdef ENABLE_LWGEOM /* only if LWGEOM is supported */ if (p_cache == NULL) ret = check_geometry_column (handle, "test1", "geometry", "./report.html", NULL, NULL, NULL); @@ -142,11 +142,11 @@ fprintf (stderr, "sanitize_geometry_column() error\n"); sqlite3_close (handle); return -7; } -#endif /* end RTTOPO conditionals */ +#endif /* end LWGEOM conditionals */ return 0; } int main (int argc, char *argv[]) Index: test/check_shp_load_3d.c ================================================================== --- test/check_shp_load_3d.c +++ test/check_shp_load_3d.c @@ -670,11 +670,11 @@ list = gaiaGetVectorLayersList (handle, NULL, NULL, GAIA_VECTORS_LIST_OPTIMISTIC); gaiaFreeVectorLayersList (list); -#ifdef ENABLE_RTTOPO /* only if RTTOPO is supported */ +#ifdef ENABLE_LWGEOM /* only if LWGEOM is supported */ if (p_cache == NULL) ret = check_all_geometry_columns (handle, "./report", NULL, NULL); else ret = @@ -700,11 +700,11 @@ fprintf (stderr, "sanitize_all_geometry_columns() error\n"); sqlite3_close (handle); return -62; } -#endif /* end RTTOPO conditionals */ +#endif /* end LWGEOM conditionals */ /* checking gaiaGetVectorLayersList() - Table */ list = gaiaGetVectorLayersList (handle, "elem_points_xyz", NULL, GAIA_VECTORS_LIST_OPTIMISTIC); Index: test/check_sql_stmt.c ================================================================== --- test/check_sql_stmt.c +++ test/check_sql_stmt.c @@ -56,25 +56,17 @@ #include "sqlite3.h" #include "spatialite.h" #ifndef OMIT_GEOS /* including GEOS */ -#ifdef GEOS_REENTRANT -#ifdef GEOS_ONLY_REENTRANT -#define GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ -#endif -#endif #include #endif -#ifndef OMIT_PROJ /* only if PROJ is supported */ -#include -#endif - #ifdef _WIN32 #include "fnmatch4win.h" #include "scandir4win.h" +#include "asprintf4win.h" #include "fnmatch_impl4win.h" #endif struct test_data { @@ -168,11 +160,11 @@ return 1; } int do_one_case (struct db_conn *conn, const struct test_data *data, - int load_extension, int gpkg_amphibious_mode) + int load_extension) { sqlite3 *db_handle = NULL; int ret; char *err_msg = NULL; int i; @@ -268,35 +260,15 @@ sqlite3_free (err_msg); return -2; } skip_init: - if (gpkg_amphibious_mode) - { - sqlite3_exec (db_handle, "SELECT EnableGpkgAmphibiousMode()", - NULL, NULL, NULL); - } ret = sqlite3_get_table (db_handle, data->sql_statement, &results, &rows, &columns, &err_msg); - if (gpkg_amphibious_mode) - { - sqlite3_exec (db_handle, "SELECT DisableGpkgAmphibiousMode()", - NULL, NULL, NULL); - } if (ret != SQLITE_OK) { - if (data->expected_rows == 1 && data->expected_columns == 1) - { - /* checking for an expected exception */ - if (strcmp (err_msg, data->expected_results[1]) == 0) - { - /* we expected this */ - sqlite3_free (err_msg); - return 0; - } - } fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -10; } if ((rows != data->expected_rows) || (columns != data->expected_columns)) @@ -483,11 +455,11 @@ return (fnmatch ("*.testcase", entry->d_name, FNM_PERIOD) == 0); } int run_subdir_test (const char *subdirname, struct db_conn *conn, - int load_extension, int gpkg_amphibious_mode) + int load_extension) { struct dirent **namelist; int n; int i; int result = 0; @@ -500,17 +472,19 @@ } for (i = 0; i < n; ++i) { struct test_data *data; - char *path = - sqlite3_mprintf ("%s/%s", subdirname, namelist[i]->d_name); + char *path; + if (asprintf (&path, "%s/%s", subdirname, namelist[i]->d_name) < 0) + { + return -1; + } data = read_one_case (path); - sqlite3_free (path); + free (path); - result = - do_one_case (conn, data, load_extension, gpkg_amphibious_mode); + result = do_one_case (conn, data, load_extension); cleanup_test_data (data); if (result != 0) { return result; @@ -520,17 +494,17 @@ free (namelist); return result; } int -run_all_testcases (struct db_conn *conn, int load_extension, int legacy) +run_all_testcases (struct db_conn *conn, int load_extension) { int ret; int result = 0; const char *security_level; - result = run_subdir_test ("sql_stmt_tests", conn, load_extension, 0); + result = run_subdir_test ("sql_stmt_tests", conn, load_extension); if (result != 0) { return result; } @@ -538,52 +512,28 @@ if (security_level == NULL) ; else if (strcasecmp (security_level, "relaxed") == 0) { result = - run_subdir_test ("sql_stmt_security_tests", conn, load_extension, - 0); + run_subdir_test ("sql_stmt_security_tests", conn, load_extension); if (result != 0) { return result; } } - if (legacy) - { - /* skipping Sequence tests in legacy mode */ - fprintf (stderr, - "WARNING: skipping Sequence testcases in legacy mode !!!\n"); - goto skip_sequence; - } - - result = - run_subdir_test ("sql_stmt_sequence_tests", conn, load_extension, 0); - if (result != 0) - { - return result; - } - skip_sequence: - #ifndef OMIT_MATHSQL /* only if MATHSQL is supported */ - result = - run_subdir_test ("sql_stmt_mathsql_tests", conn, load_extension, 0); + result = run_subdir_test ("sql_stmt_mathsql_tests", conn, load_extension); if (result != 0) { return result; } #endif /* end MATHSQL conditional */ #ifndef OMIT_EPSG /* only if full EPSG is supported */ #ifndef OMIT_PROJ /* only if PROJ is supported */ - result = run_subdir_test ("sql_stmt_proj_tests", conn, load_extension, 0); - if (PJ_VERSION >= 493) - result = - run_subdir_test ("sql_stmt_proj493_tests", conn, load_extension, 0); - else - result = - run_subdir_test ("sql_stmt_proj492_tests", conn, load_extension, 0); + result = run_subdir_test ("sql_stmt_proj_tests", conn, load_extension); if (result != 0) { return result; } #endif /* end PROJ conditional */ @@ -600,27 +550,18 @@ */ fprintf (stderr, "WARNING: skipping GEOS testcases; obsolete version found !!!\n"); goto skip_geos; } -#ifdef GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ - if (legacy) - { - /* skipping GEOS tests in legacy mode */ - fprintf (stderr, - "WARNING: skipping GEOS testcases in legacy mode: GEOS_USE_ONLY_R_API defined !!!\n"); - goto skip_geos; - } -#endif ret = system ("cp test_geos.sqlite test_geos_x.sqlite"); if (ret != 0) { fprintf (stderr, "cannot copy test_geos database\n"); return -1; } - result = run_subdir_test ("sql_stmt_geos_tests", conn, load_extension, 0); + result = run_subdir_test ("sql_stmt_geos_tests", conn, load_extension); if (result != 0) { return result; } @@ -644,75 +585,32 @@ */ fprintf (stderr, "WARNING: skipping GEOS_ADVANCED testcases; obsolete version found !!!\n"); goto skip_geos_advanced; } -#ifdef GEOS_USE_ONLY_R_API /* only fully thread-safe GEOS API */ - if (legacy) - { - /* skipping GEOS_ADVANCED tests in legacy mode */ - fprintf (stderr, - "WARNING: skipping GEOS_ADVANCED testcases in legacy mode: GEOS_USE_ONLY_R_API defined !!!\n"); - goto skip_geos_advanced; - } -#endif result = - run_subdir_test ("sql_stmt_geosadvanced_tests", conn, load_extension, - 0); + run_subdir_test ("sql_stmt_geosadvanced_tests", conn, load_extension); + if (result != 0) + { + return result; + } + + skip_geos_advanced: +#endif /* end GEOS_ADVANCED conditional */ + +#ifdef ENABLE_LWGEOM /* only if LWGEOM is supported */ + result = run_subdir_test ("sql_stmt_lwgeom_tests", conn, load_extension); if (result != 0) { return result; } -#ifdef GEOS_REENTRANT - result = - run_subdir_test ("sql_stmt_voronoj2_tests", conn, load_extension, 0); - if (result != 0) - { - return result; - } -#else - result = - run_subdir_test ("sql_stmt_voronoj1_tests", conn, load_extension, 0); - if (result != 0) - { - return result; - } -#endif - - skip_geos_advanced: -#endif /* end GEOS_ADVANCED conditional */ - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is supported */ - if (legacy) - { - /* skipping RTTOPO tests in legacy mode */ - fprintf (stderr, - "WARNING: skipping RTTOPO testcases in legacy mode !!!\n"); - goto skip_rttopo; - } - - result = run_subdir_test ("sql_stmt_rtgeom_tests", conn, load_extension, 0); - if (result != 0) - { - return result; - } - - result = run_subdir_test ("sql_stmt_rttopo_tests", conn, load_extension, 0); - if (result != 0) - { - return result; - } - - skip_rttopo: - -#endif /* end RTTOPO conditional */ +#endif /* end LWGEOM conditional */ #ifdef ENABLE_LIBXML2 /* only if LIBXML2 is supported */ - result = - run_subdir_test ("sql_stmt_libxml2_tests", conn, load_extension, 0); + result = run_subdir_test ("sql_stmt_libxml2_tests", conn, load_extension); if (result != 0) { return result; } @@ -720,44 +618,25 @@ if (security_level == NULL) ; else if (strcasecmp (security_level, "relaxed") == 0) { result = - run_subdir_test ("sql_stmt_xmlsec_tests", conn, load_extension, - 0); + run_subdir_test ("sql_stmt_xmlsec_tests", conn, load_extension); if (result != 0) { return result; } } #endif /* end LIBXML2 conditional */ #ifdef ENABLE_GEOPACKAGE /* only if GeoPackage support is enabled */ - if (!legacy) + result = + run_subdir_test ("sql_stmt_geopackage_tests", conn, load_extension); + if (result != 0) { - result = - run_subdir_test ("sql_stmt_geopackage_tests", conn, - load_extension, 1); - if (result != 0) - { - return result; - } -#ifndef OMIT_EPSG /* EPSG is supported */ - if (PJ_VERSION >= 493) - result = - run_subdir_test ("sql_stmt_gpkg_epsg493_tests", conn, - load_extension, 1); - else - result = - run_subdir_test ("sql_stmt_gpkg_epsg492_tests", conn, - load_extension, 1); - if (result != 0) - { - return result; - } -#endif /* end EPSG conditional */ + return result; } #endif /* end GEOPACKAGE conditional */ #ifndef OMIT_FREEXL /* FREEXL is enabled */ @@ -765,63 +644,18 @@ if (security_level == NULL) ; else if (strcasecmp (security_level, "relaxed") == 0) { result = - run_subdir_test ("sql_stmt_freexl_tests", conn, load_extension, - 0); + run_subdir_test ("sql_stmt_freexl_tests", conn, load_extension); if (result != 0) { return result; } } #endif /* end FREEXL support */ -/* testing global settings SQL functions */ - if (legacy) - { - result = - run_subdir_test ("sql_stmt_nocache_tests", conn, load_extension, - 0); - if (result != 0) - { - return result; - } - } - else - { - result = - run_subdir_test ("sql_stmt_cache_tests", conn, load_extension, 0); - if (result != 0) - { - return result; - } - } - -#ifdef ENABLE_GEOPACKAGE /* only if GeoPackage support is enabled */ - if (legacy) - { - result = - run_subdir_test ("sql_stmt_gpkgnocache_tests", conn, - load_extension, 0); - if (result != 0) - { - return result; - } - } - else - { - result = - run_subdir_test ("sql_stmt_gpkgcache_tests", conn, load_extension, - 0); - if (result != 0) - { - return result; - } - } -#endif /* end GEOPACKAGE conditional */ - return result; } int run_specified_testcases (int argc, char *argv[], struct db_conn *conn, @@ -832,11 +666,11 @@ for (i = 1; i < argc; ++i) { struct test_data *data; data = read_one_case (argv[i]); - result = do_one_case (conn, data, load_extension, 0); + result = do_one_case (conn, data, load_extension); cleanup_test_data (data); if (result != 0) { break; } @@ -855,11 +689,11 @@ conn.cache = cache; /* testing in current mode */ if (argc == 1) { - result = run_all_testcases (&conn, 0, 0); + result = run_all_testcases (&conn, 0); } else { result = run_specified_testcases (argc, argv, &conn, 0); } @@ -880,11 +714,11 @@ /* testing again in legacy mode */ fprintf (stderr, "\n****************** testing again in legacy mode\n\n"); if (argc == 1) { - result = run_all_testcases (&conn, 0, 1); + result = run_all_testcases (&conn, 0); } else { result = run_specified_testcases (argc, argv, &conn, 0); } @@ -896,11 +730,11 @@ /* testing again in load_extension mode */ fprintf (stderr, "\n****************** testing again in load_extension mode\n\n"); if (argc == 1) { - result = run_all_testcases (&conn, 1, 0); + result = run_all_testcases (&conn, 1); } else { result = run_specified_testcases (argc, argv, &conn, 1); } DELETED test/check_topology2d.c Index: test/check_topology2d.c ================================================================== --- test/check_topology2d.c +++ test/check_topology2d.c @@ -1,3081 +0,0 @@ -/* - - check_topology2d.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level6_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 6 */ - int ret; - char *err_msg = NULL; - -/* retrieving a Node by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetNodeByPoint('topo', MakePoint(152, 160))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetNodeByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -300; - return 0; - } - -/* attempting to retrieve a Node by Point (two Nodes found) */ - ret = - sqlite3_exec (handle, - "SELECT GetNodeByPoint('topo', MakePoint(152, 160), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetNodeByPoint() #2: expected failure\n"); - *retcode = -301; - return 0; - } - if (strcmp (err_msg, "Two or more nodes found") != 0) - { - fprintf (stderr, "GetNodeByPoint() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -302; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a Node by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetNodeByPoint('topo', MakePoint(1, 1))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetNodeByPoint() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -303; - return 0; - } - -/* retrieving an Edge by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetEdgeByPoint('topo', MakePoint(154, 167))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetEdgeByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -304; - return 0; - } - -/* attempting to retrieve an Edge by Point (two Edges found) */ - ret = - sqlite3_exec (handle, - "SELECT GetEdgeByPoint('topo', MakePoint(151, 159), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetEdgeByPoint() #2: expected failure\n"); - *retcode = -305; - return 0; - } - if (strcmp (err_msg, "Two or more edges found") != 0) - { - fprintf (stderr, "GetEdgeByPoint() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -306; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve an Edge by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetEdgeByPoint('topo', MakePoint(1, 1))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetEdgeByPoint() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -307; - return 0; - } - -/* retrieving a Face by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetFaceByPoint('topo', MakePoint(153, 161))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetFaceByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -308; - return 0; - } - -/* attempting to retrieve a Face by Point (two Faces found) */ - ret = - sqlite3_exec (handle, - "SELECT GetFaceByPoint('topo', MakePoint(149, 149), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetFaceByPoint() #2: expected failure\n"); - *retcode = -309; - return 0; - } - if (strcmp (err_msg, "Two or more faces found") != 0) - { - fprintf (stderr, "GetFaceByPoint() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -310; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a Face by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetFaceByPoint('topo', MakePoint(1, 1))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetFaceByPoint() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -311; - return 0; - } - -/* adding four Points */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(10, -10, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -312; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(25, -10, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -313; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(50, -10, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -314; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(100, -10, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -315; - return 0; - } - -/* adding four Linestrings */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(10 -10, 100 -10)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -316; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(10 -25, 100 -25)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -317; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(10 -50, 100 -50)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -318; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(10 -100, 100 -100)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -319; - return 0; - } - -/* adding four more Points */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(10, -100, 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -320; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(25, -100, 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -321; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(50, -100, 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -322; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(100, -100, 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -323; - return 0; - } - -/* adding five more Linestrings */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(10 -10, 10 -100)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -324; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(25 -10, 25 -100)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -325; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(50 -10, 50 -100)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -326; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(100 -10, 100 -100)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -327; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRING(10 -10, 100 -100)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #9 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -328; - return 0; - } - -/* adding two more Points (MultiPoint) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', GeomFromText('MULTIPOINT(130 -30, 90 -30)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #11 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -329; - return 0; - } - -/* adding five more Linestrings (MultiLinestring) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('MULTILINESTRING((90 -30, 130 -30), " - "(90 -70, 130 -70), (90 -83, 130 -83), (90 -30, 90 -83), (130 -83, 130 -30))', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -330; - return 0; - } - - return 1; -} - -static int -do_level5_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 5 */ - int ret; - char *err_msg = NULL; - -/* inserting four Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-50, 10, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #20 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -250; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-50, 20, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #21 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -251; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-50, 40, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #22 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -252; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-50, 50, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #23 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -253; - return 0; - } - -/* inserting Edges */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 18, 19, GeomFromText('LINESTRING(-50 10, -50 20)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #13 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -254; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 21, 20, GeomFromText('LINESTRING(-50 50, -50 40)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #14 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -255; - return 0; - } - -/* adding more Edges (ModFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 20, 19, GeomFromText('LINESTRING(-50 40, -50 20)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #11 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -256; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 18, 21, GeomFromText('LINESTRING(-50 10, -100 10, -100 50, -50 50)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -257; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 19, 20, GeomFromText('LINESTRING(-50 20, -80 20, -80 40, -50 40)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #13 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -258; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 19, 20, GeomFromText('LINESTRING(-50 20, -30 20, -30 40, -50 40)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #14 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -259; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 21, 18, GeomFromText('LINESTRING(-50 50, -10 50, -10 10, -50 10)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #15 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -260; - return 0; - } - -/* attempting to remove an Edge (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeModFace('topo', 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeModFace() #1: expected failure\n"); - *retcode = -261; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_RemEdgeModFace() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -262; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove an Edge (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeNewFace('topo', 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeNewFace() #1: expected failure\n"); - *retcode = -263; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_RemEdgeNewFace() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -264; - return 0; - } - sqlite3_free (err_msg); - -/* removing an Edge (NewFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeNewFace('topo', 17)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeNewFace() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -265; - return 0; - } - -/* removing an Edge (NewFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeNewFace('topo', 18)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeNewFace() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -266; - return 0; - } - -/* attempting to heal Edges (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 14, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #1: expected failure\n"); - *retcode = -267; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_ModEdgeHeal() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -268; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 333, 14)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #2: expected failure\n"); - *retcode = -269; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_ModEdgeHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -270; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 14, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #1: expected failure\n"); - *retcode = -271; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_NewEdgeHeal() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -272; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 333, 14)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #2: expected failure\n"); - *retcode = -273; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_NewEdgeHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -274; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (no common Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 14, 13)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #3: expected failure\n"); - *retcode = -275; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected edges") != 0) - { - fprintf (stderr, "ST_NewEdgeHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -276; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (no common Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 13, 14)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #3: expected failure\n"); - *retcode = -277; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected edges") != 0) - { - fprintf (stderr, "ST_ModEdgeHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -278; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (other Edges connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 14, 16)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #4: expected failure\n"); - *retcode = -280; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - other edges connected (19)") != 0) - { - fprintf (stderr, "ST_ModEdgeHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -281; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (other Edges connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NeWEdgeHeal('topo', 16, 14)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #4: expected failure\n"); - *retcode = -282; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - other edges connected (19)") != 0) - { - fprintf (stderr, "ST_NewEdgeHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -283; - return 0; - } - sqlite3_free (err_msg); - -/* healing Edges (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 14, 15)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -284; - return 0; - } - -/* healing Edges (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 13, 14)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -285; - return 0; - } - -/* removing an Edge (NewFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeNewFace('topo', 20)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeNewFace() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -286; - return 0; - } - -/* healing Edges (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 16, 19)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -287; - return 0; - } - -/* removing an Edge (ModFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeModFace('topo', 21)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeModFace() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -288; - return 0; - } - -/* removing a Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNode('topo', 18)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNode() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -289; - return 0; - } - -/* inserting two Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(99, 98, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #24 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -290; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(98, 99, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #25 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -291; - return 0; - } - -/* inserting an Isolated Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 22, 23, GeomFromText('LINESTRING(99 98, 98 99)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #15 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -292; - return 0; - } - -/* removing an Isolated Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoEdge('topo', 22)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoEdge() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -293; - return 0; - } - - return 1; -} - -static int -do_level4_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 4 */ - int ret; - char *err_msg = NULL; - -/* inserting three Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-40, -50, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #16 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -150; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-49, -49, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #17 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -151; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-50, -40, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #18 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -152; - return 0; - } - -/* inserting an Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 14, 16, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #11 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -153; - return 0; - } - -/* moving a Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 15, MakePoint(-50, -50, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -154; - return 0; - } - -/* attempting to move a Node (non-existing node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 333, MakePoint(-51, -51, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #2: expected failure\n"); - *retcode = -155; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_MoveIsoNode() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -156; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 15, MakePoint(-40, -50, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #3: expected failure\n"); - *retcode = -157; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node") != 0) - { - fprintf (stderr, "ST_MoveIsoNode() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -158; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (edge crosses node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 15, MakePoint(-45, -45, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #4: expected failure\n"); - *retcode = -159; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - edge crosses node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNode() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -160; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (non-isolated node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 14, MakePoint(-45, -45, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #5: expected failure\n"); - *retcode = -161; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node") != 0) - { - fprintf (stderr, "ST_MoveIsoNode() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -162; - return 0; - } - sqlite3_free (err_msg); - -/* changing an Edge Geom */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRING(-40 -50, -40 -40, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -163; - return 0; - } - -/* attempting to change en Edge Geom (curve not simple) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRING(-40 -50, -50 -30, -40 -30, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #2: expected failure\n"); - *retcode = -164; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - curve not simple") != 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -165; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change en Edge Geom (start geometry not geometry start point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRING(-40 -51, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #3: expected failure\n"); - *retcode = -166; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -167; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change en Edge Geom (end geometry not geometry end point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRING(-40 -50, -51 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #4: expected failure\n"); - *retcode = -168; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -169; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change en Edge Geom (geometry crosses a node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRING(-40 -50, -50 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #5: expected failure\n"); - *retcode = -170; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node") - != 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -171; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change en Edge Geom (non existing edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 111, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #6: expected failure\n"); - *retcode = -172; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 111") != - 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #6: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -173; - return 0; - } - sqlite3_free (err_msg); - -/* inserting yet another Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-44, -44, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #19 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -174; - return 0; - } - -/* inserting yet another Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 15, 17, GeomFromText('LINESTRING(-50 -50, -44 -44)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -175; - return 0; - } - -/* attempting to change en Edge Geom (geometry intersects an edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #7: expected failure\n"); - *retcode = -170; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses edge 12") - != 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #7: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -171; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Node (non-isolated) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNode('topo', 15)", NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNode() #1: expected failure\n"); - *retcode = -172; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node") != 0) - { - fprintf (stderr, "ST_RemIsoNode() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -173; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Node (not existing) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNode('topo', 155)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNode() #2: expected failure\n"); - *retcode = -174; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_RemIsoNode() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -175; - return 0; - } - sqlite3_free (err_msg); - -/* removing a Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNode('topo', 5)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -176; - return 0; - } - - return 1; -} - -static int -do_level3_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 3 */ - int ret; - char *err_msg = NULL; - -/* inserting a first Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(150, 150, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #9 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -70; - return 0; - } - -/* inserting a second Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(180, 180, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #10 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -71; - return 0; - } - -/* inserting an Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 8, 9, GeomFromText('LINESTRING(150 150, 180 150, 180 180)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -72; - return 0; - } - -/* adding an Edge (ModFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 9, GeomFromText('LINESTRING(150 150, 150 180, 180 180)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -73; - return 0; - } - -/* testing Face Geometry */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -74; - return 0; - } - -/* attempting to test Face Geometry (non-existing face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 111)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #2: expected failure\n"); - *retcode = -75; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent face.") != 0) - { - fprintf (stderr, "ST_GetFaceGeometry() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -76; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to test Face Geometry (universe face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #3: expected failure\n"); - *retcode = -77; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - universal face has no geometry") != 0) - { - fprintf (stderr, "ST_GetFaceGeometry() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -78; - return 0; - } - sqlite3_free (err_msg); - -/* testing Face Edges */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceEdges('topo', 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceEdges() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -79; - return 0; - } - -/* attempting to test Face Edges (non-existing face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceEdges('topo', 111)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceEdges() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -80; - return 0; - } - -/* attempting to test Face Edges (universe face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceEdges('topo', 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceEdges() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -80; - return 0; - } - -/* attempting to add an invalid Edge (curve not simple) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 9, GeomFromText('LINESTRING(150 150, 170 150, 160 150, 180 180)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #2: expected failure\n"); - *retcode = -84; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - curve not simple") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -81; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (non-existent start node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 18, 9, GeomFromText('LINESTRING(150 150, 150 180, 180 180)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #3: expected failure\n"); - *retcode = -85; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -86; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (non-existent end node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 19, GeomFromText('LINESTRING(150 150, 150 180, 180 180)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #4: expected failure\n"); - *retcode = -87; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -88; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (start node not geometry start point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 9, GeomFromText('LINESTRING(151 150, 150 180, 180 180)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #5: expected failure\n"); - *retcode = -89; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -90; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (end node not geometry end point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 9, GeomFromText('LINESTRING(150 150, 150 180, 181 180)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #6: expected failure\n"); - *retcode = -91; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #6: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -92; - return 0; - } - sqlite3_free (err_msg); - -/* adding an Edge (NewFaces) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 8, 9, GeomFromText('LINESTRING(150 150, 180 180)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -93; - return 0; - } - -/* inserting three Nodes within a Face */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(152, 160, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #11 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -94; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(154, 160, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -95; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', 3, MakePoint(152, 170, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -96; - return 0; - } - -/* inserting a Node within the other Face */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(178, 170, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #13 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -97; - return 0; - } - -/* attempting to add an invalid Node (node crosses edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(178, 178, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #14: expected failure\n"); - *retcode = -98; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - edge crosses node.") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #14: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -99; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Node (not within face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', 3, MakePoint(179, 160, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #15: expected failure\n"); - *retcode = -100; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not within face") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #15: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -101; - return 0; - } - sqlite3_free (err_msg); - -/* inserting an Edge within a Face */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 10, 11, GeomFromText('LINESTRING(152 160, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -102; - return 0; - } - -/* attempting to add an invalid Edge (nodes in different faces) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 12, 13, GeomFromText('LINESTRING(152 170, 178 170)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #9: expected failure\n"); - *retcode = -103; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - nodes in different faces") != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #9: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -104; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (geometry crosses a Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 10, 11, GeomFromText('LINESTRING(152 160, 152 170, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #7: expected failure\n"); - *retcode = -105; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node") - != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #7: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -106; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (geometry crosses an Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 10, 11, GeomFromText('LINESTRING(152 160, 153 161, 153 159, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #8: expected failure\n"); - *retcode = -107; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses edge 8") - != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #8: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -108; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (coincident Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 11, 10, GeomFromText('LINESTRING(154 160, 152 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #9: expected failure\n"); - *retcode = -109; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident edge 8") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #9: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -110; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (curve not simple) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRING(152 160, 154 162, 152 162, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #2: expected failure\n"); - *retcode = -111; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - curve not simple") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -112; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (non-existent start node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 18, 11, GeomFromText('LINESTRING(152 160, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #3: expected failure\n"); - *retcode = -113; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -114; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (non-existent end node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 19, GeomFromText('LINESTRING(152 160, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #4: expected failure\n"); - *retcode = -115; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -116; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (start node not geometry start point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRING(52 160, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #5: expected failure\n"); - *retcode = -117; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -118; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (end node not geometry end point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRING(152 160, 54 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #6: expected failure\n"); - *retcode = -119; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #6: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -120; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (geometry crosses a Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRING(152 160, 152 170, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #7: expected failure\n"); - *retcode = -121; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node") - != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #7: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -122; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (geometry crosses an Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRING(152 160, 153 161, 153 159, 154 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #8: expected failure\n"); - *retcode = -123; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses edge 8") - != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #8: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -124; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (coincident Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 11, 10, GeomFromText('LINESTRING(154 160, 152 160)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #9: expected failure\n"); - *retcode = -125; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident edge 8") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #9: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -126; - return 0; - } - sqlite3_free (err_msg); - -/* creating new Faces (hole) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 11, 10, GeomFromText('LINESTRING(154 160, 154 167, 152 167, 152 160)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #10 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -127; - return 0; - } - -/* attempting to add an invalid Edge (closed ring) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 13, 13, GeomFromText('LINESTRING(178 170, 178 161, 170 161, 178 170)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #10: expected failure\n"); - *retcode = -128; - return 0; - } - if (strcmp - (err_msg, - "Closed edges would not be isolated, try rtt_AddEdgeNewFaces") != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #10: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -129; - return 0; - } - sqlite3_free (err_msg); - -/* adding an Edge/Face (closed ring) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 13, 13, GeomFromText('LINESTRING(178 170, 178 161, 170 161, 178 170)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #10 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -130; - return 0; - } - -/* testing Face Geometry (Faces with internal hole) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -131; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -132; - return 0; - } - -/* testing Face Edges (Faces with internal hole) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceEdges('topo', 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceEdges() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -133; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceEdges('topo', 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceEdges() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -134; - return 0; - } - - return 1; -} - -static int -do_level2_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 2 */ - int ret; - char *err_msg = NULL; - -/* splitting an Edge (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 1, MakePoint(0, 50, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -50; - return 0; - } - -/* attempting to split an Edge (non-existent edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 100, MakePoint(0, 25, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeSplit() #2: expected failure\n"); - *retcode = -51; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge") != 0) - { - fprintf (stderr, "ST_ModEdgeSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -52; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (point not on edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 2, MakePoint(0, 25, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeSplit() #3: expected failure\n"); - *retcode = -53; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - point not on edge") != 0) - { - fprintf (stderr, "ST_ModEdgeSplit() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -54; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 1, MakePoint(0, 50, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeSplit() #4: expected failure\n"); - *retcode = -55; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node") != 0) - { - fprintf (stderr, "ST_ModEdgeSplit() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -56; - return 0; - } - sqlite3_free (err_msg); - -/* splitting an Edge (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 2, MakePoint(0, 75, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -57; - return 0; - } - -/* attempting to split an Edge (non-existent edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 100, MakePoint(0, 25, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgesSplit() #2: expected failure\n"); - *retcode = -58; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge") != 0) - { - fprintf (stderr, "ST_NewEdgesSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -59; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (point not on edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 3, MakePoint(0, 25, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgesSplit() #3: expected failure\n"); - *retcode = -60; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - point not on edge") != 0) - { - fprintf (stderr, "ST_ModEdgeSplit() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -61; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 1, MakePoint(0, 50, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgesSplit() #4: expected failure\n"); - *retcode = -62; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node") != 0) - { - fprintf (stderr, "ST_NewEdgesSplit() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -62; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -static int -do_level1_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 1 */ - int ret; - char *err_msg = NULL; - -/* inserting a first Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(0, 0, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -10; - return 0; - } - -/* inserting a second Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(0, 100, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -11; - return 0; - } - -/* attempting to insert an invalid Edge (curve not simple) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 1, 2, GeomFromText('LINESTRING(0 0, 0 90, 10 90, 10 80, 0 80, 0 100)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #1: expected failure\n"); - *retcode = -12; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - curve not simple") != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -13; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Edge (start node not geometry start point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 1, 2, GeomFromText('LINESTRING(1 0, 0 100)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #2: expected failure\n"); - *retcode = -14; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_AddIsoEdge() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -15; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Edge (end node not geometry end point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 1, 2, GeomFromText('LINESTRING(0 0, 1 100)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #3: expected failure\n"); - *retcode = -16; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -17; - return 0; - } - sqlite3_free (err_msg); - -/* inserting an Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 1, 2, GeomFromText('LINESTRING(0 0, 0 100)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -18; - return 0; - } - -/* attempting to insert an invalid Node (coincident) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(0, 0, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #3: expected failure\n"); - *retcode = -19; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -20; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Node (edge crosses node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #4: expected failure\n"); - *retcode = -21; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - edge crosses node.") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -22; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Node (not within face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', 1, MakePoint(10, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #5: expected failure\n"); - *retcode = -23; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not within face") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -24; - return 0; - } - sqlite3_free (err_msg); - -/* inserting more Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(-1, 99, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -25; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(1, 101, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -26; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(1, 98, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -26; - return 0; - } - -/* attempting to insert an invalid Edge (geometry crosses a node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 3, 4, GeomFromText('LINESTRING(-1 99, 1 101)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #5: expected failure\n"); - *retcode = -27; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node") - != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -28; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Edge (geometry intersects an edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 3, 5, GeomFromText('LINESTRING(-1 99, 1 98)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #6: expected failure\n"); - *retcode = -29; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses edge 1") - != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #6: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -30; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 0 */ - int ret; - char *err_msg = NULL; - -/* attempting to insert a Node (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(0, 10, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() invalid SRID: expected failure\n"); - *retcode = -190; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddIsoNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -191; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() invalid SRID: expected failure\n"); - *retcode = -192; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddIsoNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -193; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 1, MakePoint(0, 10, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: expected failure\n"); - *retcode = -194; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -195; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 1, MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: expected failure\n"); - *retcode = -196; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -197; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 14, 16, GeomFromText('LINESTRING(-40 -50, -50 -40)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() invalid SRID: expected failure\n"); - *retcode = -198; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddIsoEdge() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -199; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 14, 16, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() invalid SRID: expected failure\n"); - *retcode = -200; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddIsoEdge() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -201; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 1, GeomFromText('LINESTRING(-40 -50, -50 -40)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeEdgeGeom() invalid SRID: expected failure\n"); - *retcode = -202; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ChangeEdgeGeom() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -203; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 1, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeEdgeGeom() invalid SRID: expected failure\n"); - *retcode = -204; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ChangeEdgeGeom() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -205; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 1, MakePoint(0, 10, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: expected failure\n"); - *retcode = -206; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ModEdgeSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -207; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 1, MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: expected failure\n"); - *retcode = -208; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ModEdgeSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -209; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 1, MakePoint(0, 10, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewEdgesSplit() invalid SRID: expected failure\n"); - *retcode = -210; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_NewEdgesSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -211; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 1, MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewEdgesSplit() invalid SRID: expected failure\n"); - *retcode = -212; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_NewEdgesSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -213; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 1, 2, GeomFromText('LINESTRING(-40 -50, -50 -40)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddEdgeModFace() invalid SRID: expected failure\n"); - *retcode = -214; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddEdgeModFace() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -215; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 1, 2, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddEdgeModFace() invalid SRID: expected failure\n"); - *retcode = -216; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddEdgeModFace() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -217; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 1, 2, GeomFromText('LINESTRING(-40 -50, -50 -40)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddEdgeNewFaces() invalid SRID: expected failure\n"); - *retcode = -218; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddEdgeNewFaces() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -221; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 1, 2, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddEdgeNewFaces() invalid SRID: expected failure\n"); - *retcode = -220; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddEdgeNewFaces() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -221; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add a Point (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(1, 1, 3003), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddPoint() invalid SRID: expected failure\n"); - *retcode = -222; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddPoint() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -223; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add a Point (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(1, 1, 1, 4326), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddPoint() invalid SRID: expected failure\n"); - *retcode = -224; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddPoint() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -225; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add a Linestring (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLinestring('topo', GeomFromText('LINESTRING(-40 -50, -50 -40)', 3003), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddLinestring() invalid SRID: expected failure\n"); - *retcode = -226; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddLinestring() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -227; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add a Linestring (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLinestring('topo', GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddLinestring() invalid SRID: expected failure\n"); - *retcode = -228; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddLinestring() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -229; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - if (sqlite3_libversion_number () < 3008003) - { - fprintf (stderr, - "*** check_topology2d skipped: libsqlite < 3.8.3 !!!\n"); - goto end; - } - - ret = sqlite3_exec (handle, "PRAGMA foreign_keys=1", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "PRAGMA foreign_keys=1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('topo', 4326, 0, 0)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - -/* basic tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; - -/* basic tests: level 1 */ - if (!do_level1_tests (handle, &retcode)) - goto end; - -/* basic tests: level 2 */ - if (!do_level2_tests (handle, &retcode)) - goto end; - -/* basic tests: level 3 */ - if (!do_level3_tests (handle, &retcode)) - goto end; - -/* basic tests: level 4 */ - if (!do_level4_tests (handle, &retcode)) - goto end; - -/* basic tests: level 5 */ - if (!do_level5_tests (handle, &retcode)) - goto end; - -/* basic tests: level 6 */ - if (!do_level6_tests (handle, &retcode)) - goto end; - -/* dropping the Topology 2D */ - ret = - sqlite3_exec (handle, "SELECT DropTopology('topo')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DropTopology() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -5; - } - - end: - spatialite_finalize_topologies (cache); - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - -#endif /* end RTTOPO conditional */ - - spatialite_shutdown (); - return retcode; -} DELETED test/check_topology3d.c Index: test/check_topology3d.c ================================================================== --- test/check_topology3d.c +++ test/check_topology3d.c @@ -1,3006 +0,0 @@ -/* - - check_topology3d.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level6_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 6 */ - int ret; - char *err_msg = NULL; - -/* retrieving a Node by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetNodeByPoint('topo', MakePointZ(152, 160, 1))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetNodeByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -300; - return 0; - } - -/* attempting to retrieve a Node by Point (two Nodes found) */ - ret = - sqlite3_exec (handle, - "SELECT GetNodeByPoint('topo', MakePoint(152, 160), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetNodeByPoint() #2: expected failure\n"); - *retcode = -301; - return 0; - } - if (strcmp (err_msg, "Two or more nodes found") != 0) - { - fprintf (stderr, "GetNodeByPoint() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -302; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a Node by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetNodeByPoint('topo', MakePoint(1, 1))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetNodeByPoint() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -303; - return 0; - } - -/* retrieving an Edge by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetEdgeByPoint('topo', MakePointZ(154, 167, 1))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetEdgeByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -304; - return 0; - } - -/* attempting to retrieve an Edge by Point (two Edges found) */ - ret = - sqlite3_exec (handle, - "SELECT GetEdgeByPoint('topo', MakePoint(151, 159), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetEdgeByPoint() #2: expected failure\n"); - *retcode = -305; - return 0; - } - if (strcmp (err_msg, "Two or more edges found") != 0) - { - fprintf (stderr, "GetEdgeByPoint() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -306; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve an Edge by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetEdgeByPoint('topo', MakePoint(1, 1))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetEdgeByPoint() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -307; - return 0; - } - -/* retrieving a Face by Point */ - ret = - sqlite3_exec (handle, - "SELECT GetFaceByPoint('topo', MakePoint(153, 161))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetFaceByPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -308; - return 0; - } - -/* attempting to retrieve a Face by Point (two Faces found) */ - ret = - sqlite3_exec (handle, - "SELECT GetFaceByPoint('topo', MakePoint(149, 149), 3.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "GetFaceByPoint() #2: expected failure\n"); - *retcode = -309; - return 0; - } - if (strcmp (err_msg, "Two or more faces found") != 0) - { - fprintf (stderr, "GetFaceByPoint() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -310; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to retrieve a Face by Point (not found) */ - ret = - sqlite3_exec (handle, - "SELECT GetFaceByPoint('topo', MakePointZ(1, 1, 1))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "GetFaceByPoint() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -311; - return 0; - } - -/* adding four Points */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(10, -10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -312; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(25, -10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -313; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(50, -10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -314; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(100, -10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -315; - return 0; - } - -/* adding four Linestrings */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(10 -10 1, 100 -10 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -316; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(10 -25 1, 100 -25 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -317; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(10 -50 1, 100 -50 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -318; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(10 -100 1, 100 -100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -319; - return 0; - } - -/* adding four more Points */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(10, -100, 1, 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -320; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(25, -100, 1, 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -321; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(50, -100, 1, 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -322; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(100, -100, 1, 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -323; - return 0; - } - -/* adding five more Linestrings */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(10 -10 1, 10 -100 1)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -324; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(25 -10 1, 25 -100 1)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -325; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(50 -10 1, 50 -100 1)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -326; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(100 -10 1, 100 -100 1)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -327; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('LINESTRINGZ(10 -10 1, 100 -100 1)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #9 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -328; - return 0; - } - -/* adding two more Points (MultiPoint) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', GeomFromText('MULTIPOINTZ(130 -30 1, 90 -30 1)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddPoint() #11 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -329; - return 0; - } - -/* adding five more Linestrings (MultiLinestring) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineString('topo', GeomFromText('MULTILINESTRINGZ((90 -30 1, 130 -30 1), " - "(90 -70 1, 130 -70 1), (90 -83 1, 130 -83 1), (90 -30 1, 90 -83 1), (130 -83 1, 130 -30 1))', 4326), 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineString() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -330; - return 0; - } - - return 1; -} - -static int -do_level5_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 5 */ - int ret; - char *err_msg = NULL; - -/* inserting four Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-50, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #20 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -250; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-50, 20, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #21 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -251; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-50, 40, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #22 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -252; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-50, 50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #23 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -253; - return 0; - } - -/* inserting Edges */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 18, 19, GeomFromText('LINESTRINGZ(-50 10 1, -50 20 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #13 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -254; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 21, 20, GeomFromText('LINESTRINGZ(-50 50 1, -50 40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #14 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -255; - return 0; - } - -/* adding more Edges (ModFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 20, 19, GeomFromText('LINESTRINGZ(-50 40 1, -50 20 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #11 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -256; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 18, 21, GeomFromText('LINESTRINGZ(-50 10 1, -100 10 1, -100 50 1, -50 50 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -257; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 19, 20, GeomFromText('LINESTRINGZ(-50 20 1, -80 20 1, -80 40 1, -50 40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #13 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -258; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 19, 20, GeomFromText('LINESTRINGZ(-50 20 1, -30 20 1, -30 40 1, -50 40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #14 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -259; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 21, 18, GeomFromText('LINESTRINGZ(-50 50 1, -10 50 1, -10 10 1, -50 10 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #15 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -260; - return 0; - } - -/* attempting to remove an Edge (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeModFace('topo', 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeModFace() #1: expected failure\n"); - *retcode = -261; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_RemEdgeModFace() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -262; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove an Edge (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeNewFace('topo', 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeNewFace() #1: expected failure\n"); - *retcode = -263; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_RemEdgeNewFace() #1: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -264; - return 0; - } - sqlite3_free (err_msg); - -/* removing an Edge (NewFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeNewFace('topo', 17)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeNewFace() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -265; - return 0; - } - -/* removing an Edge (NewFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeNewFace('topo', 18)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeNewFace() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -266; - return 0; - } - -/* attempting to heal Edges (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 14, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #1: expected failure\n"); - *retcode = -267; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_ModEdgeHeal() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -268; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 333, 14)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #2: expected failure\n"); - *retcode = -269; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_ModEdgeHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -270; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 14, 333)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #1: expected failure\n"); - *retcode = -271; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_NewEdgeHeal() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -272; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (non-existing Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 333, 14)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #2: expected failure\n"); - *retcode = -273; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 333") != - 0) - { - fprintf (stderr, "ST_NewEdgeHeal() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -274; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (no common Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 14, 13)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #3: expected failure\n"); - *retcode = -275; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected edges") != 0) - { - fprintf (stderr, "ST_NewEdgeHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -276; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (no common Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 13, 14)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #3: expected failure\n"); - *retcode = -277; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-connected edges") != 0) - { - fprintf (stderr, "ST_ModEdgeHeal() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -278; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (other Edges connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 14, 16)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #4: expected failure\n"); - *retcode = -280; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - other edges connected (19)") != 0) - { - fprintf (stderr, "ST_ModEdgeHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -281; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to heal Edges (other Edges connected) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NeWEdgeHeal('topo', 16, 14)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #4: expected failure\n"); - *retcode = -282; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - other edges connected (19)") != 0) - { - fprintf (stderr, "ST_NewEdgeHeal() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -283; - return 0; - } - sqlite3_free (err_msg); - -/* healing Edges (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeHeal('topo', 14, 15)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeHeal() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -284; - return 0; - } - -/* healing Edges (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 13, 14)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -285; - return 0; - } - -/* removing an Edge (NewFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeNewFace('topo', 20)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeNewFace() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -286; - return 0; - } - -/* healing Edges (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgeHeal('topo', 16, 19)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeHeal() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -287; - return 0; - } - -/* removing an Edge (ModFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemEdgeModFace('topo', 21)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemEdgeModFace() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -288; - return 0; - } - -/* removing a Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNode('topo', 18)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNode() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -289; - return 0; - } - - return 1; -} - -static int -do_level4_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 4 */ - int ret; - char *err_msg = NULL; - -/* inserting three Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-40, -50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #16 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -150; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-49, -49, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #17 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -151; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-50, -40, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #18 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -152; - return 0; - } - -/* inserting an Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 14, 16, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #11 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -153; - return 0; - } - -/* moving a Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 15, MakePointZ(-50, -50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -154; - return 0; - } - -/* attempting to move a Node (non-existing node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 333, MakePointZ(-51, -51, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #2: expected failure\n"); - *retcode = -155; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_MoveIsoNode() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -156; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 15, MakePointZ(-40, -50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #3: expected failure\n"); - *retcode = -157; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node") != 0) - { - fprintf (stderr, "ST_MoveIsoNode() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -158; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (edge crosses node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 15, MakePointZ(-45, -45, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #4: expected failure\n"); - *retcode = -159; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - edge crosses node.") != 0) - { - fprintf (stderr, "ST_MoveIsoNode() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -160; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (non-isolated node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 14, MakePointZ(-45, -45, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() #5: expected failure\n"); - *retcode = -161; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node") != 0) - { - fprintf (stderr, "ST_MoveIsoNode() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -162; - return 0; - } - sqlite3_free (err_msg); - -/* changing an Edge Geom */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRINGZ(-40 -50 1, -40 -40 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -163; - return 0; - } - -/* attempting to change en Edge Geom (curve not simple) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -30 1, -40 -30 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #2: expected failure\n"); - *retcode = -164; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - curve not simple") != 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -165; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change en Edge Geom (start geometry not geometry start point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRINGZ(-40 -51 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #3: expected failure\n"); - *retcode = -166; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -167; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change en Edge Geom (end geometry not geometry end point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRINGZ(-40 -50 1, -51 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #4: expected failure\n"); - *retcode = -168; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -169; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change en Edge Geom (geometry crosses a node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #5: expected failure\n"); - *retcode = -170; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node") - != 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -171; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change en Edge Geom (non existing edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 111, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #6: expected failure\n"); - *retcode = -172; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge 111") != - 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #6: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -173; - return 0; - } - sqlite3_free (err_msg); - -/* inserting yet another Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-44, -44, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #19 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -174; - return 0; - } - -/* inserting yet another Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 15, 17, GeomFromText('LINESTRINGZ(-50 -50 1, -44 -44 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -175; - return 0; - } - -/* attempting to change en Edge Geom (geometry intersects an edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 11, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #7: expected failure\n"); - *retcode = -170; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses edge 12") - != 0) - { - fprintf (stderr, "ST_ChangeEdgeGeom() #7: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -171; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Node (non-isolated) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNode('topo', 15)", NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNode() #1: expected failure\n"); - *retcode = -172; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not isolated node") != 0) - { - fprintf (stderr, "ST_RemIsoNode() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -173; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a Node (not existing) */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNode('topo', 155)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNode() #2: expected failure\n"); - *retcode = -174; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_RemIsoNode() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -175; - return 0; - } - sqlite3_free (err_msg); - -/* removing a Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_RemIsoNode('topo', 5)", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_RemIsoNode() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -176; - return 0; - } - - return 1; -} - -static int -do_level3_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 3 */ - int ret; - char *err_msg = NULL; - -/* inserting a first Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(150, 150, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #9 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -70; - return 0; - } - -/* inserting a second Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(180, 180, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #10 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -71; - return 0; - } - -/* inserting an Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 8, 9, GeomFromText('LINESTRINGZ(150 150 1, 180 150 1, 180 180 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -72; - return 0; - } - -/* adding an Edge (ModFace) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 9, GeomFromText('LINESTRINGZ(150 150 1, 150 180 1, 180 180 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -73; - return 0; - } - -/* testing Face Geometry */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -74; - return 0; - } - -/* attempting to test Face Geometry (non-existing face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 111)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #2: expected failure\n"); - *retcode = -75; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent face.") != 0) - { - fprintf (stderr, "ST_GetFaceGeometry() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -76; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to test Face Geometry (universe face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #3: expected failure\n"); - *retcode = -77; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - universal face has no geometry") != 0) - { - fprintf (stderr, "ST_GetFaceGeometry() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -78; - return 0; - } - sqlite3_free (err_msg); - -/* testing Face Edges */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceEdges('topo', 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceEdges() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -79; - return 0; - } - -/* attempting to add an invalid Edge (curve not simple) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 9, GeomFromText('LINESTRINGZ(150 150 1, 170 150 1, 160 150 1, 180 180 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #2: expected failure\n"); - *retcode = -80; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - curve not simple") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -81; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (non-existent start node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 18, 9, GeomFromText('LINESTRINGZ(150 150 1, 150 180 1, 180 180 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #3: expected failure\n"); - *retcode = -82; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -83; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (non-existent end node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 19, GeomFromText('LINESTRINGZ(150 150 1, 150 180 1, 180 180 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #4: expected failure\n"); - *retcode = -84; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -85; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (start node not geometry start point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 9, GeomFromText('LINESTRINGZ(151 150 1, 150 180 1, 180 180 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #5: expected failure\n"); - *retcode = -86; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -87; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (end node not geometry end point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 8, 9, GeomFromText('LINESTRINGZ(150 150 1, 150 180 1, 181 180 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #6: expected failure\n"); - *retcode = -88; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #6: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -89; - return 0; - } - sqlite3_free (err_msg); - -/* adding an Edge (NewFaces) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 8, 9, GeomFromText('LINESTRINGZ(150 150 1, 180 180 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -90; - return 0; - } - -/* inserting three Nodes within a Face */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(152, 160, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #11 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -91; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(154, 160, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -92; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', 3, MakePointZ(152, 170, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #12 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -93; - return 0; - } - -/* inserting a Node within the other Face */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(178, 170, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #13 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -94; - return 0; - } - -/* attempting to add an invalid Node (node crosses edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(178, 178, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #14: expected failure\n"); - *retcode = -95; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - edge crosses node.") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #14: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -96; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Node (not within face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', 3, MakePointZ(179, 160, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #15: expected failure\n"); - *retcode = -97; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not within face") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #15: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -98; - return 0; - } - sqlite3_free (err_msg); - -/* inserting an Edge within a Face */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 10, 11, GeomFromText('LINESTRINGZ(152 160 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -99; - return 0; - } - -/* attempting to add an invalid Edge (nodes in different faces) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 12, 13, GeomFromText('LINESTRINGZ(152 170 1, 178 170 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #9: expected failure\n"); - *retcode = -100; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - nodes in different faces") != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #9: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -101; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (geometry crosses a Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 10, 11, GeomFromText('LINESTRINGZ(152 160 1, 152 170 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #7: expected failure\n"); - *retcode = -102; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node") - != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #7: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -103; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (geometry crosses an Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 10, 11, GeomFromText('LINESTRINGZ(152 160 1, 153 161 1, 153 159 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #8: expected failure\n"); - *retcode = -104; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses edge 8") - != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #8: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -105; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (coincident Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 11, 10, GeomFromText('LINESTRINGZ(154 160 1, 152 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #9: expected failure\n"); - *retcode = -106; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident edge 8") != 0) - { - fprintf (stderr, "ST_AddEdgeModFace() #9: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -107; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (curve not simple) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRINGZ(152 160 1, 154 162 1, 152 162 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #2: expected failure\n"); - *retcode = -108; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - curve not simple") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -109; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (non-existent start node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 18, 11, GeomFromText('LINESTRINGZ(152 160 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #3: expected failure\n"); - *retcode = -110; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -111; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (non-existent end node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 19, GeomFromText('LINESTRINGZ(152 160 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #4: expected failure\n"); - *retcode = -112; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent node") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -113; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (start node not geometry start point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRINGZ(52 160 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #5: expected failure\n"); - *retcode = -114; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #5: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -115; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (end node not geometry end point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRINGZ(152 160 1, 54 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #6: expected failure\n"); - *retcode = -116; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #6: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -117; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (geometry crosses a Node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRINGZ(152 160 1, 152 170 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #7: expected failure\n"); - *retcode = -118; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node") - != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #7: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -119; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (geometry crosses an Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 10, 11, GeomFromText('LINESTRINGZ(152 160 1, 153 161 1, 153 159 1, 154 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #8: expected failure\n"); - *retcode = -120; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses edge 8") - != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #8: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -121; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an invalid Edge (coincident Edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 11, 10, GeomFromText('LINESTRINGZ(154 160 1, 152 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #9: expected failure\n"); - *retcode = -122; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident edge 8") != 0) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #9: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -123; - return 0; - } - sqlite3_free (err_msg); - -/* creating new Faces (hole) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 11, 10, GeomFromText('LINESTRINGZ(154 160 1, 154 167 1, 152 167 1, 152 160 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeNewFaces() #10 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -124; - return 0; - } - -/* attempting to add an invalid Edge (closed ring) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 13, 13, GeomFromText('LINESTRINGZ(178 170 1, 178 161 1, 170 161 1, 178 170 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #10: expected failure\n"); - *retcode = -125; - return 0; - } - if (strcmp - (err_msg, - "Closed edges would not be isolated, try rtt_AddEdgeNewFaces") != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #10: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -126; - return 0; - } - sqlite3_free (err_msg); - -/* adding an Edge/Face (closed ring) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 13, 13, GeomFromText('LINESTRINGZ(178 170 1, 178 161 1, 170 161 1, 178 170 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddEdgeModFace() #10 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -127; - return 0; - } - -/* testing Face Geometry (Faces with internal hole) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -128; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceGeometry('topo', 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceGeometry() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -129; - return 0; - } - -/* testing Face Edges (Faces with internal hole) */ - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceEdges('topo', 4)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceEdges() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -130; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_GetFaceEdges('topo', 6)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_GetFaceEdges() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -131; - return 0; - } - - return 1; -} - -static int -do_level2_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 2 */ - int ret; - char *err_msg = NULL; - -/* splitting an Edge (Mod) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 1, MakePointZ(0, 50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -50; - return 0; - } - -/* attempting to split an Edge (non-existent edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 100, MakePointZ(0, 25, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeSplit() #2: expected failure\n"); - *retcode = -51; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge") != 0) - { - fprintf (stderr, "ST_ModEdgeSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -52; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (point not on edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 2, MakePointZ(0, 25, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeSplit() #3: expected failure\n"); - *retcode = -53; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - point not on edge") != 0) - { - fprintf (stderr, "ST_ModEdgeSplit() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -54; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 1, MakePointZ(0, 50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_ModEdgeSplit() #4: expected failure\n"); - *retcode = -55; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node") != 0) - { - fprintf (stderr, "ST_ModEdgeSplit() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -56; - return 0; - } - sqlite3_free (err_msg); - -/* splitting an Edge (New) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 2, MakePointZ(0, 75, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgeSplit() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -57; - return 0; - } - -/* attempting to split an Edge (non-existent edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 100, MakePointZ(0, 25, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgesSplit() #2: expected failure\n"); - *retcode = -58; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-existent edge") != 0) - { - fprintf (stderr, "ST_NewEdgesSplit() #2: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -59; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (point not on edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 3, MakePointZ(0, 25, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgesSplit() #3: expected failure\n"); - *retcode = -60; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - point not on edge") != 0) - { - fprintf (stderr, "ST_ModEdgeSplit() #3: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -61; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (coincident node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 1, MakePointZ(0, 50, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_NewEdgesSplit() #4: expected failure\n"); - *retcode = -62; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node") != 0) - { - fprintf (stderr, "ST_NewEdgesSplit() #4: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -62; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -static int -do_level1_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 1 */ - int ret; - char *err_msg = NULL; - -/* inserting a first Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(0, 0, 2, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -10; - return 0; - } - -/* inserting a second Node */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(0, 100, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -11; - return 0; - } - -/* attempting to insert an invalid Edge (curve not simple) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 1, 2, GeomFromText('LINESTRINGZ(0 0 1, 0 90 1, 10 90 1, 10 80 1, 0 80 1, 0 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #1: expected failure\n"); - *retcode = -12; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - curve not simple") != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #1: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -13; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Edge (start node not geometry start point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 1, 2, GeomFromText('LINESTRINGZ(1 0 1, 0 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #2: expected failure\n"); - *retcode = -14; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - start node not geometry start point.") != - 0) - { - fprintf (stderr, "ST_AddIsoEdge() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -15; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Edge (end node not geometry end point) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 1, 2, GeomFromText('LINESTRINGZ(0 0 1, 1 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #3: expected failure\n"); - *retcode = -16; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - end node not geometry end point.") != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -17; - return 0; - } - sqlite3_free (err_msg); - -/* inserting an Edge */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 1, 2, GeomFromText('LINESTRINGZ(0 0 1, 0 100 1)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -18; - return 0; - } - -/* attempting to insert an invalid Node (coincident) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(0, 0, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #3: expected failure\n"); - *retcode = -19; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - coincident node") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #3: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -20; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Node (edge crosses node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(0, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #4: expected failure\n"); - *retcode = -21; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - edge crosses node.") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #4: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -22; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Node (not within face) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', 1, MakePointZ(10, 10, 1, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #5: expected failure\n"); - *retcode = -23; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - not within face") != 0) - { - fprintf (stderr, "ST_AddIsoNode() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -24; - return 0; - } - sqlite3_free (err_msg); - -/* inserting more Nodes */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(-1, 99, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -25; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(1, 101, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -26; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(1, 98, 1, 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -26; - return 0; - } - -/* attempting to insert an invalid Edge (geometry crosses a node) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 3, 4, GeomFromText('LINESTRINGZ(-1 99 1, 1 101 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #5: expected failure\n"); - *retcode = -27; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses a node") - != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #5: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -28; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert an invalid Edge (geometry intersects an edge) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 3, 5, GeomFromText('LINESTRINGZ(-1 99 1, 1 98 1)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() #6: expected failure\n"); - *retcode = -29; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - geometry crosses edge 1") - != 0) - { - fprintf (stderr, "ST_AddIsoEdge() #6: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -30; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 0 */ - int ret; - char *err_msg = NULL; - -/* attempting to insert a Node (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() invalid SRID: expected failure\n"); - *retcode = -190; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddIsoNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -191; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to insert a Node (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoNode('topo', NULL, MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoNode() invalid SRID: expected failure\n"); - *retcode = -192; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddIsoNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -193; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: expected failure\n"); - *retcode = -194; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -195; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to move a Node (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_MoveIsoNode('topo', 1, MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: expected failure\n"); - *retcode = -196; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -197; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 14, 16, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() invalid SRID: expected failure\n"); - *retcode = -198; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddIsoEdge() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -199; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddIsoEdge('topo', 14, 16, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_AddIsoEdge() invalid SRID: expected failure\n"); - *retcode = -200; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "ST_AddIsoEdge() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -201; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 1, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeEdgeGeom() invalid SRID: expected failure\n"); - *retcode = -202; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ChangeEdgeGeom() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -203; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to change an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ChangeEdgeGeom('topo', 1, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_ChangeEdgeGeom() invalid SRID: expected failure\n"); - *retcode = -204; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ChangeEdgeGeom() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -205; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: expected failure\n"); - *retcode = -206; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ModEdgeSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -207; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ModEdgeSplit('topo', 1, MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_MoveIsoNode() invalid SRID: expected failure\n"); - *retcode = -208; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_ModEdgeSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -209; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 1, MakePointZ(0, 10, 1, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewEdgesSplit() invalid SRID: expected failure\n"); - *retcode = -210; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_NewEdgesSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -211; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to split an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_NewEdgesSplit('topo', 1, MakePoint(0, 10, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_NewEdgesSplit() invalid SRID: expected failure\n"); - *retcode = -212; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_NewEdgesSplit() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -213; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 1, 2, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddEdgeModFace() invalid SRID: expected failure\n"); - *retcode = -214; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddEdgeModFace() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -215; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeModFace('topo', 1, 2, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddEdgeModFace() invalid SRID: expected failure\n"); - *retcode = -216; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddEdgeModFace() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -217; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 1, 2, GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 2)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddEdgeNewFaces() invalid SRID: expected failure\n"); - *retcode = -218; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddEdgeNewFaces() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -221; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add an Edge (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT ST_AddEdgeNewFaces('topo', 1, 2, GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_AddEdgeNewFaces() invalid SRID: expected failure\n"); - *retcode = -220; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_AddEdgeNewFaces() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -221; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add a Point (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePointZ(1, 1, 1, 3003), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddPoint() invalid SRID: expected failure\n"); - *retcode = -222; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddPoint() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -223; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add a Point (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddPoint('topo', MakePoint(1, 1, 4326), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddPoint() invalid SRID: expected failure\n"); - *retcode = -224; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddPoint() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -225; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add a Linestring (invalid SRID) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLinestring('topo', GeomFromText('LINESTRINGZ(-40 -50 1, -50 -40 1)', 3003), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddLinestring() invalid SRID: expected failure\n"); - *retcode = -226; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddLinestring() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -227; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to add a Linestring (invalid DIMs) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLinestring('topo', GeomFromText('LINESTRING(-40 -50, -50 -40)', 4326), 0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddLinestring() invalid SRID: expected failure\n"); - *retcode = -228; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddLinestring() invalid SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -229; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - if (sqlite3_libversion_number () < 3008003) - { - fprintf (stderr, - "*** check_topology3d skipped: libsqlite < 3.8.3 !!!\n"); - goto end; - } - - ret = sqlite3_exec (handle, "PRAGMA foreign_keys=1", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "PRAGMA foreign_keys=1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* creating a Topology 3D */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('topo', 4326, 1, 0)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - -/* basic tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; - -/* basic tests: level 1 */ - if (!do_level1_tests (handle, &retcode)) - goto end; - -/* basic tests: level 2 */ - if (!do_level2_tests (handle, &retcode)) - goto end; - -/* basic tests: level 3 */ - if (!do_level3_tests (handle, &retcode)) - goto end; - -/* basic tests: level 4 */ - if (!do_level4_tests (handle, &retcode)) - goto end; - -/* basic tests: level 5 */ - if (!do_level5_tests (handle, &retcode)) - goto end; - -/* basic tests: level 6 */ - if (!do_level6_tests (handle, &retcode)) - goto end; - -/* dropping the Topology 3D */ - ret = - sqlite3_exec (handle, "SELECT DropTopology('topo')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DropTopology() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -5; - } - - end: - spatialite_finalize_topologies (cache); - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - -#endif /* end RTTOPO conditional */ - - spatialite_shutdown (); - return retcode; -} DELETED test/check_toponoface2d.c Index: test/check_toponoface2d.c ================================================================== --- test/check_toponoface2d.c +++ test/check_toponoface2d.c @@ -1,956 +0,0 @@ -/* - - check_toponoface2d.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2016 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 0 tests */ - int ret; - char *err_msg = NULL; - -/* building Faces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('topo')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -50; - return 0; - } - -/* adding four Linestrings forming a Rectangle */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(-150 80, 150 80)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -51; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(-150 -80, 150 -80)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #2 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -52; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(-150 80, -150 -80)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #3 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -53; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(150 80, 150 -80)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNpFace() #4 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -54; - return 0; - } - -/* adding a closed Linestring */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(-10 10, 10 10, 10 -10, -10 -10, -10 10)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #4 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -55; - return 0; - } - -/* adding a self-intersecting and closed Linestring */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(-120 -70, 120 70, -120 70, 120 -70, -120 -70)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #5 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -56; - return 0; - } - -/* adding a first MultiLinestring */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('MULTILINESTRING(" - "(-180 90, 180 90), (-180 80, 180 80), (-180 70, 180 70), (-180 60, 180 60), " - "(-180 50, 180 50), (-180 40, 180 40), (-180 30, 180 30), (-180 20, 180 20), " - "(-180 10, 180 10), (-180 0, 180 0), (-180 -10, 180 -10), (-180 -20, 180 -20), " - "(-180 -30, 180 -30), (-180 -40, 180 -40), (-180 -50, 180 -50), " - "(-180 -60, 180 -60), (-180 -70, 180 -70), (-180 -80, 180 -80), " - "(-180 -90, 180 -90))', 4326))", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #6 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -57; - return 0; - } - -/* adding a second MultiLinestring */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('MULTILINESTRING(" - "(-180 90, -180 -90), (-170 90, -170 -90), (-160 90, -160 -90), " - "(-150 90, -150 -90), (-140 90, -140 -90), (-130 90, -130 -90), " - "(-120 90, -120 -90), (-110 90, -110 -90), (-100 90, -100 -90), " - "(-90 90, -90 -90), (-80 90, -80 -90), (-70 90, -70 -90), (-60 90, -60 -90), " - "(-50 90, -50 -90), (-40 90, -40 -90), (-30 90, -30 -90), (-20 90, -20 -90), " - "(-10 90, -10 -90), (0 90, 0 -90), (10 90, 10 -90), (20 90, 20 -90), " - "(30 90, 30 -90), (40 90, 40 -90), (50 90, 50 -90), (60 90, 60 -90), " - "(70 90, 70 -90), (80 90, 80 -90), (90 90, 90 -90), (100 90, 100 -90), " - "(110 90, 110 -90), (120 90, 120 -90), (130 90, 130 -90), " - "(140 90, 140 -90), (150 90, 150 -90), (160 90, 160 -90), " - "(170 90, 170 -90), (180 90, 180 -90))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #7 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -58; - return 0; - } - -/* building Faces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('topo')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -59; - return 0; - } - - return 1; -} - -static int -do_level1_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 1 tests */ - int ret; - char *err_msg = NULL; - int i; - char **results; - int rows; - int columns; - int invalid = 0; - -/* adding more closed Linestrings */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(-175 85, -165 85, -165 75, -175 75, -175 85)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #8 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -60; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(-175 -85, -165 -85, -165 -75, -175 -75, -175 -85)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #9 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -61; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(175 85, 165 85, 165 75, 175 75, 175 85)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #10 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -62; - return 0; - } - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(175 -85, 165 -85, 165 -75, 175 -75, 175 -85)', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLineStringNoFace() #11 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -63; - return 0; - } - -/* re-building Faces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('topo')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -64; - return 0; - } - -/* re-building Faces - conditional mode */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('topo')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -65; - return 0; - } - -/* unconditionally re-building Faces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('topo', 1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -65; - return 0; - } - -/* validating this TopoGeo */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidateTopoGeo('topo')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidateTopoGeo() #1: error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -66; - return 0; - } - -/* testing for a valid TopoGeo */ - ret = - sqlite3_get_table (handle, "SELECT Count(*) FROM topo_validate_topogeo", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "test ValidateTopoGeo() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -67; - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - invalid = 1; - } - sqlite3_free_table (results); - if (invalid) - { - fprintf (stderr, "Topology 'topo' is invalid !!!"); - *retcode = -68; - return 0; - } - - return 1; -} - -static int -do_level2_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 2 tests */ - int ret; - char *err_msg = NULL; - int i; - char **results; - int rows; - int columns; - int invalid = 0; - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('elba', 32632, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode = -70; - return 0; - } - -/* loading a Polygon GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFace('elba', NULL, 'elba_pg', NULL, 512)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTableNoFace() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -71; - return 0; - } - -/* loading a Linestring GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFace('elba', NULL, 'elba_ln', NULL, 512)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTableNoFace() #2 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -72; - return 0; - } - -/* building Faces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('elba')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -73; - return 0; - } - -/* validating this TopoGeo */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidateTopoGeo('elba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidateTopoGeo() #2: error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -74; - return 0; - } - -/* testing for a valid TopoGeo */ - ret = - sqlite3_get_table (handle, "SELECT Count(*) FROM elba_validate_topogeo", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "test ValidateTopoGeo() #2: error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -75; - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - invalid = 1; - } - sqlite3_free_table (results); - if (invalid) - { - fprintf (stderr, "Topology 'elba' is invalid !!!"); - *retcode = -76; - return 0; - } - - return 1; -} - -static int -do_level3_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 3 tests */ - int ret; - char *err_msg = NULL; - int i; - char **results; - int rows; - int columns; - int invalid = 0; - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('elbaext', 32632, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - *retcode = -80; - return 0; - } - -/* loading a Polygon GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFaceExt('elbaext', NULL, 'elba_pg', NULL, 'dustbin', 'dustbinview', 512)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTableNoFaceExt() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -81; - return 0; - } - -/* loading a Linestring GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFaceExt('elbaext', NULL, 'elba_ln', NULL, 'dustbin2', 'dustbinview2', 512)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTableNoFaceExt() #2 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -92; - return 0; - } - -/* building Faces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('elbaext')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -83; - return 0; - } - -/* validating this TopoGeo */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidateTopoGeo('elbaext')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidateTopoGeo() #3: error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -84; - return 0; - } - -/* testing for a valid TopoGeo */ - ret = - sqlite3_get_table (handle, - "SELECT Count(*) FROM elbaext_validate_topogeo", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "test ValidateTopoGeo() #3: error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -85; - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - invalid = 1; - } - sqlite3_free_table (results); - if (invalid) - { - fprintf (stderr, "Topology 'elbaext' is invalid !!!"); - *retcode = -86; - return 0; - } - - return 1; -} - -static int -do_level4_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 4 tests - INVALID CASES */ - int ret; - char *err_msg = NULL; - -/* adding a Linestring - wrong SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRING(-150 80, 150 80)', 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddLineStringNoFace() #12 unexpected succes\n"); - sqlite3_free (err_msg); - *retcode = -90; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddLineStringNoFace() #12 - unexpected: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -91; - return 0; - } - sqlite3_free (err_msg); - -/* adding a Linestring - wrong dimensions */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('LINESTRINGZ(-150 80 10, 150 80 20)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddLineStringNoFace() #13 unexpected succes\n"); - sqlite3_free (err_msg); - *retcode = -92; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_AddLineStringNoFace() #13 - unexpected: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -93; - return 0; - } - sqlite3_free (err_msg); - -/* adding a Point - wrong type */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_AddLineStringNoFace('topo', GeomFromText('POINT(-150 80)', 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_AddLineStringNoFace() #13 unexpected succes\n"); - sqlite3_free (err_msg); - *retcode = -94; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid argument.") != 0) - { - fprintf (stderr, - "TopoGeo_AddLineStringNoFace() #13 - unexpected: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -95; - return 0; - } - sqlite3_free (err_msg); - -/* loading a Polygon GeoTable - not existing */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFace('elba', NULL, 'elba_wannabe', NULL, 512)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableNoFace() #3 - unexpected success\n"); - *retcode = -96; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") - != 0) - { - fprintf (stderr, "TopoGeo_FromGeoTableNoFace() #3 - unexpected: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -96; - return 0; - } - sqlite3_free (err_msg); - -/* loading a Polygon GeoTable - invalid dimensions */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFace('elba', NULL, 'merano', NULL, 512)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableNoFace() #4 - unexpected success\n"); - *retcode = -97; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, "TopoGeo_FromGeoTableNoFace() #4 - unexpected: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -99; - return 0; - } - sqlite3_free (err_msg); - -/* loading a Polygon GeoTable Extended - not existing */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFaceExt('elbaext', NULL, 'elba_wannabe', NULL, 'dustbin5', 'dustbinview5', 512)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableNoFaceExt() #3 - unexpected success\n"); - *retcode = -100; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") - != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableNoFaceExt() #3 - unexpected: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -101; - return 0; - } - sqlite3_free (err_msg); - -/* loading a Polygon GeoTable Extended - invalid dimensions */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFaceExt('elbaext', NULL, 'merano', NULL, 'dustbin6', 'dustbinview6', 512)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableNoFaceExt() #4 - unexpected success\n"); - *retcode = -102; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableNoFaceExt() #4 - unexpected: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -103; - return 0; - } - sqlite3_free (err_msg); - -/* loading a Linestring GeoTable Extended - already existing dustbin view */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFaceExt('elbaext', NULL, 'elba_ln', NULL, 'dustbin7', 'dustbinview', 512)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableNoFaceExt() #4 unexpected success\n"); - *retcode = -104; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - unable to create the dustbin view.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableNoFaceExt() #4 - unexpected: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -105; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - char *old_SPATIALITE_SECURITY_ENV = NULL; -#ifdef _WIN32 - char *env; -#endif /* not WIN32 */ - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - old_SPATIALITE_SECURITY_ENV = getenv ("SPATIALITE_SECURITY"); -#ifdef _WIN32 - putenv ("SPATIALITE_SECURITY=relaxed"); -#else /* not WIN32 */ - setenv ("SPATIALITE_SECURITY", "relaxed", 1); -#endif - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - if (sqlite3_libversion_number () < 3008003) - { - fprintf (stderr, - "*** check_toponoface2d skipped: libsqlite < 3.8.3 !!!\n"); - goto end; - } - - ret = sqlite3_exec (handle, "PRAGMA foreign_keys=1", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "PRAGMA foreign_keys=1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, - "SELECT CreateTopology('topo', 4326, 0, 0.000001)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - -/* importing Elba (polygons) from SHP */ - ret = - sqlite3_exec (handle, - "SELECT ImportSHP('./elba-pg', 'elba_pg', 'CP1252', 32632)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ImportSHP() elba-pg error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -5; - } - -/* importing Elba (linestrings) from SHP */ - ret = - sqlite3_exec (handle, - "SELECT ImportSHP('./elba-ln', 'elba_ln', 'CP1252', 32632)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ImportSHP() elba-ln error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -6; - } - -/* importing Merano Roads (linestrings) from SHP */ - ret = - sqlite3_exec (handle, - "SELECT ImportSHP('./shp/merano-3d/polygons', 'merano', 'UTF-8', 32632)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ImportSHP() roads error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -7; - } - - if (old_SPATIALITE_SECURITY_ENV) - { -#ifdef _WIN32 - env = - sqlite3_mprintf ("SPATIALITE_SECURITY=%s", - old_SPATIALITE_SECURITY_ENV); - putenv (env); - sqlite3_free (env); -#else /* not WIN32 */ - setenv ("SPATIALITE_SECURITY", old_SPATIALITE_SECURITY_ENV, 1); -#endif - } - else - { -#ifdef _WIN32 - putenv ("SPATIALITE_SECURITY="); -#else /* not WIN32 */ - unsetenv ("SPATIALITE_SECURITY"); -#endif - } - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('elba', 32632, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -8; - } - -/*tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; - -/*tests: level 1 */ - if (!do_level1_tests (handle, &retcode)) - goto end; - -/*tests: level 2 */ - if (!do_level2_tests (handle, &retcode)) - goto end; - -/*tests: level 3 */ - if (!do_level3_tests (handle, &retcode)) - goto end; - -/*tests: level 4 */ - if (!do_level4_tests (handle, &retcode)) - goto end; - - end: - spatialite_finalize_topologies (cache); - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - -#endif /* end RTTOPO conditional */ - - spatialite_shutdown (); - return retcode; -} DELETED test/check_topoplus.c Index: test/check_topoplus.c ================================================================== --- test/check_topoplus.c +++ test/check_topoplus.c @@ -1,4307 +0,0 @@ -/* - - check_topoplus.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2011 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level9_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 9 */ - int ret; - char *err_msg = NULL; - int i; - char **results; - int rows; - int columns; - int valid; - -/* updating TopoSeeds */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_UpdateSeeds('elba_clone')", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_UpdateSeeds() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -300; - return 0; - } - -/* testing TopoGeo_SnapPointToSeed - ok */ - if (sqlite3_get_table - (handle, - "SELECT ST_AsText(TopoGeo_SnapPointToSeed(MakePoint(612452.7, 4730202.4, 32632), 'elba_clone', 1.0))", - &results, &rows, &columns, &err_msg) != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_SnapPointToSeed() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -301; - return 0; - } - valid = 1; - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns)]; - if (strcmp (value, "POINT(612452.924936 4730202.975964)") != 0) - { - fprintf (stderr, "TopoGeo_SnapPointToSeed() #2 error: %s\n", - value); - valid = 0; - } - } - sqlite3_free_table (results); - if (!valid) - { - *retcode = -302; - return 0; - } - -/* testing TopoGeo_SnapPointToSeed - no Seed within distance */ - if (sqlite3_get_table - (handle, - "SELECT ST_AsText(TopoGeo_SnapPointToSeed(MakePoint(2.7, 4.9, 32632), 'elba_clone', 1.0))", - &results, &rows, &columns, &err_msg) != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_SnapPointToSeed() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -303; - return 0; - } - valid = 1; - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns)]; - if (value != NULL) - { - fprintf (stderr, "TopoGeo_SnapPointToSeed() #4 error: %s\n", - value); - valid = 0; - } - } - sqlite3_free_table (results); - if (!valid) - { - *retcode = -304; - return 0; - } - -/* testing TopoGeo_SnapPointToSeed - invalid SRID */ - ret = - sqlite3_exec (handle, - "SELECT ST_AsText(TopoGeo_SnapPointToSeed(MakePoint(2.7, 4.9, 4326), 'elba_clone', 1.0))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_SnapPointToSeed() wrong SRID: expected failure\n"); - *retcode = -305; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid Point (mismatching SRID od dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_SnapPointToSeed() wrong SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -306; - return 0; - } - sqlite3_free (err_msg); - -/* testing TopoGeo_SnapPointToSeed - invalid dims */ - ret = - sqlite3_exec (handle, - "SELECT ST_AsText(TopoGeo_SnapPointToSeed(MakePointZ(2.7, 4.9, 10, 32632), 'elba_clone', 1.0))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_SnapPointToSeed() wrong dims: expected failure\n"); - *retcode = -305; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid Point (mismatching SRID od dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_SnapPointToSeed() wrong dims: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -306; - return 0; - } - sqlite3_free (err_msg); - -/* testing TopoGeo_SnapLineToSeed - ok */ - if (sqlite3_get_table - (handle, - "SELECT ST_AsText(TopoGeo_SnapLineToSeed(ST_GeomFromText(" - "'LINESTRING(612385 4730247.99, 612389 4730247.95)', 32632), 'elba_clone', 1.0))", - &results, &rows, &columns, &err_msg) != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_SnapLineToSeed() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -309; - return 0; - } - valid = 1; - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns)]; - if (strcmp - (value, - "LINESTRING(612385 4730247.99, 612387.425489 4730247.975612, 612389 4730247.95)") - != 0) - { - fprintf (stderr, "TopoGeo_SnapLineToSeed() #2 error: %s\n", - value); - valid = 0; - } - } - sqlite3_free_table (results); - if (!valid) - { - *retcode = -310; - return 0; - } - -/* testing TopoGeo_SnapLineToSeed - no Seed within distance */ - if (sqlite3_get_table - (handle, - "SELECT ST_AsText(TopoGeo_SnapLineToSeed(ST_GeomFromText(" - "'LINESTRING(5 7.99, 9 7.95)', 32632), 'elba_clone', 1.0))", &results, - &rows, &columns, &err_msg) != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_SnapLineToSeed() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -311; - return 0; - } - valid = 1; - for (i = 1; i <= rows; i++) - { - const char *value = results[(i * columns)]; - if (value != NULL) - { - fprintf (stderr, "TopoGeo_SnapLineToSeed() #4 error: %s\n", - value); - valid = 0; - } - } - sqlite3_free_table (results); - if (!valid) - { - *retcode = -312; - return 0; - } - -/* testing TopoGeo_SnapLineToSeed - invalid SRID */ - ret = - sqlite3_exec (handle, - "SELECT ST_AsText(TopoGeo_SnapLineToSeed(ST_GeomFromText(" - "'LINESTRING(5 7.99, 9 7.95)', 4325), 'elba_clone', 1.0))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_SnapLineToSeed() wrong SRID: expected failure\n"); - *retcode = -313; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid Line (mismatching SRID od dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_SnapLineToSeed() wrong SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -314; - return 0; - } - sqlite3_free (err_msg); - -/* testing TopoGeo_SnapLineToSeed - invalid dims */ - ret = - sqlite3_exec (handle, - "SELECT ST_AsText(TopoGeo_SnapLineToSeed(ST_GeomFromText(" - "'LINESTRINGZ(5 7.99 1, 9 7.95 2)', 32632), 'elba_clone', 1.0))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_SnapLineToSeed() wrong dims: expected failure\n"); - *retcode = -315; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid Line (mismatching SRID od dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_SnapLineToSeed() wrong dims: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -316; - return 0; - } - sqlite3_free (err_msg); - -/* testing RemoveSmallFaces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_RemoveSmallFaces('elba_clone', 1000)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_RemoveSmallFaces() error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -317; - return 0; - } - -/* testing RemoveDanglingEdges */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_RemoveDanglingEdges('elba_clone')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_RemoveDanglingEdges() error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -318; - return 0; - } - -/* testing RemoveDanglingNodes */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_RemoveDanglingNodes('elba_clone')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_RemoveDanglingNodes() error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -319; - return 0; - } - - return 1; -} - - -static int -do_level8_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 8 */ - int ret; - char *err_msg = NULL; - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, - "SELECT CreateTopology('diagnostic', 23032, 0, 0)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #8 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -300; - return 0; - } - -/* attaching an external DB */ - ret = - sqlite3_exec (handle, - "ATTACH DATABASE \"./test_geos.sqlite\" AS inputDB", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ATTACH DATABASE error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -301; - return 0; - } - -/* loading a Polygon GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('diagnostic', 'inputDB', 'comuni', NULL, 'dustbin', 'dustbinview', 650)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() no PK: expected failure\n"); - *retcode = -302; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - unable to create the dustbin table.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -302; - return 0; - } - -/* detaching the external DB */ - ret = - sqlite3_exec (handle, "DETACH DATABASE inputDB", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DETACH DATABASE error: %s\n", err_msg); - sqlite3_free (err_msg); - return -303; - } - -/* attempting to load a Topology - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('wannebe', NULL, 'elba_ln', NULL, 'dustbin', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() non-existing Topology: expected failure\n"); - *retcode = -304; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -305; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - non-existing GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('diagnostic', NULL, 'wannabe', NULL, 'dustbin', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() non-existing GeoTable: expected failure\n"); - *retcode = -306; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() non-existing GeoTable: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -307; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('diagnostic', 'lollypop', 'elba_ln', NULL, 'dustbin', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() wrong DB-prefix: expected failure\n"); - *retcode = -308; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -309; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - wrong geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('diagnostic', NULL, 'elba_ln', 'none', 'dustbin', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() non-existing Geometry: expected failure\n"); - *retcode = -310; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() non-existing Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -311; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('badelba1', NULL, 'elba_ln', 'geometry', 'dustbin', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() mismatching SRID: expected failure\n"); - *retcode = -312; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -313; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - mismatching dims */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('badelba2', NULL, 'elba_ln', 'GEOMETRY', 'dustbin', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() mismatching dims: expected failure\n"); - *retcode = -314; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() mismatching dims: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -315; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - ambiguous geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('diagnostic', NULL, 'elba_pg', NULL, 'dustbin', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() ambiguous Geometry: expected failure\n"); - *retcode = -316; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() ambiguos Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -317; - return 0; - } - sqlite3_free (err_msg); - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, - "SELECT CreateTopology('ext', 32632, 0, 0)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #9 error: %s\n", err_msg); - sqlite3_free (err_msg); - return -316; - } - -/* attempting to load a Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('ext', NULL, 'export_elba1', NULL, 'dustbin', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTableExt() error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -317; - return 0; - } - -/* attempting to load a Topology - already existing dustbin-table */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('ext', NULL, 'export_elba1', NULL, 'dustbin', 'dustbinview2')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() existing dustbin-table: expected failure\n"); - *retcode = -318; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - unable to create the dustbin table.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() existing dustbin-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -319; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - already existing dustbin-view */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableExt('ext', NULL, 'export_elba1', NULL, 'dustbin2', 'dustbinview')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() existing dustbin-view: expected failure\n"); - *retcode = -320; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - unable to create the dustbin view.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTableExt() existing dustbin-view: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -321; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -static int -do_level7_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 7 */ - int ret; - char *err_msg = NULL; - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('topocom', 23032, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - return -200; - } - -/* attaching an external DB */ - ret = - sqlite3_exec (handle, - "ATTACH DATABASE \"./test_geos.sqlite\" AS inputDB", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ATTACH DATABASE error: %s\n", err_msg); - sqlite3_free (err_msg); - return -201; - } - -/* loading a Polygon GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('topocom', 'inputDB', 'comuni', NULL, 650)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTable() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -202; - return 0; - } - -/* detaching the external DB */ - ret = - sqlite3_exec (handle, "DETACH DATABASE inputDB", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DETACH DATABASE error: %s\n", err_msg); - sqlite3_free (err_msg); - return -203; - } - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('elbasplit', 32632, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - return -204; - } - -/* loading a Polygon GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elbasplit', 'main', 'elba_pg', 'geometry', 256, 1000)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTable() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -205; - return 0; - } - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, - "SELECT CreateTopology('elbalnsplit', 32632, 0, 0)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - return -206; - } - -/* loading a Polygon GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elbalnsplit', 'main', 'elba_ln', 'geometry', 256, 500)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTable() #7 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -207; - return 0; - } - -/* loading a GeoTable into a TopoNet */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('roads', NULL, 'roads', 'geometry')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoNet_FromGeoTable() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -208; - return 0; - } - -/* testing TopoGeo_GetEdgeSeed */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_GetEdgeSeed('elbasplit', edge_id) FROM MAIN.elbasplit_edge", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_GetEdgeSeed() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -209; - return 0; - } - -/* testing TopoGeo_GetFaceSeed */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_GetFaceSeed('elbasplit', face_id) FROM MAIN.elbasplit_face WHERE face_id <> 0", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_GetFaceSeed() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -210; - return 0; - } - -/* testing TopoNet_GetLinkSeed */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_GetLinkSeed('roads', link_id) FROM MAIN.roads_link", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_GetLinkSeed() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -211; - return 0; - } - -/* testing TopoGeo_UpdateSeeds */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_UpdateSeeds('elbasplit')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_UpdateSeeds() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -212; - return 0; - } - -/* testing TopoNet_UpdateSeeds */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_UpdateSeeds('roads')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoNet_UpdateSeeds() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -213; - return 0; - } - -/* sleeping for 2 secs, so to be sure that 'now' really changes */ - sqlite3_sleep (2000); - -/* Edge's fake update */ - ret = - sqlite3_exec (handle, - "UPDATE MAIN.elbasplit_edge SET left_face = left_face", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE elbasplit error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -214; - return 0; - } - -/* testing TopoGeo_UpdateSeeds */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_UpdateSeeds('elbasplit', 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_UpdateSeeds() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -215; - return 0; - } - -/* Link's fake update */ - ret = - sqlite3_exec (handle, - "UPDATE MAIN.roads_link SET start_node = start_node", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE roads error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -216; - return 0; - } - -/* testing TopoNet_UpdateSeeds */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_UpdateSeeds('roads', 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoNet_UpdateSeeds() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -217; - return 0; - } - -/* testing TopoGeo_ToGeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('elbasplit', NULL, 'elba_ln', NULL, 'export_elba1')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_ToGeoTable() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -218; - return 0; - } - -/* testing TopoGeo_ToGeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('elbasplit', NULL, 'elba_pg', 'geometry', 'export_elba2', 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_ToGeoTable() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -219; - return 0; - } - -/* testing TopoNet_ToGeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', NULL, 'roads', 'geometry', 'export_roads')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoNet_ToGeoTable() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -220; - return 0; - } - -/* testing TopoGeo_ToGeoTableGeneralize */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('elbasplit', NULL, 'elba_ln', NULL, 'export_elba1gen', 10)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_ToGeoTableGeneralize() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -221; - return 0; - } - -/* testing TopoGeo_ToGeoTableGeneralize */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('elbasplit', NULL, 'elba_pg', 'geometry', 'export_elba2gen', 10, 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_ToGeoTableGeneralize() #2 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -222; - return 0; - } - -/* testing TopoNet_ToGeoTableGeneralize */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'roads', 'geometry', 'export_roads1gen', 10.0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoNet_ToGeoTableGeneralize() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -223; - return 0; - } - -/* testing TopoNet_ToGeoTableGeneralize */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'roads', 'geometry', 'export_roads2gen', 10, 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoNet_ToGeoTableGeneralize() #2 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -224; - return 0; - } - -/* testing TopoGeo_CreateTopoLayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('elbasplit', NULL, 'elba_pg', 'geometry', 'myelba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_CreateTopoLayer() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -225; - return 0; - } - -/* testing TopoGeo_ExportTopoLayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ExportTopoLayer('elbasplit', 'myelba', 'out_myelba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_ExportTopoLayer() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -226; - return 0; - } - -/* testing TopoGeo_RemoveTopoLayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_RemoveTopoLayer('elbasplit', 'myelba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_RemoveTopoLayer() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -227; - return 0; - } - -/* testing TopoGeo_CreateTopoLayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('elbasplit', NULL, 'elba_pg', 'geometry', 'yourelba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_CreateTopoLayer() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -228; - return 0; - } - -/* testing TopoGeo_ExportTopoLayer - create only */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ExportTopoLayer('elbasplit', 'yourelba', 'out_yourelba', 0, 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_ExportTopoLayer() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -229; - return 0; - } - -/* testing TopoGeo_InsertFeatureFromTopoLayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InsertFeatureFromTopoLayer('elbasplit', 'yourelba', 'out_yourelba', 5)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_InsertFeatureFromTopoLayer() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -230; - return 0; - } - -/* testing CreateTopoGeo - ok */ - ret = - sqlite3_exec (handle, - "SELECT ST_CreateTopoGeo('badelba1', GeomFromText('GEOMETRYCOLLECTION(POINT(1 2), LINESTRING(3 3, 4 4), POLYGON((10 10, 11 10, 11 11, 10 11, 10 10)))', 4326))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_CreateTopoGeo() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -231; - return 0; - } - -/* testing CreateTopoGeo - already populated Topology */ - ret = - sqlite3_exec (handle, - "SELECT ST_CreateTopoGeo('badelba1', MakePoint(1, 2, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_CreateTopoGeo() #2: expected failure\n"); - *retcode = -232; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-empty topology.") != 0) - { - fprintf (stderr, - "ST_CreateTopoGeo() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -233; - return 0; - } - sqlite3_free (err_msg); - -/* testing SpatNetFromGeom - ok */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromGeom('badnet1', GeomFromText('GEOMETRYCOLLECTION(POINT(1 2), LINESTRING(3 3, 4 4), POLYGON((10 10, 11 10, 11 11, 10 11, 10 10)))', 3003))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ST_SpatNetFromGeom() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -234; - return 0; - } - -/* testing SpatNetFromGeom - already populated Network */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromGeom('badnet1', MakePoint(1, 2, 3003))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ST_SpatNetFromGeom() #2: expected failure\n"); - *retcode = -235; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-empty network.") != 0) - { - fprintf (stderr, - "ST_SpatNetFromGeom() #2: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -236; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - - -static int -do_level6_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 6 */ - int ret; - char *err_msg = NULL; - -/* Validating a Topology - valid */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidateTopoGeo('elba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidateTopoGeo() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -180; - return 0; - } - -/* dirtying the Topology */ - ret = - sqlite3_exec (handle, - "INSERT INTO elba_node (node_id, containing_face, geom) " - "SELECT NULL, NULL, ST_PointN(geom, 33) FROM elba_edge WHERE edge_id = 13", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO Node #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -182; - return 0; - } - ret = - sqlite3_exec (handle, - "UPDATE elba_edge SET geom = GeomFromText('LINESTRING(604477 4736752, 604483 4736751, 604480 4736755, 604483 4736751, 604840 4736648)', 32632) WHERE edge_id = 26", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE Edge error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -183; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO elba_face (face_id, mbr) VALUES (NULL, BuildMBR(610000, 4700000, 610001, 4700001, 32632))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO Face #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -184; - return 0; - } - ret = - sqlite3_exec (handle, - "UPDATE elba_edge SET left_face = NULL WHERE left_face = 0", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE Edge #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -185; - return 0; - } - ret = - sqlite3_exec (handle, - "UPDATE elba_edge SET right_face = NULL WHERE right_face = 0", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE Edge #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -186; - return 0; - } - ret = - sqlite3_exec (handle, - "UPDATE elba_node SET containing_face = NULL WHERE containing_face = 0", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE Edge #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -187; - return 0; - } - ret = - sqlite3_exec (handle, - "DELETE FROM elba_face WHERE face_id = 0", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DELETE FROM Face #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -188; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO elba_node (node_id, containing_face, geom) " - "VALUES (NULL, NULL, MakePoint(612771, 4737829, 32632))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO Node #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -189; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO elba_face (face_id, mbr) VALUES (NULL, BuildMBR(612771, 4737329, 613771, 4737829, 32632))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO Face #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -190; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO elba_edge (edge_id, start_node, end_node, next_left_edge, next_right_edge, left_face, right_face, geom) " - "VALUES (NULL, 49, 49, 46, -46, 28, 33, GeomFromText('LINESTRING(612771 4737829, 613771 4737829, 613771 4737329, 612771 4737329, 612771 4737829)', 32632))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO Edge #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -191; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO elba_node (node_id, containing_face, geom) " - "VALUES (NULL, NULL, MakePoint(613200, 4737700, 32632))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO Node #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -192; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO elba_face (face_id, mbr) VALUES (NULL, BuildMbr(611771, 4738329, 612771, 4738829, 32632))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO Face #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -193; - return 0; - } - ret = - sqlite3_exec (handle, - "INSERT INTO elba_edge (edge_id, start_node, end_node, next_left_edge, next_right_edge, left_face, right_face, geom) " - "VALUES (NULL, 50, 50, 47, -47, 29, 33, GeomFromText('LINESTRING(613200 4737700, 613400 4737700, 613400 4737400, 613200 4737400, 613200 4737700)', 32632))", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "INSERT INTO Edge #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -194; - return 0; - } - -/* Validating yet again the dirtied Topology */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidateTopoGeo('elba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidateTopoGeo() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -195; - return 0; - } - - return 1; -} - -static int -do_level5_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 5 */ - int ret; - char *err_msg = NULL; - -/* Validating a Spatial Network - valid */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidSpatialNet('spatnet')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidSpatialNet() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -160; - return 0; - } - -/* dirtying the Spatial Network */ - ret = - sqlite3_exec (handle, - "UPDATE spatnet_link SET geometry = NULL WHERE link_id = 1", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE Spatial Link error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -162; - return 0; - } - ret = - sqlite3_exec (handle, - "UPDATE spatnet_link SET geometry = GeomFromText('LINESTRING(604477 4736752, 604840 4736648)', 32632) WHERE link_id = 26", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE Spatial Link error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -163; - return 0; - } - -/* Validating yet again the dirtied Spatial Network */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidSpatialNet('spatnet')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidSpatialNet() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -164; - return 0; - } - - return 1; -} - -static int -do_level4_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 4 */ - int ret; - char *err_msg = NULL; - -/* Validating a Logical Network - valid */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidLogicalNet('loginet')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidLogicalNet() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -150; - return 0; - } - -/* dirtying the Logical Network */ - ret = - sqlite3_exec (handle, - "UPDATE loginet_link SET geometry = GeomFromText('LINESTRING(0 0, 1 1)', -1) WHERE link_id = 1", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE Logical Link error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -152; - return 0; - } - -/* Validating yet again the dirtied Logical Network */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidLogicalNet('loginet')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidLogicalNet() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -153; - return 0; - } - - return 1; -} - -static int -do_level3_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 3 */ - int ret; - char *err_msg = NULL; - -/* cloning a Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Clone(NULL, 'elba', 'elba_clone')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Clone() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -120; - return 0; - } - -/* attempting to clone a Topology - already existing destination Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Clone('MAIN', 'elba', 'elba_clone')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_Clone() already existing destination Topology: expected failure\n"); - *retcode = -121; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid topology name (destination).") != - 0) - { - fprintf (stderr, - "TopoGeo_Clone() already existing destination Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -122; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to transform a Topology into a Logical Network (non-existing) */ - ret = - sqlite3_exec (handle, - "SELECT ST_LogiNetFromTGeo('loginet', 'lollypop')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "LogiNetFromTGeo() non-existing Topology: expected failure\n"); - *retcode = -124; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid topology name.") != - 0) - { - fprintf (stderr, - "LogiNetFromTGeo() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -125; - return 0; - } - sqlite3_free (err_msg); - -/* transforming a Topology into a Logical Network */ - ret = - sqlite3_exec (handle, - "SELECT ST_LogiNetFromTGeo('loginet', 'elba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "LogiNetFromTGeo() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -126; - return 0; - } - -/* attempting to transform a Topology into a Spatial Network (non-existing) */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromTGeo('spatnet', 'lollypop')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "SpatNetFromTGeo() non-existing Topology: expected failure\n"); - *retcode = -127; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - invalid topology name.") != - 0) - { - fprintf (stderr, - "SpatNetFromTGeo() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -128; - return 0; - } - sqlite3_free (err_msg); - -/* transforming a Topology into a Spatial Network */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromTGeo('spatnet', 'elba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "SpatNetFromTGeo() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -129; - return 0; - } - -/* attempting to transform a Topology into a Logical Network (non-empty) */ - ret = - sqlite3_exec (handle, - "SELECT ST_LogiNetFromTGeo('loginet', 'elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "LogiNetFromTGeo() already populated Network: expected failure\n"); - *retcode = -130; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-empty network.") != 0) - { - fprintf (stderr, - "LogiNetFromTGeo() already populated Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -131; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to transform a Topology into a Spatial Network (non-empty) */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromTGeo('spatnet', 'elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "SpatNetFromTGeo() already populated Network: expected failure\n"); - *retcode = -132; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - non-empty network.") != 0) - { - fprintf (stderr, - "SpatNetFromTGeo() already populated Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -133; - return 0; - } - sqlite3_free (err_msg); - -/* cloning a Logical Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_Clone(NULL, 'loginet', 'loginet_clone')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoNet_Clone() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -137; - return 0; - } - -/* attempting to clone a Logical Network - already existing destination Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_Clone('MAIN', 'loginet', 'loginet_clone')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_Clone() already existing destination Logical Network: expected failure\n"); - *retcode = -138; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid network name (destination).") != 0) - { - fprintf (stderr, - "TopoNet_Clone() already existing destination Logical Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -139; - return 0; - } - sqlite3_free (err_msg); - -/* cloning a Spatial Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_Clone('MAIN', 'spatnet', 'spatnet_clone')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoNet_Clone() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -140; - return 0; - } - -/* attempting to clone a Spatial Network - already existing destination Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_Clone(NULL, 'spatnet', 'spatnet_clone')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_Clone() already existing destination Spatial Network: expected failure\n"); - *retcode = -141; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid network name (destination).") != 0) - { - fprintf (stderr, - "TopoNet_Clone() already existing destination Spatial Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -142; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - - -static int -do_level2_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 2 */ - int ret; - char *err_msg = NULL; - -/* loading a Point GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elba', NULL, 'elba_pg', 'centroid')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTable() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -100; - return 0; - } - -/* loading a Polygon GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elba', NULL, 'elba_pg', 'geometry')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTable() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -101; - return 0; - } - - return 1; -} - -static int -do_level1_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 1 */ - int ret; - char *err_msg = NULL; - -/* loading a Linestring GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elba', NULL, 'elba_ln', NULL)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTable() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -90; - return 0; - } - -/* loading a Point GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elba', NULL, 'elba_pg', 'centroid')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTable() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -91; - return 0; - } - - return 1; -} - -static int -do_level00_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 00 */ - int ret; - char *err_msg = NULL; - -/* attempting to load a Network - non-existing Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('wannebe', NULL, 'roads', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() non-existing Network: expected failure\n"); - *retcode = -220; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid network name.") != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() non-existing Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -221; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Network - non-existing GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('roads', NULL, 'wannabe', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() non-existing GeoTable: expected failure\n"); - *retcode = -222; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() non-existing GeoTable: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -223; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Network - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('roads', 'lollypop', 'roads', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() wrong DB-prefix: expected failure\n"); - *retcode = -224; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -225; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Network - wrong geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('roads', NULL, 'roads', 'none')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() non-existing Geometry: expected failure\n"); - *retcode = -226; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() non-existing Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -227; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Network - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('roads', NULL, 'roads', 'wgs')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() mismatching SRID: expected failure\n"); - *retcode = -228; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID, dimensions or class).") - != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -229; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - mismatching dims */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('roads', NULL, 'roads', 'g3d')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() mismatching dims: expected failure\n"); - *retcode = -230; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID, dimensions or class).") - != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() mismatching dims: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -231; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Network - mismatching class */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('roads', NULL, 'elba_pg', 'geometry')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() mismatching class: expected failure\n"); - *retcode = -232; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID, dimensions or class).") - != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() mismatching class: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -233; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Network - ambiguous geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('roads', NULL, 'roads', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() ambiguous Geometry: expected failure\n"); - *retcode = -235; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() ambiguos Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -235; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Logical Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_FromGeoTable('loginet', NULL, 'roads', 'geometry')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_FromGeoTable() Logical Network: expected failure\n"); - *retcode = -236; - return 0; - } - if (strcmp - (err_msg, "FromGeoTable() cannot be applied to Logical Network.") != 0) - { - fprintf (stderr, - "TopoNet_FromGeoTable() Logical Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -237; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - non-existing Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('wannebe', NULL, 'roads', NULL, 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() non-existing Network: expected failure\n"); - *retcode = -238; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid network name.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() non-existing Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -239; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - non-existing GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', NULL, 'wannabe', NULL, 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() non-existing ref-GeoTable: expected failure\n"); - *retcode = -240; - return 0; - } - if (strcmp - (err_msg, "TopoNet_ToGeoTable: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() non-existing ref-GeoTable: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -241; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', 'lollypop', 'roads', NULL, 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() wrong DB-prefix: expected failure\n"); - *retcode = -242; - return 0; - } - if (strcmp - (err_msg, "TopoNet_ToGeoTable: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -243; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - wrong geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', NULL, 'roads', 'none', 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() non-existing Geometry: expected failure\n"); - *retcode = -244; - return 0; - } - if (strcmp - (err_msg, "TopoNet_ToGeoTable: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() non-existing Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -245; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', NULL, 'roads', 'wgs', 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() mismatching SRID: expected failure\n"); - *retcode = -246; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID or class).") - != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -247; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - mismatching class */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', NULL, 'elba_pg', 'geometry', 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() mismatching class: expected failure\n"); - *retcode = -248; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID or class).") - != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() mismatching class: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -249; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - ambiguous geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', NULL, 'roads', NULL, 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() ambiguous Geometry: expected failure\n"); - *retcode = -250; - return 0; - } - if (strcmp - (err_msg, "TopoNet_ToGeoTable: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() ambiguos Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -251; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Logical Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('loginet', NULL, 'roads', 'geometry', 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() Logical Network: expected failure\n"); - *retcode = -252; - return 0; - } - if (strcmp - (err_msg, - "TopoNet_ToGeoTable() cannot be applied to Logical Network.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() Logical Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -253; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - already existing out-table */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', NULL, 'roads', 'geometry', 'elba_pg')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() already existing out-table: expected failure\n"); - *retcode = -254; - return 0; - } - if (strcmp - (err_msg, "TopoNet_ToGeoTable: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() already existing out-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -255; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Network - already existing out-table (non-geo) */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTable('roads', NULL, 'roads', 'geometry', 'geometry_columns')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTable() already existing out-table (non-geo): expected failure\n"); - *retcode = -256; - return 0; - } - if (strcmp - (err_msg, "TopoNet_ToGeoTable: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() already existing out-table (non-geo): unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -257; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - non-existing Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('wannebe', NULL, 'roads', NULL, 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() non-existing Network: expected failure\n"); - *retcode = -258; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid network name.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() non-existing Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -259; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - non-existing GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'wannabe', NULL, 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() non-existing ref-GeoTable: expected failure\n"); - *retcode = -260; - return 0; - } - if (strcmp - (err_msg, - "TopoNet_ToGeoTableGeneralize: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() non-existing ref-GeoTable: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -261; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', 'lollypop', 'roads', NULL, 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() wrong DB-prefix: expected failure\n"); - *retcode = -262; - return 0; - } - if (strcmp - (err_msg, - "TopoNet_ToGeoTableGeneralize: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -263; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - wrong geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'roads', 'none', 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() non-existing Geometry: expected failure\n"); - *retcode = -264; - return 0; - } - if (strcmp - (err_msg, - "TopoNet_ToGeoTableGeneralize: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTable() non-existing Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -265; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'roads', 'wgs', 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() mismatching SRID: expected failure\n"); - *retcode = -266; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID or class).") - != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -267; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - mismatching class */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'elba_pg', 'geometry', 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() mismatching class: expected failure\n"); - *retcode = -268; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID or class).") - != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() mismatching class: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -269; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - ambiguous geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'roads', NULL, 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() ambiguous Geometry: expected failure\n"); - *retcode = -270; - return 0; - } - if (strcmp - (err_msg, - "TopoNet_ToGeoTableGeneralize: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() ambiguos Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -271; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Logical Network */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('loginet', NULL, 'roads', 'geometry', 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() Logical Network: expected failure\n"); - *retcode = -272; - return 0; - } - if (strcmp - (err_msg, - "TopoNet_ToGeoTableGeneralize() cannot be applied to Logical Network.") - != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() Logical Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -273; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - already existing out-table */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'roads', 'geometry', 'elba_pg', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() already existing out-table: expected failure\n"); - *retcode = -274; - return 0; - } - if (strcmp - (err_msg, - "TopoNet_ToGeoTableGeneralize: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() already existing out-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -275; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Network - already existing out-table (non-geo) */ - ret = - sqlite3_exec (handle, - "SELECT TopoNet_ToGeoTableGeneralize('roads', NULL, 'roads', 'geometry', 'geometry_columns', 10)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() already existing out-table (non-geo): expected failure\n"); - *retcode = -276; - return 0; - } - if (strcmp - (err_msg, - "TopoNet_ToGeoTableGeneralize: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoNet_ToGeoTableGeneralize() already existing out-table (non-geo): unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -277; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing basic tests: Level 0 */ - int ret; - char *err_msg = NULL; - -/* attempting to load a Topology - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('wannebe', NULL, 'elba_ln', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() non-existing Topology: expected failure\n"); - *retcode = -50; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -51; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - non-existing GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elba', NULL, 'wannabe', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() non-existing GeoTable: expected failure\n"); - *retcode = -52; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() non-existing GeoTable: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -53; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elba', 'lollypop', 'elba_ln', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() wrong DB-prefix: expected failure\n"); - *retcode = -54; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -55; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - wrong geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elba', NULL, 'elba_ln', 'none')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() non-existing Geometry: expected failure\n"); - *retcode = -56; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() non-existing Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -57; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('badelba1', NULL, 'elba_ln', 'geometry')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() mismatching SRID: expected failure\n"); - *retcode = -58; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -59; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - mismatching dims */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('badelba2', NULL, 'elba_ln', 'GEOMETRY')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() mismatching dims: expected failure\n"); - *retcode = -60; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() mismatching dims: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -61; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to load a Topology - ambiguous geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTable('elba', NULL, 'elba_pg', NULL)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() ambiguous Geometry: expected failure\n"); - *retcode = -62; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_FromGeoTable() ambiguos Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -63; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to transform a Topology into a Logical Network (Spatial Network indeed) */ - ret = - sqlite3_exec (handle, - "SELECT ST_LogiNetFromTGeo('spatnet', 'elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "LogiNetFromTGeo() Spatial Network: expected failure\n"); - *retcode = -64; - return 0; - } - if (strcmp - (err_msg, - "ST_LogiNetFromTGeo() cannot be applied to Spatial Network.") != 0) - { - fprintf (stderr, - "LogiNetFromTGeo() Spatial Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -65; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to transform a Topology into a Spatial Network (Logical Network indeed) */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromTGeo('loginet', 'elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "SpatNetFromTGeo() Logical Network: expected failure\n"); - *retcode = -66; - return 0; - } - if (strcmp - (err_msg, - "ST_SpatNetFromTGeo() cannot be applied to Logical Network.") != 0) - { - fprintf (stderr, - "SpatNetFromTGeo() Logical Network: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -67; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to transform a Topology into a Spatial Network (mismatching SRID) */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromTGeo('badnet1', 'elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "SpatNetFromTGeo() mismatching SRID: expected failure\n"); - *retcode = -68; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - mismatching SRID or dimensions.") != 0) - { - fprintf (stderr, - "SpatNetFromTGeo() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -69; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to transform a Topology into a Spatial Network (mismatching dims) */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromTGeo('badnet2', 'elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "SpatNetFromTGeo() mismatching dims: expected failure\n"); - *retcode = -70; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - mismatching SRID or dimensions.") != 0) - { - fprintf (stderr, - "SpatNetFromTGeo() mismatching dims: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -71; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to validate a Logical Network (Spatial indeed) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidLogicalNet('spatnet')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ValidLogicalNet() mismatching type: expected failure\n"); - *retcode = -72; - return 0; - } - if (strcmp - (err_msg, - "ST_ValidLogicalNet() cannot be applied to Spatial Network.") != 0) - { - fprintf (stderr, - "ValidLogicalNet() mismatching type: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -73; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to validate a Logical Network (empty) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidLogicalNet('loginet')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ValidLogicalNet() empty: expected failure\n"); - *retcode = -74; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - empty network.") != 0) - { - fprintf (stderr, - "ValidLogicalNet() empty: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -75; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to validate a Spatial Network (Logical indeed) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidSpatialNet('loginet')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ValidSpatialNet() mismatching type: expected failure\n"); - *retcode = -76; - return 0; - } - if (strcmp - (err_msg, - "ST_ValidSpatialNet() cannot be applied to Logical Network.") != 0) - { - fprintf (stderr, - "ValidSpatialNet() mismatching type: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -77; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to validate a Spatial Network (empty) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidSpatialNet('spatnet')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ValidSpatialNet() empty: expected failure\n"); - *retcode = -78; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - empty network.") != 0) - { - fprintf (stderr, - "ValidSpatialNet() empty: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -79; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to validate a TopoGeo (empty) */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidateTopoGeo('elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "ValidateTopoGeo() empty: expected failure\n"); - *retcode = -80; - return 0; - } - if (strcmp (err_msg, "SQL/MM Spatial exception - empty topology.") != 0) - { - fprintf (stderr, - "ValidateTopoGeo() empty: unexpected \"%s\"\n", err_msg); - sqlite3_free (err_msg); - *retcode = -81; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Topology - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('wannebe', NULL, 'elba_ln', NULL, 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() non-existing Topology: expected failure\n"); - *retcode = -82; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -83; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Topology - non-existing ref-GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('elba', NULL, 'wannabe', NULL, 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() non-existing ref-GeoTable: expected failure\n"); - *retcode = -84; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_ToGeoTable: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() non-existing GeoTable: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -85; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Topology - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('elba', 'lollypop', 'elba_ln', NULL, 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() wrong DB-prefix: expected failure\n"); - *retcode = -86; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_ToGeoTable: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -87; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Topology - wrong geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('elba', NULL, 'elba_ln', 'none', 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() non-existing Geometry: expected failure\n"); - *retcode = -88; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_ToGeoTable: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() non-existing Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -89; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Topology - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('badelba1', NULL, 'elba_ln', 'geometry', 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() mismatching SRID: expected failure\n"); - *retcode = -90; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID).") - != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -91; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Topology - ambiguous geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('elba', NULL, 'elba_pg', NULL, 'out-table')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() ambiguous Geometry: expected failure\n"); - *retcode = -92; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_ToGeoTable: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() ambiguos Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -93; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Topology - already existing out-table */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('elba', NULL, 'elba_ln', NULL, 'elba_pg')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() already existing out-table: expected failure\n"); - *retcode = -94; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_ToGeoTable: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() already existing out-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -95; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Topology - already existing out-table (non-geo) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTable('elba', NULL, 'elba_ln', NULL, 'geometry_columns')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() already existing out-table (non-geo): expected failure\n"); - *retcode = -96; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_ToGeoTable: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() already existing out-table (non-geo): unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -97; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Topology - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('wannebe', NULL, 'elba_ln', NULL, 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() non-existing Topology: expected failure\n"); - *retcode = -82; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -98; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Topology - non-existing ref-GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('elba', NULL, 'wannabe', NULL, 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() non-existing ref-GeoTable: expected failure\n"); - *retcode = -99; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_ToGeoTableGeneralize: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() non-existing GeoTable: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -100; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Topology - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('elba', 'lollypop', 'elba_ln', NULL, 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() wrong DB-prefix: expected failure\n"); - *retcode = -101; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_ToGeoTableGeneralize: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -102; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Topology - wrong geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('elba', NULL, 'elba_ln', 'none', 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() non-existing Geometry: expected failure\n"); - *retcode = -103; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_ToGeoTableGeneralize: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() non-existing Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -104; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Topology - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('badelba1', NULL, 'elba_ln', 'geometry', 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() mismatching SRID: expected failure\n"); - *retcode = -105; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID).") - != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -106; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Topology - ambiguous geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('elba', NULL, 'elba_pg', NULL, 'out-table', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTable() ambiguous Geometry: expected failure\n"); - *retcode = -107; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_ToGeoTableGeneralize: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() ambiguos Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -108; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Topology - already existing out-table */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('elba', NULL, 'elba_ln', NULL, 'elba_pg', 10.0)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() already existing out-table: expected failure\n"); - *retcode = -109; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_ToGeoTableGeneralize: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() already existing out-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -110; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a Generalized Topology - already existing out-table (non-geo) */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ToGeoTableGeneralize('elba', NULL, 'elba_ln', NULL, 'geometry_columns', 10)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() already existing out-table (non-geo): expected failure\n"); - *retcode = -111; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_ToGeoTableGeneralize: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoGeo_ToGeoTableGeneralize() already existing out-table (non-geo): unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -112; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to create a TopoLayer - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('wannebe', NULL, 'elba_ln', NULL, 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() non-existing Topology: expected failure\n"); - *retcode = -113; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -114; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to create a TopoLayer - non-existing ref-GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('elba', NULL, 'wannabe', NULL, 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() non-existing ref-GeoTable: expected failure\n"); - *retcode = -115; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_CreateTopoLayer: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() non-existing GeoTable: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -116; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to create a TopoLayer - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('elba', 'lollypop', 'elba_ln', NULL, 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() wrong DB-prefix: expected failure\n"); - *retcode = -117; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_CreateTopoLayer: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -118; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to create a TopoLayer - wrong geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('elba', NULL, 'elba_ln', 'none', 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() non-existing Geometry: expected failure\n"); - *retcode = -119; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_CreateTopoLayer: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() non-existing Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -120; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to create a TopoLayer - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('badelba1', NULL, 'elba_ln', 'geometry', 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() mismatching SRID: expected failure\n"); - *retcode = -121; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid reference GeoTable (mismatching SRID).") - != 0) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -122; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to create a TopoLayer - mismatching View SRID */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('badelba1', NULL, 'elba_ln', 'geometry', 'topolyr', 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() mismatching SRID: expected failure\n"); - *retcode = -123; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_CreateTopoLayer: invalid reference View (invalid Geometry).") - != 0) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -124; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to create a TopoLayer - ambiguous geometry column */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('elba', NULL, 'elba_pg', NULL, 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() ambiguous Geometry: expected failure\n"); - *retcode = -125; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_CreateTopoLayer: invalid reference GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() ambiguos Geometry: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -126; - return 0; - } - sqlite3_free (err_msg); - -/* creating a TopoLayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('elba', NULL, 'elba_ln', NULL, 'elba_ln')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_CreateTopoLayer error: %s\n", err_msg); - sqlite3_free (err_msg); - return -127; - } - -/* attempting to create a TopoLayer - already existing */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_CreateTopoLayer('elba', NULL, 'elba_ln', NULL, 'elba_ln')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() already existing out-table: expected failure\n"); - *retcode = -128; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_CreateTopoLayer: a TopoLayer of the same name already exists.") - != 0) - { - fprintf (stderr, - "TopoGeo_CreateTopoLayer() already existing out-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -129; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a TopoLayer - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_RemoveTopoLayer('wannebe', 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_RemoveTopoLayer() non-existing Topology: expected failure\n"); - *retcode = -130; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_RemoveTopoLayer() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -131; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to remove a TopoLayer - non-existing Topolayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_RemoveTopoLayer('elba', 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_RemoveTopoLayer() non-existing TopoLayer: expected failure\n"); - *retcode = -132; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_RemoveTopoLayer: not existing TopoLayer.") != 0) - { - fprintf (stderr, - "TopoGeo_RemoveTopoLayer() non-existing TopoLayer: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -133; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a TopoLayer - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ExportTopoLayer('wannebe', 'topolyr', 'outtable')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ExportTopoLayer() non-existing Topology: expected failure\n"); - *retcode = -134; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_ExportTopoLayer() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -135; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a TopoLayer - non-existing Topolayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ExportTopoLayer('elba', 'topolyr', 'outtable')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ExportTopoLayer() non-existing TopoLayer: expected failure\n"); - *retcode = -136; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_ExportTopoLayer: not existing TopoLayer.") != 0) - { - fprintf (stderr, - "TopoGeo_ExportTopoLayer() non-existing TopoLayer: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -137; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export a TopoLayer - already existing output table */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ExportTopoLayer('elba', 'elba_ln', 'elba_pg')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_ExportTopoLayer() already-existing out-table: expected failure\n"); - *retcode = -138; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_ExportTopoLayer: the output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoGeo_ExportTopoLayer() already-existing out-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -139; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export TopoFeatures - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InsertFeatureFromTopoLayer('wannebe', 'topolyr', 'outtable', 100)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_InsertFeatureFromTopoLayer() non-existing Topology: expected failure\n"); - *retcode = -140; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_InsertFeatureFromTopoLayer() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -141; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export TopoFeatures - non-existing Topolayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InsertFeatureFromTopoLayer('elba', 'topolyr', 'outtable', 100)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_InsertFeatureFromTopoLayer() non-existing TopoLayer: expected failure\n"); - *retcode = -142; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_InsertFeatureFromTopoLayer: non-existing TopoLayer.") != 0) - { - fprintf (stderr, - "TopoGeo_InsertFeatureFromTopoLayer() non-existing TopoLayer: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -143; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to export TopoFeatures - already existing output table */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InsertFeatureFromTopoLayer('elba', 'elba_ln', 'outtable', 100)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_InsertFeatureFromTopoLayer() non-existing out-table: expected failure\n"); - *retcode = -144; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_InsertFeatureFromTopoLayer: the output GeoTable does not exists.") - != 0) - { - fprintf (stderr, - "TopoGeo_ExportTopoLayer() non-existing out-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -145; - return 0; - } - sqlite3_free (err_msg); - -/* testing CreateTopoGeo - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT ST_CreateTopoGeo('elba', MakePoint(1, 2, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_CreateTopoGeo() mismatching SRID: expected failure\n"); - *retcode = -146; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid Geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_CreateTopoGeo() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -147; - return 0; - } - sqlite3_free (err_msg); - -/* testing CreateTopoGeo - mismatching DIMs */ - ret = - sqlite3_exec (handle, - "SELECT ST_CreateTopoGeo('elba', MakePointZ(1, 2, 3, 32632))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_CreateTopoGeo() mismatching DIMs: expected failure\n"); - *retcode = -148; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid Geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_CreateTopoGeo() mismatching DIMs: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -149; - return 0; - } - sqlite3_free (err_msg); - -/* testing SpatNetFromGeom - mismatching SRID */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromGeom('roads', MakePoint(1, 2, 4326))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_SpatNetFromGeom() mismatching SRID: expected failure\n"); - *retcode = -150; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid Geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_SpatNetFromGeom() mismatching SRID: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -151; - return 0; - } - sqlite3_free (err_msg); - -/* testing SpatNetFromGeom - mismatching DIMs */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromGeom('roads', MakePointZ(1, 2, 3, 32632))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_SpatNetFromGeom() mismatching DIMs: expected failure\n"); - *retcode = -152; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid Geometry (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "ST_SpatNetFromGeom() mismatching DIMs: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -153; - return 0; - } - sqlite3_free (err_msg); - -/* testing SpatNetFromGeom - logical network */ - ret = - sqlite3_exec (handle, - "SELECT ST_SpatNetFromGeom('loginet', MakePointZ(1, 2, 3, 32632))", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "ST_SpatNetFromGeom() mismatching DIMs: expected failure\n"); - *retcode = -154; - return 0; - } - if (strcmp - (err_msg, - "ST_ValidSpatialNet() cannot be applied to Logical Network.") != 0) - { - fprintf (stderr, - "ST_SpatNetFromGeom() mismatching DIMs: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -155; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to initialize a TopoLayer - non-existing Topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InitTopoLayer('wannebe', NULL, 'elba_vw', 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_InitTopoLayer() non-existing Topology: expected failure\n"); - *retcode = -156; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid topology name.") != 0) - { - fprintf (stderr, - "TopoGeo_InitTopoLayer() non-existing Topology: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -157; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to initialize a TopoLayer - non-existing ref-ìTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InitTopoLayer('elba', NULL, 'wannabe', 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_InitTopoLayer() non-existing ref-Table: expected failure\n"); - *retcode = -158; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_InitTopoLayer: invalid reference Table.") != 0) - { - fprintf (stderr, - "TopoGeo_InitTopoLayer() non-existing Table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -159; - return 0; - } - sqlite3_free (err_msg); - -/* attempting to initialize a TopoLayer - wrong DB-prefix */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InitTopoLayer('elba', 'lollypop', 'elba_vw', 'topolyr')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_InitTopoLayer() wrong DB-prefix: expected failure\n"); - *retcode = -160; - return 0; - } - if (strcmp - (err_msg, "TopoGeo_InitTopoLayer: invalid reference Table.") != 0) - { - fprintf (stderr, - "TopoGeo_InitTopoLayer() wrong DB-prefix: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -161; - return 0; - } - sqlite3_free (err_msg); - -/* initializing a TopoLayer */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InitTopoLayer('elba', NULL, 'elba_vw', 'elba_vw')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_InitTopoLayer error: %s\n", err_msg); - sqlite3_free (err_msg); - return -162; - } - -/* attempting to initialize a TopoLayer - already existing */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_InitTopoLayer('elba', NULL, 'elba_vw', 'elba_vw')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, - "TopoGeo_InitTopoLayer() already existing out-table: expected failure\n"); - *retcode = -163; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_InitTopoLayer: a TopoLayer of the same name already exists.") - != 0) - { - fprintf (stderr, - "TopoGeo_InitTopoLayer() already existing out-table: unexpected \"%s\"\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -164; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - char *old_SPATIALITE_SECURITY_ENV = NULL; -#ifdef _WIN32 - char *env; -#endif /* not WIN32 */ - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - old_SPATIALITE_SECURITY_ENV = getenv ("SPATIALITE_SECURITY"); -#ifdef _WIN32 - putenv ("SPATIALITE_SECURITY=relaxed"); -#else /* not WIN32 */ - setenv ("SPATIALITE_SECURITY", "relaxed", 1); -#endif - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - if (sqlite3_libversion_number () < 3008003) - { - fprintf (stderr, - "*** check_topoplus skipped: libsqlite < 3.8.3 !!!\n"); - goto end; - } - - ret = sqlite3_exec (handle, "PRAGMA foreign_keys=1", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "PRAGMA foreign_keys=1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* importing Elba (polygons) from SHP */ - ret = - sqlite3_exec (handle, - "SELECT ImportSHP('./elba-pg', 'elba_pg', 'CP1252', 32632)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ImportSHP() elba-pg error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - -/* importing Elba (linestrings) from SHP */ - ret = - sqlite3_exec (handle, - "SELECT ImportSHP('./elba-ln', 'elba_ln', 'CP1252', 32632)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ImportSHP() elba-ln error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -5; - } - -/* importing Merano Roads (linestrings) from SHP */ - ret = - sqlite3_exec (handle, - "SELECT ImportSHP('./shp/merano-3d/roads', 'roads', 'UTF-8', 32632)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ImportSHP() roads error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -6; - } - - if (old_SPATIALITE_SECURITY_ENV) - { -#ifdef _WIN32 - env = - sqlite3_mprintf ("SPATIALITE_SECURITY=%s", - old_SPATIALITE_SECURITY_ENV); - putenv (env); - sqlite3_free (env); -#else /* not WIN32 */ - setenv ("SPATIALITE_SECURITY", old_SPATIALITE_SECURITY_ENV, 1); -#endif - } - else - { -#ifdef _WIN32 - putenv ("SPATIALITE_SECURITY="); -#else /* not WIN32 */ - unsetenv ("SPATIALITE_SECURITY"); -#endif - } - -/* adding a second Geometry to Elba-polygons */ - ret = - sqlite3_exec (handle, - "SELECT AddGeometryColumn('elba_pg', 'centroid', 32632, 'POINT', 'XY')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "AddGeometryColumn elba-pg error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -7; - } - ret = - sqlite3_exec (handle, - "UPDATE elba_pg SET centroid = ST_Centroid(geometry)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "Update elba-pg centroids error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -7; - } - -/* adding a second Geometry to Roads */ - ret = - sqlite3_exec (handle, - "SELECT AddGeometryColumn('roads', 'wgs', 4326, 'LINESTRING', 'XY')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "AddGeometryColumn roads error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -8; - } - ret = - sqlite3_exec (handle, - "UPDATE roads SET wgs = ST_Transform(geometry, 4326)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "Update Roads WGS84 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -9; - } - -/* adding a thirdd Geometry to Roads */ - ret = - sqlite3_exec (handle, - "SELECT AddGeometryColumn('roads', 'g3d', 32632, 'LINESTRING', 'XYZ')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "AddGeometryColumn roads error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -10; - } - ret = - sqlite3_exec (handle, - "UPDATE roads SET g3d = CastToXYZ(geometry)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "Update Roads 3D error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -11; - } - -/* creating a Topology 2D (wrong SRID) */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('badelba1', 4326, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -12; - } - -/* creating a Topology 3D (wrong dims) */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('badelba2', 32632, 1, 01)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -13; - } - -/* creating a Topology 2D (ok) */ - ret = - sqlite3_exec (handle, "SELECT CreateTopology('elba', 32632, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -14; - } - -/* creating a Logical Network */ - ret = - sqlite3_exec (handle, "SELECT CreateNetwork('loginet', 0)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateNetwork() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -15; - } - -/* creating a Network 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateNetwork('spatnet', 1, 32632, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateNetwork() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -16; - } - -/* creating a Network 2D - wrong SRID */ - ret = - sqlite3_exec (handle, "SELECT CreateNetwork('badnet1', 1, 3003, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateNetwork() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -17; - } - -/* creating a Network 3D */ - ret = - sqlite3_exec (handle, "SELECT CreateNetwork('badnet2', 1, 32632, 1, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateNetwork() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -18; - } - -/* creating a Network 2D */ - ret = - sqlite3_exec (handle, "SELECT CreateNetwork('roads', 1, 32632, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateNetwork() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -19; - } - -/* creating a View */ - ret = - sqlite3_exec (handle, - "CREATE VIEW elba_vw AS SELECT pk_uid, cod_istat, nome FROM elba_ln", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "Create View error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -20; - } - -/* basic tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; - -/* basic tests: level 00 */ - if (!do_level00_tests (handle, &retcode)) - goto end; - -/* basic tests: level 1 */ - if (!do_level1_tests (handle, &retcode)) - goto end; - -/* dropping and recreating again a Topology 2D (ok) */ - ret = - sqlite3_exec (handle, "SELECT DropTopology('elba')", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DropTopology() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -15; - } - ret = - sqlite3_exec (handle, "SELECT CreateTopology('elba', 32632, 0, 0)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -16; - } - -/* basic tests: level 2 */ - if (!do_level2_tests (handle, &retcode)) - goto end; - -/* basic tests: level 3 */ - if (!do_level3_tests (handle, &retcode)) - goto end; - -/* basic tests: level 4 */ - if (!do_level4_tests (handle, &retcode)) - goto end; - -/* basic tests: level 5 */ - if (!do_level5_tests (handle, &retcode)) - goto end; - -/* basic tests: level 6 */ - if (!do_level6_tests (handle, &retcode)) - goto end; - -/* basic tests: level 7 */ - if (!do_level7_tests (handle, &retcode)) - goto end; - -/* basic tests: level 8 */ - if (!do_level8_tests (handle, &retcode)) - goto end; - -/* basic tests: level 9 */ - if (!do_level9_tests (handle, &retcode)) - goto end; - - end: - spatialite_finalize_topologies (cache); - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - -#endif /* end RTTOPO conditional */ - - spatialite_shutdown (); - return retcode; -} DELETED test/check_toposnap.c Index: test/check_toposnap.c ================================================================== --- test/check_toposnap.c +++ test/check_toposnap.c @@ -1,520 +0,0 @@ -/* - - check_toposnap.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2016 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 0 tests */ - int ret; - char *err_msg = NULL; - -/* loading the sezcen_2011 GeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_FromGeoTableNoFace('elba', 'ext', 'sezcen_2011', NULL, 512)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_FromGeoTableNoFace() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -21; - return 0; - } - -/* building Faces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('elba')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -22; - return 0; - } - -/* removing useless Nodes - mode Mod */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ModEdgeHeal('elba')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_ModEdgeHeal() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -23; - return 0; - } - - return 1; -} - -static int -do_level1_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 1 tests */ - int ret; - char *err_msg = NULL; - -/* importing the sezcen_2001 GeoTable */ - ret = sqlite3_exec (handle, - "SELECT TopoGeo_AddLinestringNoFace('elba', LinesFromRings(TopoGeo_TopoSnap('elba', geometry, 1, 1, 0))) " - "FROM ext.sezcen_2001", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_AddLinestringNoFace() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -31; - return 0; - } - - return 1; -} - -static int -do_level2_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 2 tests */ - int ret; - char *err_msg = NULL; - int i; - char **results; - int rows; - int columns; - int invalid = 0; - -/* building Faces */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_Polygonize('elba')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_Polygonize() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -51; - return 0; - } - -/* validating this TopoGeo */ - ret = - sqlite3_exec (handle, - "SELECT ST_ValidateTopoGeo('elba')", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ValidateTopoGeo() #1: error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -52; - return 0; - } - -/* testing for a valid TopoGeo */ - ret = - sqlite3_get_table (handle, "SELECT Count(*) FROM elba_validate_topogeo", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "test ValidateTopoGeo() #2: error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -53; - return 0; - } - for (i = 1; i <= rows; i++) - { - if (atoi (results[(i * columns) + 0]) > 0) - invalid = 1; - } - sqlite3_free_table (results); - if (invalid) - { - fprintf (stderr, "Topology 'elba' #2 is invalid !!!"); - *retcode = -54; - return 0; - } - - return 1; -} - -static int -do_level3_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 3 tests */ - int ret; - char *err_msg = NULL; - -/* removing useless Nodes - mode New */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_NewEdgeHeal('elba')", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_NewEdgeHeal() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -61; - return 0; - } - - return 1; -} - -static int -do_level4_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 4 tests */ - int ret; - char *err_msg = NULL; - -/* testing TopoGeo_SnappedGeoTable */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_SnappedGeoTable('elba', 'ext', 'sezcen_2001', NULL, 'snapped_2001', 1, 1)", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "TopoGeo_SnappedGeoTable() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -71; - return 0; - } - - return 1; -} - -static int -do_level5_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 5 tests - INVALID CASES */ - int ret; - char *err_msg = NULL; - -/* testing TopoGeo_SnappedGeoTable - invalid input table */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_SnappedGeoTable('elba', 'ext', 'sezcen_1234', NULL, 'snapped', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "TopoGeo_SnappedGeoTable() #2 unexpected succes\n"); - sqlite3_free (err_msg); - *retcode = -60; - return 0; - } - if (strcmp - (err_msg, "SQL/MM Spatial exception - invalid input GeoTable.") != 0) - { - fprintf (stderr, - "TopoGeo_SnappedGeoTable() #3 - unexpected: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -61; - return 0; - } - sqlite3_free (err_msg); - -/* testing TopoGeo_SnappedGeoTable -already existing output table */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_SnappedGeoTable('elba', 'ext', 'sezcen_2001', NULL, 'snapped_2001', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "TopoGeo_SnappedGeoTable() #4 unexpected succes\n"); - sqlite3_free (err_msg); - *retcode = -62; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_SnappedGeoTable: output GeoTable already exists.") != 0) - { - fprintf (stderr, - "TopoGeo_SnappedGeoTable() #5 - unexpected: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -63; - return 0; - } - sqlite3_free (err_msg); - -/* testing TopoGeo_SnappedGeoTable -invalid input SRID or dimensions */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_SnappedGeoTable('elba', 'ext', 'points', NULL, 'snapped', 1, 1)", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "TopoGeo_SnappedGeoTable() #6 unexpected succes\n"); - sqlite3_free (err_msg); - *retcode = -62; - return 0; - } - if (strcmp - (err_msg, - "SQL/MM Spatial exception - invalid GeoTable (mismatching SRID or dimensions).") - != 0) - { - fprintf (stderr, - "TopoGeo_SnappedGeoTable() #7 - unexpected: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -63; - return 0; - } - sqlite3_free (err_msg); - -/* invalidating all Edges */ - ret = - sqlite3_exec (handle, - "UPDATE elba_edge SET left_face = NULL, right_face = NULL", - NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "invalidating Edges error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -64; - return 0; - } - -/* removing all Faces except the Universal Face */ - ret = - sqlite3_exec (handle, - "DELETE FROM elba_face WHERE face_id <> 0", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "removing Faces error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -65; - return 0; - } - -/* testing TopoGeo_NewEdgeHeal - inconsistent topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_NewEdgeHeal('elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "TopoGeo_NewEdgeHeal() #2 unexpected succes\n"); - sqlite3_free (err_msg); - *retcode = -66; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_NewEdgeHeal exception - inconsisten Topology; try executiong TopoGeo_Polygonize to recover.") - != 0) - { - fprintf (stderr, - "TopoGeo_NewEdgeHeal() #2 - unexpected: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -67; - return 0; - } - sqlite3_free (err_msg); - -/* testing ModEdgeHeal - inconsistent topology */ - ret = - sqlite3_exec (handle, - "SELECT TopoGeo_ModEdgeHeal('elba')", - NULL, NULL, &err_msg); - if (ret == SQLITE_OK) - { - fprintf (stderr, "TopoGeo_ModEdgeHeal() #2 unexpected succes\n"); - sqlite3_free (err_msg); - *retcode = -68; - return 0; - } - if (strcmp - (err_msg, - "TopoGeo_ModEdgeHeal exception - inconsisten Topology; try executiong TopoGeo_Polygonize to recover.") - != 0) - { - fprintf (stderr, - "TopoGeo_ModEdgeHeal() #2 - unexpected: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -69; - return 0; - } - sqlite3_free (err_msg); - - return 1; -} - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - -#ifdef ENABLE_RTTOPO /* only if RTTOPO is enabled */ - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - if (sqlite3_libversion_number () < 3008003) - { - fprintf (stderr, - "*** check_toposnap skipped: libsqlite < 3.8.3 !!!\n"); - goto end; - } - - ret = sqlite3_exec (handle, "PRAGMA foreign_keys=1", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "PRAGMA foreign_keys=1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/* creating a Topology 2D */ - ret = - sqlite3_exec (handle, - "SELECT CreateTopology('elba', 32632, 0, 0.000001)", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateTopology() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -4; - } - -/* attaching an external DB */ - ret = - sqlite3_exec (handle, - "ATTACH DATABASE \"./elba-sezcen.sqlite\" AS ext", NULL, - NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "ATTACH DATABASE error: %s\n", err_msg); - sqlite3_free (err_msg); - return -5; - } - -/*tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; -goto skip_toposnap; - -/*tests: level 1 */ - if (!do_level1_tests (handle, &retcode)) - goto end; - -/*tests: level 2 */ - if (!do_level2_tests (handle, &retcode)) - goto end; - -/*tests: level 3 */ - if (!do_level3_tests (handle, &retcode)) - goto end; - -/*tests: level 4 */ - if (!do_level4_tests (handle, &retcode)) - goto end; - -/*tests: level 5 */ - if (!do_level5_tests (handle, &retcode)) - goto end; - -skip_toposnap: - -/* detaching the external DB */ - ret = sqlite3_exec (handle, "DETACH DATABASE ext", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "DETACH DATABASE error: %s\n", err_msg); - sqlite3_free (err_msg); - return -6; - } - - end: - spatialite_finalize_topologies (cache); - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - -#endif /* end RTTOPO conditional */ - - spatialite_shutdown (); - return retcode; -} DELETED test/check_virtualknn.c Index: test/check_virtualknn.c ================================================================== --- test/check_virtualknn.c +++ test/check_virtualknn.c @@ -1,624 +0,0 @@ -/* - - check_virtualknn.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2015 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ -#define _GNU_SOURCE -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -create_table (sqlite3 * sqlite) -{ -/* creating a test table */ - int ret; - char *err_msg = NULL; - const char *sql; - - sql = "CREATE TABLE points (id INTEGER PRIMARY KEY AUTOINCREMENT)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE TABLE \"points\" error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - sql = "SELECT AddGeometryColumn('points', 'geom', 32632, 'POINT', 'XY')"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "AddGeometryColumn \"points.geom\" error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - sql = "SELECT CreateSpatialIndex('points', 'geom')"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateSpatialIndex \"points.geom\" error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -populate_table (sqlite3 * sqlite) -{ -/* creating a test table */ - int ret; - char *err_msg = NULL; - const char *sql; - sqlite3_stmt *stmt; - double x; - double y; - - sql = "INSERT INTO points VALUES (NULL, MakePoint(?, ?, 32632))"; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - return 0; - - ret = sqlite3_exec (sqlite, "BEGIN", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "BEGIN TRANSACTION error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - for (y = 4000000.0; y < 4001000.0; y += 20.0) - { - for (x = 100000.0; x < 101000.0; x += 20.0) - { - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, x); - sqlite3_bind_double (stmt, 2, y); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - fprintf (stderr, "INSERT error: %s\n", - sqlite3_errmsg (sqlite)); - goto end; - } - } - } - for (y = 4000501.0; y < 4001000.0; y += 10.0) - { - for (x = 100501.0; x < 101000.0; x += 10.0) - { - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, x); - sqlite3_bind_double (stmt, 2, y); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - fprintf (stderr, "INSERT error: %s\n", - sqlite3_errmsg (sqlite)); - goto end; - } - } - } - for (y = 4000750.5; y < 4001000.0; y += 1.0) - { - for (x = 100750.5; x < 101000.0; x += 1.0) - { - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, x); - sqlite3_bind_double (stmt, 2, y); - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE || ret == SQLITE_ROW) - ; - else - { - fprintf (stderr, "INSERT error: %s\n", - sqlite3_errmsg (sqlite)); - goto end; - } - } - } - - ret = sqlite3_exec (sqlite, "COMMIT", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "COMMIT TRANSACTION error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - end: - sqlite3_finalize (stmt); - return 1; -} - -static int -add_second_geom (sqlite3 * sqlite) -{ -/* adding a second geometry column */ - int ret; - char *err_msg = NULL; - const char *sql; - - sql = "SELECT AddGeometryColumn('points', 'geometry', 4326, 'POINT', 'XY')"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "AddGeometryColumn \"points.geometry\" error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - sql = "UPDATE points SET geometry = ST_Transform(geom, 4326)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "UPDATE \"knn\" error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -add_second_rtree (sqlite3 * sqlite) -{ -/* adding a second geometry Spatial Index */ - int ret; - char *err_msg = NULL; - const char *sql; - - sql = "SELECT CreateSpatialIndex('points', 'geometry')"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CreateSpatialIndex \"points.geometry\" error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -create_knn (sqlite3 * sqlite) -{ -/* creating a test table */ - int ret; - char *err_msg = NULL; - const char *sql; - - sql = "CREATE VIRTUAL TABLE knn USING VirtualKNN ()"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE VIRTUAL TABLE \"knn\" error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -create_spatial_view_1 (sqlite3 * sqlite) -{ -/* creating the first Spatial View */ - int ret; - char *err_msg = NULL; - const char *sql; - - sql = "CREATE VIEW view_1 AS SELECT id AS rowid, geom AS geom FROM points"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE VIEW \"view_1\" error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - sql = - "INSERT INTO views_geometry_columns VALUES('view_1', 'geom', 'rowid', 'points', 'geom', 1)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "Register SpatialView \"view_1\" error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -create_spatial_view_2 (sqlite3 * sqlite) -{ -/* creating the second Spatial View */ - int ret; - char *err_msg = NULL; - const char *sql; - - sql = - "CREATE VIEW view_2 AS SELECT id AS rowid, geometry AS geom FROM points"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "CREATE VIEW \"view_2\" error: %s\n", err_msg); - sqlite3_free (err_msg); - return 0; - } - - sql = - "INSERT INTO views_geometry_columns VALUES('view_2', 'geom', 'rowid', 'points', 'geometry', 1)"; - ret = sqlite3_exec (sqlite, sql, NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "Register SpatialView \"view_2\" error: %s\n", - err_msg); - sqlite3_free (err_msg); - return 0; - } - - return 1; -} - -static int -test_knn (sqlite3 * sqlite, int mode) -{ -/* testing a resultset */ - int ret; - const char *sql; - sqlite3_stmt *stmt = NULL; - double x; - double y; - int rows = 0; - - switch (mode) - { - case 0: - sql = - "SELECT * FROM knn WHERE f_table_name = 'DB=main.points' AND ref_geometry = MakePoint(?, ?)"; - break; - case 1: - sql = - "SELECT * FROM knn WHERE f_table_name = 'points' AND f_geometry_column = 'geom' " - "AND ref_geometry = MakePoint(?, ?) AND max_items = 32632"; - break; - case 2: - sql = - "SELECT * FROM knn WHERE f_table_name = 'points' AND f_geometry_column = 'geomx' " - "AND ref_geometry = MakePoint(?, ?)"; - break; - case 3: - sql = - "SELECT * FROM knn WHERE f_table_name = 'pointsx' AND ref_geometry = MakePoint(?, ?)"; - break; - case 4: - sql = - "SELECT * FROM knn WHERE f_table_name = 'points' AND f_geometry_column = 'geometry' " - "AND ref_geometry = ST_Transform(MakePoint(?, ?, 32632), 4326) AND max_items = -10"; - break; - case 5: - sql = - "SELECT * FROM knn WHERE f_table_name = 'view_1' AND ref_geometry = MakePoint(?, ?)"; - break; - case 6: - sql = - "SELECT * FROM knn WHERE f_table_name = 'view_2' AND f_geometry_column = 'geom' " - "AND ref_geometry = ST_Transform(MakePoint(?, ?, 32632), 4326)"; - break; - case 7: - sql = - "SELECT * FROM knn WHERE f_table_name = 'points' AND ref_geometry = MakePoint(?, ?) " - "AND max_items = 10"; - break; - }; - ret = sqlite3_prepare_v2 (sqlite, sql, strlen (sql), &stmt, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "SELECT FROM \"knn\": \"%s\"\n", - sqlite3_errmsg (sqlite)); - return 0; - } - - for (y = 3800000.25; y < 4002000.0; y += 12345.12345) - { - for (x = 80000.25; x < 102000.0; x += 12345.12345) - { - sqlite3_reset (stmt); - sqlite3_clear_bindings (stmt); - sqlite3_bind_double (stmt, 1, x); - sqlite3_bind_double (stmt, 2, y); - while (1) - { - /* scrolling the result set rows */ - ret = sqlite3_step (stmt); - if (ret == SQLITE_DONE) - break; /* end of result set */ - if (ret == SQLITE_ROW) - { - if (sqlite3_column_type (stmt, 0) == SQLITE_TEXT - && sqlite3_column_type (stmt, 1) == SQLITE_TEXT - && sqlite3_column_type (stmt, 2) == SQLITE_BLOB - && sqlite3_column_type (stmt, - 3) == SQLITE_INTEGER - && sqlite3_column_type (stmt, - 4) == SQLITE_INTEGER - && sqlite3_column_type (stmt, - 5) == SQLITE_INTEGER - && sqlite3_column_type (stmt, - 6) == SQLITE_FLOAT) - ; - else - goto error; - rows++; - } - else - goto error; - } - } - } - if (!rows) - goto error; - sqlite3_finalize (stmt); - return 1; - - error: - if (stmt != NULL) - sqlite3_finalize (stmt); - return 0; -} - -int -main (int argc, char *argv[]) -{ - sqlite3 *db_handle = NULL; - int ret; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &db_handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open in-memory db: %s\n", - sqlite3_errmsg (db_handle)); - sqlite3_close (db_handle); - db_handle = NULL; - return -1; - } - - spatialite_init_ex (db_handle, cache, 0); - -#ifndef OMIT_KNN /* only if KNN is enabled */ - - ret = - sqlite3_exec (db_handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (db_handle); - return -2; - } - -/* Creating and populating the test table */ - ret = create_table (db_handle); - if (!ret) - { - sqlite3_close (db_handle); - return -3; - } - ret = populate_table (db_handle); - if (!ret) - { - sqlite3_close (db_handle); - return -4; - } - -/* Creating the VirtualKNN table */ - ret = create_knn (db_handle); - if (ret) - { - fprintf (stderr, "CREATE VIRTUAL TABLE knn: expected failure !!!\n"); - sqlite3_close (db_handle); - return -5; - } - -/* Testing KNN - #1 */ - ret = test_knn (db_handle, 0); - if (!ret) - { - fprintf (stderr, "Check KNN #1: unexpected failure\n"); - sqlite3_close (db_handle); - return -6; - } - -/* Testing KNN - #2 */ - ret = test_knn (db_handle, 1); - if (!ret) - { - fprintf (stderr, "Check KNN #2: unexpected failure\n"); - sqlite3_close (db_handle); - return -7; - } - -/* Testing KNN - #3 */ - ret = test_knn (db_handle, 2); - if (ret) - { - fprintf (stderr, "Check KNN #3: unexpected success\n"); - sqlite3_close (db_handle); - return -8; - } - -/* creating a first SpatialView */ - ret = create_spatial_view_1 (db_handle); - if (!ret) - { - fprintf (stderr, "Create Spatial View #1: unexpected failure !!!\n"); - sqlite3_close (db_handle); - return -9; - } - -/* Testing KNN - #4 */ - ret = test_knn (db_handle, 5); - if (!ret) - { - fprintf (stderr, "Check KNN #4: unexpected failure\n"); - sqlite3_close (db_handle); - return -10; - } - -/* Testing KNN - #5 */ - ret = test_knn (db_handle, 7); - if (!ret) - { - fprintf (stderr, "Check KNN #5: unexpected failure\n"); - sqlite3_close (db_handle); - return -11; - } - -/* adding a second geometry column */ - ret = add_second_geom (db_handle); - if (!ret) - { - fprintf (stderr, "Add Second Geometry: unexpected failure !!!\n"); - sqlite3_close (db_handle); - return -12; - } - -/* Testing KNN - #6 */ - ret = test_knn (db_handle, 3); - if (ret) - { - fprintf (stderr, "Check KNN #6: unexpected success\n"); - sqlite3_close (db_handle); - return -13; - } - -/* Testing KNN - #7 */ - ret = test_knn (db_handle, 1); - if (!ret) - { - fprintf (stderr, "Check KNN #7: unexpected failure\n"); - sqlite3_close (db_handle); - return -14; - } - -/* Testing KNN - #8 */ - ret = test_knn (db_handle, 4); - if (ret) - { - fprintf (stderr, "Check KNN #8: unexpected success\n"); - sqlite3_close (db_handle); - return -15; - } - -/* creating a second SpatialIndex */ - ret = add_second_rtree (db_handle); - if (!ret) - { - fprintf (stderr, - "Add Second Spatial Index: unexpected failure !!!\n"); - sqlite3_close (db_handle); - return -16; - } - -/* Testing KNN - #9 */ - ret = test_knn (db_handle, 4); - if (!ret) - { - fprintf (stderr, "Check KNN #9: unexpected failure\n"); - sqlite3_close (db_handle); - return -17; - } - -/* creating a second SpatialView */ - ret = create_spatial_view_2 (db_handle); - if (!ret) - { - fprintf (stderr, "Create Spatial View #2: unexpected failure !!!\n"); - sqlite3_close (db_handle); - return -18; - } - -/* Testing KNN - #10 */ - ret = test_knn (db_handle, 6); - if (!ret) - { - fprintf (stderr, "Check KNN #10: unexpected failure\n"); - sqlite3_close (db_handle); - return -19; - } - -#endif /* end KNN conditional */ - - sqlite3_close (db_handle); - spatialite_cleanup_ex (cache); - spatialite_shutdown (); - - return 0; -} Index: test/check_virtualtable1.c ================================================================== --- test/check_virtualtable1.c +++ test/check_virtualtable1.c @@ -50,10 +50,14 @@ #include "config.h" #include "sqlite3.h" #include "spatialite.h" +#ifdef _WIN32 +#include "asprintf4win.h" +#endif + int main (int argc, char *argv[]) { #ifndef OMIT_ICONV /* only if ICONV is supported */ sqlite3 *db_handle = NULL; @@ -91,17 +95,16 @@ fprintf (stderr, "VirtualText error: %s\n", err_msg); sqlite3_free (err_msg); return -2; } - sql_statement = - sqlite3_mprintf - ("select col003, col005, col006, col008 from places WHERE col003 = \"Canal Creek\";"); + asprintf (&sql_statement, + "select col003, col005, col006, col008 from places WHERE col003 = \"Canal Creek\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -10; Index: test/check_virtualtable2.c ================================================================== --- test/check_virtualtable2.c +++ test/check_virtualtable2.c @@ -51,10 +51,14 @@ #include "config.h" #include "sqlite3.h" #include "spatialite.h" +#ifdef _WIN32 +#include "asprintf4win.h" +#endif + int do_test (sqlite3 * db_handle) { #ifndef OMIT_ICONV /* only if ICONV is supported */ char *sql_statement; @@ -99,17 +103,16 @@ return -5; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 < 20;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 < 20;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -6; @@ -145,17 +148,16 @@ results[5]); return -11; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 <= 19;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 <= 19;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -12; @@ -191,17 +193,16 @@ results[5]); return -17; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 = 20;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 = 20;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -18; @@ -237,17 +238,16 @@ results[5]); return -23; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 > 2;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 > 2;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -24; @@ -283,17 +283,16 @@ results[5]); return -29; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 >= 20;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase2 >= 20;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -30; @@ -329,17 +328,16 @@ results[5]); return -34; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 < \"p\";"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 < \"p\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -35; @@ -375,17 +373,16 @@ results[5]); return -40; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 <= \"p\";"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 <= \"p\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -41; @@ -430,17 +427,16 @@ fprintf (stderr, "BEGIN error: %s\n", err_msg); sqlite3_free (err_msg); return -47; } - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 > \"p\";"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 > \"p\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -48; @@ -495,17 +491,16 @@ fprintf (stderr, "ROLLBACK error: %s\n", err_msg); sqlite3_free (err_msg); return -55; } - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 >= \"p\";"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 >= \"p\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -56; @@ -541,17 +536,16 @@ results[5]); return -61; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 = \"windward\";"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 = \"windward\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -62; @@ -587,17 +581,16 @@ results[5]); return -67; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID = 1;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID = 1;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -68; @@ -633,17 +626,16 @@ results[5]); return -73; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID < 2;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID < 2;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -74; @@ -679,17 +671,16 @@ results[5]); return -79; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID <= 1;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID <= 1;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -80; @@ -725,17 +716,16 @@ results[5]); return -85; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID > 1;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID > 1;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -86; @@ -771,17 +761,16 @@ results[5]); return -91; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID >= 2;"); + asprintf (&sql_statement, + "select testcase1, testcase2, AsText(Geometry) from shapetest where PKUID >= 2;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -92; @@ -817,17 +806,16 @@ results[5]); return -97; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select PKUID, testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 LIKE \"wind%%\";"); + asprintf (&sql_statement, + "select PKUID, testcase1, testcase2, AsText(Geometry) from shapetest where testcase1 LIKE \"wind%%\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -98; @@ -837,11 +825,11 @@ fprintf (stderr, "Unexpected error: select columns bad result: %i/%i.\n", rows, columns); return -99; } - if (strcmp (results[0], "pkuid") != 0) + if (strcmp (results[0], "PKUID") != 0) { fprintf (stderr, "Unexpected error: header uid bad result: %s.\n", results[0]); return -100; } Index: test/check_virtualtable3.c ================================================================== --- test/check_virtualtable3.c +++ test/check_virtualtable3.c @@ -50,10 +50,14 @@ #include "config.h" #include "sqlite3.h" #include "spatialite.h" +#ifdef _WIN32 +#include "asprintf4win.h" +#endif + int main (int argc, char *argv[]) { #ifndef OMIT_ICONV /* only if ICONV is supported */ sqlite3 *db_handle = NULL; @@ -91,17 +95,16 @@ fprintf (stderr, "VirtualDBF error: %s\n", err_msg); sqlite3_free (err_msg); return -2; } - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase2 < 20;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase2 < 20;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -3; @@ -131,17 +134,16 @@ results[3]); return -7; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase2 <= 19;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase2 <= 19;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -10; @@ -171,17 +173,16 @@ results[3]); return -14; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase2 = 20;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase2 = 20;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -16; @@ -211,17 +212,16 @@ results[3]); return -20; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase2 > 2;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase2 > 2;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -22; @@ -251,17 +251,16 @@ results[3]); return -26; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase2 >= 20;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase2 >= 20;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -28; @@ -291,17 +290,16 @@ results[3]); return -32; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase1 < \"p\";"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase1 < \"p\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -34; @@ -331,17 +329,16 @@ results[3]); return -38; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase1 <= \"p\";"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase1 <= \"p\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -40; @@ -379,17 +376,16 @@ fprintf (stderr, "BEGIN error: %s\n", err_msg); sqlite3_free (err_msg); return -46; } - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase1 > \"p\";"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase1 > \"p\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -48; @@ -438,17 +434,16 @@ fprintf (stderr, "ROLLBACK error: %s\n", err_msg); sqlite3_free (err_msg); return -47; } - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase1 >= \"p\";"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase1 >= \"p\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -54; @@ -478,17 +473,16 @@ results[3]); return -58; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where testcase1 = \"windward\";"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where testcase1 = \"windward\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -54; @@ -518,17 +512,16 @@ results[3]); return -58; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where PKUID = 1;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where PKUID = 1;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -60; @@ -558,17 +551,16 @@ results[3]); return -64; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where PKUID < 2;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where PKUID < 2;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -66; @@ -598,17 +590,16 @@ results[3]); return -70; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where PKUID <= 1;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where PKUID <= 1;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -72; @@ -638,17 +629,16 @@ results[3]); return -76; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where PKUID > 1;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where PKUID > 1;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -78; @@ -678,17 +668,16 @@ results[3]); return -82; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select testcase1, testcase2 from dbftest where PKUID >= 2;"); + asprintf (&sql_statement, + "select testcase1, testcase2 from dbftest where PKUID >= 2;"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -84; @@ -718,17 +707,16 @@ results[3]); return -88; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select PKUID, testcase1, testcase2 from dbftest where testcase1 LIKE \"wind%%\";"); + asprintf (&sql_statement, + "select PKUID, testcase1, testcase2 from dbftest where testcase1 LIKE \"wind%%\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -90; @@ -738,11 +726,11 @@ fprintf (stderr, "Unexpected error: select columns bad result: %i/%i.\n", rows, columns); return -91; } - if (strcmp (results[0], "pkuid") != 0) + if (strcmp (results[0], "PKUID") != 0) { fprintf (stderr, "Unexpected error: header uid bad result: %s.\n", results[0]); return -92; } @@ -786,15 +774,15 @@ } sqlite3_free (err_msg); ret = sqlite3_exec (db_handle, - "create VIRTUAL TABLE toomanyargs USING VirtualDBF(\"shapetest1.dbf\", UTF-8, 1, UPPER, 1);", + "create VIRTUAL TABLE toomanyargs USING VirtualDBF(\"shapetest1.dbf\", UTF-8, 1, 1);", NULL, NULL, &err_msg); if (ret != SQLITE_ERROR) { - fprintf (stderr, "2 VirtualDBF unexpected result: %i\n", ret); + fprintf (stderr, "VirtualDBF unexpected result: %i\n", ret); return -96; } sqlite3_free (err_msg); ret = @@ -838,11 +826,11 @@ sqlite3_exec (db_handle, "create VIRTUAL TABLE onesidedquote USING VirtualDBF('shapetest1.dbf, UTF-8);", NULL, NULL, &err_msg); if (ret != SQLITE_ERROR) { - fprintf (stderr, "3 VirtualDBF unexpected result: %i\n", ret); + fprintf (stderr, "VirtualDBF unexpected result: %i\n", ret); return -101; } sqlite3_free (err_msg); sqlite3_close (db_handle); Index: test/check_virtualtable4.c ================================================================== --- test/check_virtualtable4.c +++ test/check_virtualtable4.c @@ -48,10 +48,14 @@ #include "config.h" #include "sqlite3.h" #include "spatialite.h" + +#ifdef _WIN32 +#include "asprintf4win.h" +#endif struct test_step { const char *sql; const int num_rows; @@ -139,17 +143,16 @@ fprintf (stderr, "VirtualXL error: %s\n", err_msg); sqlite3_free (err_msg); return -2; } - sql_statement = - sqlite3_mprintf - ("select col_2, col_4, col_5, col_7, rowid from xltest WHERE col_2 = \"Canal Creek\";"); + asprintf (&sql_statement, + "select col_2, col_4, col_5, col_7, rowid from xltest WHERE col_2 = \"Canal Creek\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -10; @@ -296,17 +299,16 @@ { fprintf (stderr, "VirtualXL error: %s\n", err_msg); sqlite3_free (err_msg); return -30; } - sql_statement = - sqlite3_mprintf - ("select row_no, place, lat, lon, rowid from sheet2 WHERE place = \"Canal Creek\";"); + asprintf (&sql_statement, + "select row_no, place, lat, lon, rowid from sheet2 WHERE place = \"Canal Creek\";"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -31; @@ -349,17 +351,16 @@ results[11]); return -37; } sqlite3_free_table (results); - sql_statement = - sqlite3_mprintf - ("select row_no, place, lat, lon, rowid from sheet2 WHERE row_no = 16"); + asprintf (&sql_statement, + "select row_no, place, lat, lon, rowid from sheet2 WHERE row_no = 16"); ret = sqlite3_get_table (db_handle, sql_statement, &results, &rows, &columns, &err_msg); - sqlite3_free (sql_statement); + free (sql_statement); if (ret != SQLITE_OK) { fprintf (stderr, "Error: %s\n", err_msg); sqlite3_free (err_msg); return -38; Index: test/check_virtualtable6.c ================================================================== --- test/check_virtualtable6.c +++ test/check_virtualtable6.c @@ -252,11 +252,11 @@ } sqlite3_free (err_msg); ret = sqlite3_exec (db_handle, - "create VIRTUAL TABLE toomanyargs USING VirtualShape(\"shapetest1\", UTF8, 4386, 1, UPPER, 1);", + "create VIRTUAL TABLE toomanyargs USING VirtualShape(\"shapetest1\", UTF8, 4386, 1, 1);", NULL, NULL, &err_msg); if (ret != SQLITE_ERROR) { fprintf (stderr, "VirtualShape unexpected result: %i\n", ret); return -15; DELETED test/check_wms.c Index: test/check_wms.c ================================================================== --- test/check_wms.c +++ test/check_wms.c @@ -1,1124 +0,0 @@ -/* - - check_wms.c -- SpatiaLite Test Case - - Author: Sandro Furieri - - ------------------------------------------------------------------------------ - - Version: MPL 1.1/GPL 2.0/LGPL 2.1 - - The contents of this file are subject to the Mozilla Public License Version - 1.1 (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - http://www.mozilla.org/MPL/ - -Software distributed under the License is distributed on an "AS IS" basis, -WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -for the specific language governing rights and limitations under the -License. - -The Original Code is the SpatiaLite library - -The Initial Developer of the Original Code is Alessandro Furieri - -Portions created by the Initial Developer are Copyright (C) 2016 -the Initial Developer. All Rights Reserved. - -Contributor(s): - -Alternatively, the contents of this file may be used under the terms of -either the GNU General Public License Version 2 or later (the "GPL"), or -the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -in which case the provisions of the GPL or the LGPL are applicable instead -of those above. If you wish to allow use of your version of this file only -under the terms of either the GPL or the LGPL, and not to allow others to -use your version of this file under the terms of the MPL, indicate your -decision by deleting the provisions above and replace them with the notice -and other provisions required by the GPL or the LGPL. If you do not delete -the provisions above, a recipient may use your version of this file under -the terms of any one of the MPL, the GPL or the LGPL. - -*/ - -#include -#include -#include -#include - -#include "config.h" - -#include "sqlite3.h" -#include "spatialite.h" - -static int -do_level0_tests (sqlite3 * handle, int *retcode) -{ -/* performing Level 0 tests */ - int ret; - char *err_msg = NULL; - char **results; - int rows; - int columns; - const char *url; - -/* creating WMS support tables */ - ret = - sqlite3_get_table (handle, "SELECT WMS_CreateTables()", &results, &rows, - &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_CreateTables() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -21; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, "WMS_CreateTables() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -22; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_CreateTables() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -23; - return 0; - } - sqlite3_free_table (results); - -/* registering a first WMS GetCapabilities */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetCapabilities('urlcapab_alpha')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetCapability() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -24; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetCapability() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -25; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, - "WMS_RegisterGetCapability() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -26; - return 0; - } - sqlite3_free_table (results); - -/* registering a second WMS GetCapabilities */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetCapabilities('urlcapab_beta')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetCapability() #2 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -27; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetCapability() #2 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -28; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, - "WMS_RegisterGetCapability() #2 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -29; - return 0; - } - sqlite3_free_table (results); - -/* registering a third WMS GetCapabilities */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetCapabilities('urlcapab_gamma', 'title', 'abstract')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetCapability() #3 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -30; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetCapability() #3 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -31; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, - "WMS_RegisterGetCapability() #3 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -32; - return 0; - } - sqlite3_free_table (results); - -/* registering few WMS GetMap related to the first WMS GetCapabilities */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetMap('urlcapab_alpha', 'urlmap_alpha_zero', 'layer', '1.3.0', 'EPSG:3003', 'image/jpeg', 'default', 2, 2)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetMap() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -33; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetMap() #1 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -34; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterGetMap() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -35; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetMap('urlcapab_alpha', 'urlmap_alpha_one', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetMap() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -36; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetMap() #2 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -37; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterGetMap() #2 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -38; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetMap('urlcapab_alpha', 'urlmap_alpha_two', 'layer', '1.3.0', 'EPSG:3003', 'image/jpeg', 'rgb', 0, 0)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetMap() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -39; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetMap() #3 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -40; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterGetMap() #3 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -41; - return 0; - } - sqlite3_free_table (results); - -/* registering a WMS GetMap related to the second WMS GetCapabilities */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetMap('urlcapab_beta', 'urlmap_beta', 'layer', 'title', 'abstract', '1.1.1', 'EPSG:4326', 'image/jpeg', 'default', -1, -1, 1, 1, 64, 64, 'ffffff', 1, 'getfeatureinfo')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetMap() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -42; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetMap() #4 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -43; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterGetMap() #4 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -44; - return 0; - } - sqlite3_free_table (results); - -/* registering few WMS GetMap related to the third WMS GetCapabilities */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetMap('urlcapab_gamma', 'urlmap_gamma_zero', 'layer', '1.3.0', 'EPSG:3003', 'image/jpeg', 'default', 0, 0)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetMap() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -45; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetMap() #5 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -46; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterGetMap() #5 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -47; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterGetMap('urlcapab_gamma', 'urlmap_gamma_one', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, -1, 6000, 6000)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterGetMap() #6 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -48; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterGetMap() #6 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -49; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterGetMap() #6 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -50; - return 0; - } - sqlite3_free_table (results); - -/* registering few WMS GetMap Settings */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterSetting('urlmap_gamma_zero', 'layer', 'VERSION', '1.1.0');" - "SELECT WMS_RegisterSetting('urlmap_gamma_zero', 'layer', 'FORMAT', 'image/jpeg')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterSetting() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -51; - return 0; - } - if (rows != 2 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterSetting() #1 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -52; - return 0; - } - if (atoi (*(results + 1)) != 1 || atoi (*(results + 2)) != 1) - { - fprintf (stderr, "WMS_RegisterSetting() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -53; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterSetting('urlmap_gamma_zero', 'layer', 'FORMAT', 'image/png')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterSetting() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -54; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterSetting() #2 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -55; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterSetting() #2 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -56; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterRefSys('urlmap_gamma_zero', 'layer', 'EPSG:3004', 1000.5, 1001.5, 2000.5, 2001.5);" - "SELECT WMS_RegisterRefSys('urlmap_gamma_zero', 'layer', 'EPSG:3003', 2000.5, 2001.5, 3000.5, 3001.5)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterRefSys() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -57; - return 0; - } - if (rows != 2 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterRefSys() #1 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -58; - return 0; - } - if (atoi (*(results + 1)) != 1 || atoi (*(results + 2)) != 1) - { - fprintf (stderr, "WMS_RegisterRefSys() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -59; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterRefSys('urlmap_gamma_zero', 'layer', 'EPSG:4326', 30, 60, 35, 65, 1)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterRefSys() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -60; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterRefSys() #2 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -61; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterRefSys() #2 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -62; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_RegisterSetting('urlmap_gamma_zero', 'layer', 'STYLE', 'gray', 3)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_RegisterSetting() #5 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -63; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_RegisterSetting() #5 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -64; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_RegisterSetting() #5 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -65; - return 0; - } - sqlite3_free_table (results); - -/* testing WMS GetCapabilities Info */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_SetGetCapabilitiesInfos('urlcapab_alpha', 'new title', 'new abstract')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_SetGetCapabilitiesInfos() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -66; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_SetGetCapabilitiesInfos() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -67; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, - "WMS_SetGetCapabilitiesInfos() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -68; - return 0; - } - sqlite3_free_table (results); - -/* testing WMS GetMap Info */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_SetGetMapInfos('urlmap_alpha_zero', 'layer', 'new title', 'new abstract')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_SetGetMapInfos() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -69; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_SetGetMapInfos() #1 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -70; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_SetGetMapInfos() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -71; - return 0; - } - sqlite3_free_table (results); - -/* updating a WMS GetMap Default Setting */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_DefaultSetting('urlmap_gamma_zero', 'layer', 'FORMAT', 'image/jpeg')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_DefaultSetting() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -72; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_DefaultSetting() #1 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -73; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_DefaultSetting() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -74; - return 0; - } - sqlite3_free_table (results); - -/* updating a WMS GetMap Default Setting */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_DefaultRefSys('urlmap_gamma_zero', 'layer', 'EPSG:3004')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_DefaultRefSys() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -75; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_DefaultRefSys() #1 error: rows=%d columns=%d\n", rows, - columns); - sqlite3_free_table (results); - *retcode = -76; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_DefaultRefSys() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -77; - return 0; - } - sqlite3_free_table (results); - -/* deleting a WMS GetMap Setting */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_UnRegisterSetting('urlmap_gamma_zero', 'layer', 'FORMAT', 'image/png')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_UnRegisterSetting() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -78; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_UnRegisterSetting() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -79; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_UnRegisterSetting() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -80; - return 0; - } - sqlite3_free_table (results); - -/* deleting a WMS GetMap SRS */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_UnRegisterRefSys('urlmap_gamma_zero', 'layer', 'EPSG:3003')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_UnRegisterRefSys() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -81; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_UnRegisterRefSys() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -82; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_UnRegisterRefSys() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -83; - return 0; - } - sqlite3_free_table (results); - -/* deleting a WMS GetMap */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_UnRegisterGetMap('urlmap_alpha_one', 'layer')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_UnRegisterGetMap() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -84; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_UnRegisterGetMap() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -85; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_UnRegisterGetMap() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -86; - return 0; - } - sqlite3_free_table (results); - -/* deleting a WMS GetMap */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_UnRegisterGetCapabilities('urlcapab_beta')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_UnRegisterGetCapabilities() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -87; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_UnRegisterGetCapabilities() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -88; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, - "WMS_UnRegisterGetCapabilities() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -89; - return 0; - } - sqlite3_free_table (results); - -/* updating WMS GetMap Options - BgColor*/ - ret = - sqlite3_get_table (handle, - "SELECT WMS_SetGetMapOptions('urlmap_alpha_two', 'layer', 'ffffd0')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_SetGetMapOptions() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -90; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_SetGetMapOptions() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -91; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_SetGetMapOptions() #1 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -92; - return 0; - } - sqlite3_free_table (results); - -/* updating WMS GetMap Options - Flags*/ - ret = - sqlite3_get_table (handle, - "SELECT WMS_SetGetMapOptions('urlmap_alpha_two', 'layer', 2, 2)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_SetGetMapOptions() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -90; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_SetGetMapOptions() #2 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -91; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_SetGetMapOptions() #2 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -92; - return 0; - } - sqlite3_free_table (results); - -/* updating WMS GetMap Options - Queryable */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_SetGetMapOptions('urlmap_alpha_two', 'layer', 2, 'getfeatureinfo')", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_SetGetMapOptions() #3 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -90; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_SetGetMapOptions() #3 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -91; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_SetGetMapOptions() #3 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -92; - return 0; - } - sqlite3_free_table (results); - -/* updating WMS GetMap Options - Tiled */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_SetGetMapOptions('urlmap_alpha_two', 'layer', 2, 2, 64, 64)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_SetGetMapOptions() #4 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -90; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_SetGetMapOptions() #4 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -91; - return 0; - } - if (atoi (*(results + 1)) != 1) - { - fprintf (stderr, "WMS_SetGetMapOptions() #4 unexpected failure\n"); - sqlite3_free_table (results); - *retcode = -92; - return 0; - } - sqlite3_free_table (results); - -/* testing WMS GetMap request URL */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_GetMapRequestURL('urlmap_alpha_two', 'layer', 1024, 1024, 30, 40, 50, 60)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_GetMapRequestURL() #1 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -93; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_GetMapRequestURL() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -94; - return 0; - } - url = *(results + 1); - if (url == NULL) - { - fprintf (stderr, - "WMS_GetMapRequestURL() #1 error: unexpected NULL\n"); - *retcode = -95; - return 0; - } - if (strcmp - (url, - "urlmap_alpha_two?SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&LAYERS=layer&CRS=EPSG:3003&BBOX=40.000000,30.000000,60.000000,50.000000&WIDTH=1024&HEIGHT=1024&STYLES=rgb&FORMAT=image/jpeg&TRANSPARENT=TRUE&BGCOLOR=0xffffd0") - != 0) - { - fprintf (stderr, "WMS_GetMapRequestURL() #1 unexpected result: %s\n", - *(results + 1)); - sqlite3_free_table (results); - *retcode = -96; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_GetMapRequestURL('urlmap_gamma_one', 'layer', 1024, 1024, 30.5, 40.5, 50.5, 60.5)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_GetMapRequestURL() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -97; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_GetMapRequestURL() #2 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -98; - return 0; - } - url = *(results + 1); - if (url == NULL) - { - fprintf (stderr, - "WMS_GetMapRequestURL() #2 error: unexpected NULL\n"); - *retcode = -99; - return 0; - } - if (strcmp - (url, - "urlmap_gamma_one?SERVICE=WMS&REQUEST=GetMap&VERSION=1.3.0&LAYERS=layer&CRS=EPSG:3003&BBOX=30.500000,40.500000,50.500000,60.500000&WIDTH=1024&HEIGHT=1024&STYLES=default&FORMAT=image/png&TRANSPARENT=TRUE") - != 0) - { - fprintf (stderr, "WMS_GetMapRequestURL() #2 unexpected result: %s\n", - *(results + 1)); - sqlite3_free_table (results); - *retcode = -100; - return 0; - } - sqlite3_free_table (results); - -/* testing WMS GetFeatureInfo request URL */ - ret = - sqlite3_get_table (handle, - "SELECT WMS_GetFeatureInfoRequestURL('urlmap_alpha_two', 'layer', 1024, 1024, 100, 200, 30, 40, 50, 60, 33)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_GetFeatureInfoRequestURL() #1 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -101; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_GetFeatureInfoRequestURL() #1 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -102; - return 0; - } - url = *(results + 1); - if (url == NULL) - { - fprintf (stderr, - "WMS_GetFeatureInfoRequestURL() #1 error: unexpected NULL\n"); - *retcode = -103; - return 0; - } - if (strcmp - (url, - "getfeatureinfo?SERVICE=WMS&REQUEST=GetFeatureInfo&VERSION=1.3.0&QUERY_LAYERS=layer&CRS=EPSG:3003&BBOX=40.000000,30.000000,60.000000,50.000000&WIDTH=1024&HEIGHT=1024&X=100&Y=200&FEATURE_COUNT=33") - != 0) - { - fprintf (stderr, - "WMS_GetFeatureInfoRequestURL() #1 unexpected result: %s\n", - *(results + 1)); - sqlite3_free_table (results); - *retcode = -104; - return 0; - } - sqlite3_free_table (results); - - ret = - sqlite3_get_table (handle, - "SELECT WMS_GetFeatureInfoRequestURL('urlmap_gamma_one', 'layer', 1024, 1024, 100, 200, 30.5, 40.5, 50.5, 60.5)", - &results, &rows, &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_GetFeatureInfoRequestURL() #2 error: %s\n", - err_msg); - sqlite3_free (err_msg); - *retcode = -105; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, - "WMS_GetFeatureInfoRequestURL() #2 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -106; - return 0; - } - url = *(results + 1); - if (url != NULL) - { - fprintf (stderr, - "WMS_GetFeatureInfoRequestURL() #2 unexpected result: %s\n", - *(results + 1)); - sqlite3_free_table (results); - *retcode = -107; - return 0; - } - sqlite3_free_table (results); - -/* re-creating WMS support tables */ - ret = - sqlite3_get_table (handle, "SELECT WMS_CreateTables()", &results, &rows, - &columns, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "WMS_CreateTables() #2 error: %s\n", err_msg); - sqlite3_free (err_msg); - *retcode = -108; - return 0; - } - if (rows != 1 || columns != 1) - { - fprintf (stderr, "WMS_CreateTables() #2 error: rows=%d columns=%d\n", - rows, columns); - sqlite3_free_table (results); - *retcode = -109; - return 0; - } - if (atoi (*(results + 1)) != 0) - { - fprintf (stderr, "WMS_CreateTables() #2 unexpected success\n"); - sqlite3_free_table (results); - *retcode = -110; - return 0; - } - sqlite3_free_table (results); - - return 1; -} - -int -main (int argc, char *argv[]) -{ - int retcode = 0; - int ret; - sqlite3 *handle; - char *err_msg = NULL; - void *cache = spatialite_alloc_connection (); - - if (argc > 1 || argv[0] == NULL) - argc = 1; /* silencing stupid compiler warnings */ - - ret = - sqlite3_open_v2 (":memory:", &handle, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL); - if (ret != SQLITE_OK) - { - fprintf (stderr, "cannot open \":memory:\" database: %s\n", - sqlite3_errmsg (handle)); - sqlite3_close (handle); - return -1; - } - - spatialite_init_ex (handle, cache, 0); - - ret = sqlite3_exec (handle, "PRAGMA foreign_keys=1", NULL, NULL, &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "PRAGMA foreign_keys=1 error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -2; - } - - ret = - sqlite3_exec (handle, "SELECT InitSpatialMetadata(1)", NULL, NULL, - &err_msg); - if (ret != SQLITE_OK) - { - fprintf (stderr, "InitSpatialMetadata() error: %s\n", err_msg); - sqlite3_free (err_msg); - sqlite3_close (handle); - return -3; - } - -/*tests: level 0 */ - if (!do_level0_tests (handle, &retcode)) - goto end; - - end: - spatialite_finalize_topologies (cache); - sqlite3_close (handle); - spatialite_cleanup_ex (cache); - spatialite_shutdown (); - return retcode; -} DELETED test/elba-ln.dbf Index: test/elba-ln.dbf ================================================================== --- test/elba-ln.dbf +++ test/elba-ln.dbf cannot compute difference between binary files DELETED test/elba-ln.shp Index: test/elba-ln.shp ================================================================== --- test/elba-ln.shp +++ test/elba-ln.shp cannot compute difference between binary files DELETED test/elba-ln.shx Index: test/elba-ln.shx ================================================================== --- test/elba-ln.shx +++ test/elba-ln.shx cannot compute difference between binary files DELETED test/elba-pg.dbf Index: test/elba-pg.dbf ================================================================== --- test/elba-pg.dbf +++ test/elba-pg.dbf cannot compute difference between binary files DELETED test/elba-pg.shp Index: test/elba-pg.shp ================================================================== --- test/elba-pg.shp +++ test/elba-pg.shp cannot compute difference between binary files DELETED test/elba-pg.shx Index: test/elba-pg.shx ================================================================== --- test/elba-pg.shx +++ test/elba-pg.shx cannot compute difference between binary files DELETED test/elba-sezcen.sqlite Index: test/elba-sezcen.sqlite ================================================================== --- test/elba-sezcen.sqlite +++ test/elba-sezcen.sqlite cannot compute difference between binary files Index: test/gpkg_test.gpkg ================================================================== --- test/gpkg_test.gpkg +++ test/gpkg_test.gpkg cannot compute difference between binary files Index: test/gpkg_test.sqlite ================================================================== --- test/gpkg_test.sqlite +++ test/gpkg_test.sqlite cannot compute difference between binary files DELETED test/gpkg_test_broken.gpkg Index: test/gpkg_test_broken.gpkg ================================================================== --- test/gpkg_test_broken.gpkg +++ test/gpkg_test_broken.gpkg cannot compute difference between binary files DELETED test/gpkg_test_extrasrid.gpkg Index: test/gpkg_test_extrasrid.gpkg ================================================================== --- test/gpkg_test_extrasrid.gpkg +++ test/gpkg_test_extrasrid.gpkg cannot compute difference between binary files Index: test/shape_primitives.c ================================================================== --- test/shape_primitives.c +++ test/shape_primitives.c @@ -871,11 +871,11 @@ int main (int argc, char *argv[]) { #ifndef OMIT_ICONV /* only if ICONV is supported */ -#ifdef ENABLE_RTTOPO /* only if RTTOPO is supported */ +#ifdef ENABLE_LWGEOM /* only if LWGEOM is supported */ int ret; sqlite3 *handle; char *err_msg = NULL; void *cache = spatialite_alloc_connection (); @@ -1087,11 +1087,11 @@ { fprintf (stderr, "cannot remove legacy v.2.3.1 database\n"); return -1; } -#endif /* end RTTOPO conditionals */ +#endif /* end LWGEOM conditionals */ #endif /* end ICONV conditional */ spatialite_shutdown (); return 0; } DELETED test/sql_stmt_cache_tests/Makefile Index: test/sql_stmt_cache_tests/Makefile ================================================================== --- test/sql_stmt_cache_tests/Makefile +++ test/sql_stmt_cache_tests/Makefile @@ -1,456 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# test/sql_stmt_cache_tests/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libspatialite -pkgincludedir = $(includedir)/libspatialite -pkglibdir = $(libdir)/libspatialite -pkglibexecdir = $(libexecdir)/libspatialite -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-unknown-linux-gnu -host_triplet = x86_64-unknown-linux-gnu -subdir = test/sql_stmt_cache_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AR = ar -AS = as -AUTOCONF = autoconf -AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = dlltool -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBXML2_CFLAGS = -I/usr/include/libxml2 -LIBXML2_LIBS = -lxml2 -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = libspatialite -PACKAGE_BUGREPORT = a.furieri@lqt.it -PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 -PACKAGE_TARNAME = libspatialite -PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = /usr/local/lib/pkgconfig -RANLIB = ranlib -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -VERSION = 4.4.0-RC1 -abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_cache_tests -abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_cache_tests -abs_top_builddir = /home/sandro/fossil/libspatialite -abs_top_srcdir = /home/sandro/fossil/libspatialite -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-unknown-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-unknown-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/sandro/fossil/libspatialite/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -EXTRA_DIST = precision1.testcase \ - precision2.testcase \ - precision3.testcase \ - precision4.testcase \ - precision5.testcase \ - precision6.testcase \ - precision7.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_cache_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_cache_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_cache_tests/Makefile.am Index: test/sql_stmt_cache_tests/Makefile.am ================================================================== --- test/sql_stmt_cache_tests/Makefile.am +++ test/sql_stmt_cache_tests/Makefile.am @@ -1,9 +0,0 @@ - -EXTRA_DIST = precision1.testcase \ - precision2.testcase \ - precision3.testcase \ - precision4.testcase \ - precision5.testcase \ - precision6.testcase \ - precision7.testcase - DELETED test/sql_stmt_cache_tests/Makefile.in Index: test/sql_stmt_cache_tests/Makefile.in ================================================================== --- test/sql_stmt_cache_tests/Makefile.in +++ test/sql_stmt_cache_tests/Makefile.in @@ -1,456 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_cache_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = precision1.testcase \ - precision2.testcase \ - precision3.testcase \ - precision4.testcase \ - precision5.testcase \ - precision6.testcase \ - precision7.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_cache_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_cache_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_cache_tests/precision1.testcase Index: test/sql_stmt_cache_tests/precision1.testcase ================================================================== --- test/sql_stmt_cache_tests/precision1.testcase +++ test/sql_stmt_cache_tests/precision1.testcase @@ -1,9 +0,0 @@ -decimal precision - 10 -:memory: -SELECT SetDecimalPrecision(10), GetDecimalPrecision(); -1 # rows -2 # column -SetDecimalPrecision(10) -GetDecimalPrecision() -(NULL) -10 DELETED test/sql_stmt_cache_tests/precision2.testcase Index: test/sql_stmt_cache_tests/precision2.testcase ================================================================== --- test/sql_stmt_cache_tests/precision2.testcase +++ test/sql_stmt_cache_tests/precision2.testcase @@ -1,9 +0,0 @@ -decimal precision - 100 -:memory: -SELECT SetDecimalPrecision(100), GetDecimalPrecision(); -1 # rows -2 # column -SetDecimalPrecision(100) -GetDecimalPrecision() -(NULL) -18 DELETED test/sql_stmt_cache_tests/precision3.testcase Index: test/sql_stmt_cache_tests/precision3.testcase ================================================================== --- test/sql_stmt_cache_tests/precision3.testcase +++ test/sql_stmt_cache_tests/precision3.testcase @@ -1,9 +0,0 @@ -decimal precision - -100 -:memory: -SELECT SetDecimalPrecision(-100), GetDecimalPrecision(); -1 # rows -2 # column -SetDecimalPrecision(-100) -GetDecimalPrecision() -(NULL) --1 DELETED test/sql_stmt_cache_tests/precision4.testcase Index: test/sql_stmt_cache_tests/precision4.testcase ================================================================== --- test/sql_stmt_cache_tests/precision4.testcase +++ test/sql_stmt_cache_tests/precision4.testcase @@ -1,7 +0,0 @@ -decimal precision - NULL -:memory: -SELECT SetDecimalPrecision(NULL); -1 # rows -1 # column -SetDecimalPrecision(NULL) -(NULL) DELETED test/sql_stmt_cache_tests/precision5.testcase Index: test/sql_stmt_cache_tests/precision5.testcase ================================================================== --- test/sql_stmt_cache_tests/precision5.testcase +++ test/sql_stmt_cache_tests/precision5.testcase @@ -1,7 +0,0 @@ -decimal precision - TEXT -:memory: -SELECT SetDecimalPrecision('aleph'); -1 # rows -1 # column -SetDecimalPrecision('aleph') -(NULL) DELETED test/sql_stmt_cache_tests/precision6.testcase Index: test/sql_stmt_cache_tests/precision6.testcase ================================================================== --- test/sql_stmt_cache_tests/precision6.testcase +++ test/sql_stmt_cache_tests/precision6.testcase @@ -1,7 +0,0 @@ -decimal precision - DOUBLE -:memory: -SELECT SetDecimalPrecision(1.5); -1 # rows -1 # column -SetDecimalPrecision(1.5) -(NULL) DELETED test/sql_stmt_cache_tests/precision7.testcase Index: test/sql_stmt_cache_tests/precision7.testcase ================================================================== --- test/sql_stmt_cache_tests/precision7.testcase +++ test/sql_stmt_cache_tests/precision7.testcase @@ -1,7 +0,0 @@ -decimal precision - BLOB -:memory: -SELECT SetDecimalPrecision(zeroblob(10)); -1 # rows -1 # column -SetDecimalPrecision(zeroblob(10)) -(NULL) Index: test/sql_stmt_freexl_tests/Makefile ================================================================== --- test/sql_stmt_freexl_tests/Makefile +++ test/sql_stmt_freexl_tests/Makefile @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # test/sql_stmt_freexl_tests/Makefile. Generated from Makefile.in by configure. -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-unknown-linux-gnu host_triplet = x86_64-unknown-linux-gnu subdir = test/sql_stmt_freexl_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) @@ -118,20 +108,19 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 +ACLOCAL = aclocal-1.14 AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AR = ar AS = as AUTOCONF = autoconf AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 +AUTOMAKE = automake-1.14 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g CPP = gcc -E @@ -150,23 +139,23 @@ ECHO_N = -n ECHO_T = EGREP = /usr/bin/grep -E EXEEXT = FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib +GEOSCONFIG = /usr/bin/geos-config +GEOS_CFLAGS = -I/usr/include +GEOS_LDFLAGS = -L/usr/lib64 GREP = /usr/bin/grep INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s LD = /usr/bin/ld -m elf_x86_64 LDFLAGS = LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c +LIBS = -lfreexl -lproj -lz -lsqlite3 -L/usr/lib64 -lgeos_c -llwgeom -lgeos_c LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBXML2_CFLAGS = -I/usr/include/libxml2 LIBXML2_LIBS = -lxml2 LIPO = LN_S = ln -s @@ -182,24 +171,24 @@ OTOOL = OTOOL64 = PACKAGE = libspatialite PACKAGE_BUGREPORT = a.furieri@lqt.it PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 +PACKAGE_STRING = libspatialite 4.3.0-devel PACKAGE_TARNAME = libspatialite PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 +PACKAGE_VERSION = 4.3.0-devel PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = /usr/local/lib/pkgconfig RANLIB = ranlib SED = /usr/bin/sed SET_MAKE = SHELL = /bin/sh STRIP = strip -VERSION = 4.4.0-RC1 +VERSION = 4.3.0-devel abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_freexl_tests abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_freexl_tests abs_top_builddir = /home/sandro/fossil/libspatialite abs_top_srcdir = /home/sandro/fossil/libspatialite ac_ct_AR = ar @@ -272,10 +261,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_freexl_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_freexl_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -446,11 +436,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: test/sql_stmt_freexl_tests/Makefile.in ================================================================== --- test/sql_stmt_freexl_tests/Makefile.in +++ test/sql_stmt_freexl_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_freexl_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -272,10 +261,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_freexl_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_freexl_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -446,11 +436,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: test/sql_stmt_geopackage_tests/Makefile.am ================================================================== --- test/sql_stmt_geopackage_tests/Makefile.am +++ test/sql_stmt_geopackage_tests/Makefile.am @@ -69,6 +69,6 @@ makepointzm4.testcase \ makepointzm5.testcase \ makepointzm6.testcase \ makepointzm7.testcase \ makepointzm8.testcase \ - makepointzm9.testcase + makepointzm9.testcase Index: test/sql_stmt_geopackage_tests/Makefile.in ================================================================== --- test/sql_stmt_geopackage_tests/Makefile.in +++ test/sql_stmt_geopackage_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_geopackage_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -321,11 +310,11 @@ makepointzm4.testcase \ makepointzm5.testcase \ makepointzm6.testcase \ makepointzm7.testcase \ makepointzm8.testcase \ - makepointzm9.testcase + makepointzm9.testcase all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @@ -338,10 +327,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_geopackage_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_geopackage_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -512,11 +502,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: test/sql_stmt_geos_tests/Makefile.am ================================================================== --- test/sql_stmt_geos_tests/Makefile.am +++ test/sql_stmt_geos_tests/Makefile.am @@ -106,26 +106,10 @@ convexhull5.testcase \ convexhull6.testcase \ convexhull7.testcase \ convexhull8.testcase \ convexhull9.testcase \ - acuttermessage.testcase \ - cutter1.testcase \ - cutter2.testcase \ - cutter3.testcase \ - cutter4.testcase \ - cutter5.testcase \ - cutter6.testcase \ - cutter7.testcase \ - cutter8.testcase \ - cutter9.testcase \ - cutter10.testcase \ - cutter11.testcase \ - cutter12.testcase \ - cutter13.testcase \ - cutter14.testcase \ - cutter15.testcase \ difference10.testcase \ difference11.testcase \ difference12.testcase \ difference1.testcase \ difference2.testcase \ @@ -274,35 +258,10 @@ relate5.testcase \ relate6.testcase \ relate7.testcase \ relate8.testcase \ relate9.testcase \ - relate10.testcase \ - relate11.testcase \ - relate12.testcase \ - relate13.testcase \ - relate14.testcase \ - relate15.testcase \ - relate16.testcase \ - relate17.testcase \ - relate18.testcase \ - relate19.testcase \ - relate20.testcase \ - relate21.testcase \ - relate22.testcase \ - relate23.testcase \ - relate24.testcase \ - relatematch1.testcase \ - relatematch2.testcase \ - relatematch3.testcase \ - relatematch4.testcase \ - relatematch5.testcase \ - relatematch6.testcase \ - relatematch7.testcase \ - relatematch8.testcase \ - relatematch9.testcase \ - relatematch10.testcase \ relations1.testcase \ relations2.testcase \ relations3.testcase \ relations4.testcase \ relations5.testcase \ @@ -487,10 +446,28 @@ covers_covered3.testcase \ covers_covered4.testcase \ covers_covered5.testcase \ covers_covered6.testcase \ covers_covered7.testcase \ + createtopo10.testcase \ + createtopo11.testcase \ + createtopo12.testcase \ + createtopo13.testcase \ + createtopo14.testcase \ + createtopo15.testcase \ + createtopo16.testcase \ + createtopo17.testcase \ + createtopo18.testcase \ + createtopo1.testcase \ + createtopo2.testcase \ + createtopo3.testcase \ + createtopo4.testcase \ + createtopo5.testcase \ + createtopo6.testcase \ + createtopo7.testcase \ + createtopo8.testcase \ + createtopo9.testcase \ distance_geogr10.testcase \ distance_geogr11.testcase \ distance_geogr12.testcase \ distance_geogr1.testcase \ distance_geogr2.testcase \ @@ -521,12 +498,10 @@ hexgrid1.testcase \ hexgrid20.testcase \ hexgrid21.testcase \ hexgrid22.testcase \ hexgrid23.testcase \ - hexgrid24.testcase \ - hexgrid25.testcase \ hexgrid2.testcase \ hexgrid3.testcase \ hexgrid4.testcase \ hexgrid5.testcase \ hexgrid6.testcase \ @@ -726,12 +701,10 @@ squaregrid1.testcase \ squaregrid20.testcase \ squaregrid21.testcase \ squaregrid22.testcase \ squaregrid23.testcase \ - squaregrid24.testcase \ - squaregrid25.testcase \ squaregrid2.testcase \ squaregrid3.testcase \ squaregrid4.testcase \ squaregrid5.testcase \ squaregrid6.testcase \ @@ -751,12 +724,10 @@ trianggrid1.testcase \ trianggrid20.testcase \ trianggrid21.testcase \ trianggrid22.testcase \ trianggrid23.testcase \ - trianggrid24.testcase \ - trianggrid25.testcase \ trianggrid2.testcase \ trianggrid3.testcase \ trianggrid4.testcase \ trianggrid5.testcase \ trianggrid6.testcase \ Index: test/sql_stmt_geos_tests/Makefile.in ================================================================== --- test/sql_stmt_geos_tests/Makefile.in +++ test/sql_stmt_geos_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_geos_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -359,26 +348,10 @@ convexhull5.testcase \ convexhull6.testcase \ convexhull7.testcase \ convexhull8.testcase \ convexhull9.testcase \ - acuttermessage.testcase \ - cutter1.testcase \ - cutter2.testcase \ - cutter3.testcase \ - cutter4.testcase \ - cutter5.testcase \ - cutter6.testcase \ - cutter7.testcase \ - cutter8.testcase \ - cutter9.testcase \ - cutter10.testcase \ - cutter11.testcase \ - cutter12.testcase \ - cutter13.testcase \ - cutter14.testcase \ - cutter15.testcase \ difference10.testcase \ difference11.testcase \ difference12.testcase \ difference1.testcase \ difference2.testcase \ @@ -527,35 +500,10 @@ relate5.testcase \ relate6.testcase \ relate7.testcase \ relate8.testcase \ relate9.testcase \ - relate10.testcase \ - relate11.testcase \ - relate12.testcase \ - relate13.testcase \ - relate14.testcase \ - relate15.testcase \ - relate16.testcase \ - relate17.testcase \ - relate18.testcase \ - relate19.testcase \ - relate20.testcase \ - relate21.testcase \ - relate22.testcase \ - relate23.testcase \ - relate24.testcase \ - relatematch1.testcase \ - relatematch2.testcase \ - relatematch3.testcase \ - relatematch4.testcase \ - relatematch5.testcase \ - relatematch6.testcase \ - relatematch7.testcase \ - relatematch8.testcase \ - relatematch9.testcase \ - relatematch10.testcase \ relations1.testcase \ relations2.testcase \ relations3.testcase \ relations4.testcase \ relations5.testcase \ @@ -740,10 +688,28 @@ covers_covered3.testcase \ covers_covered4.testcase \ covers_covered5.testcase \ covers_covered6.testcase \ covers_covered7.testcase \ + createtopo10.testcase \ + createtopo11.testcase \ + createtopo12.testcase \ + createtopo13.testcase \ + createtopo14.testcase \ + createtopo15.testcase \ + createtopo16.testcase \ + createtopo17.testcase \ + createtopo18.testcase \ + createtopo1.testcase \ + createtopo2.testcase \ + createtopo3.testcase \ + createtopo4.testcase \ + createtopo5.testcase \ + createtopo6.testcase \ + createtopo7.testcase \ + createtopo8.testcase \ + createtopo9.testcase \ distance_geogr10.testcase \ distance_geogr11.testcase \ distance_geogr12.testcase \ distance_geogr1.testcase \ distance_geogr2.testcase \ @@ -774,12 +740,10 @@ hexgrid1.testcase \ hexgrid20.testcase \ hexgrid21.testcase \ hexgrid22.testcase \ hexgrid23.testcase \ - hexgrid24.testcase \ - hexgrid25.testcase \ hexgrid2.testcase \ hexgrid3.testcase \ hexgrid4.testcase \ hexgrid5.testcase \ hexgrid6.testcase \ @@ -979,12 +943,10 @@ squaregrid1.testcase \ squaregrid20.testcase \ squaregrid21.testcase \ squaregrid22.testcase \ squaregrid23.testcase \ - squaregrid24.testcase \ - squaregrid25.testcase \ squaregrid2.testcase \ squaregrid3.testcase \ squaregrid4.testcase \ squaregrid5.testcase \ squaregrid6.testcase \ @@ -1004,12 +966,10 @@ trianggrid1.testcase \ trianggrid20.testcase \ trianggrid21.testcase \ trianggrid22.testcase \ trianggrid23.testcase \ - trianggrid24.testcase \ - trianggrid25.testcase \ trianggrid2.testcase \ trianggrid3.testcase \ trianggrid4.testcase \ trianggrid5.testcase \ trianggrid6.testcase \ @@ -1038,10 +998,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_geos_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_geos_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -1212,11 +1173,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: DELETED test/sql_stmt_geos_tests/acuttermessage.testcase Index: test/sql_stmt_geos_tests/acuttermessage.testcase ================================================================== --- test/sql_stmt_geos_tests/acuttermessage.testcase +++ test/sql_stmt_geos_tests/acuttermessage.testcase @@ -1,7 +0,0 @@ -GetCutterMessage -NEW:memory: #use in-memory database -SELECT GetCutterMessage(); -1 # rows (not including the header row) -1 # columns -GetCutterMessage() -(NULL) ADDED test/sql_stmt_geos_tests/createtopo1.testcase Index: test/sql_stmt_geos_tests/createtopo1.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo1.testcase +++ test/sql_stmt_geos_tests/createtopo1.testcase @@ -0,0 +1,7 @@ +CreateTopology - 2 arguments, 2D +NEW:memory: #use in-memory database (empty) +SELECT CreateTopologyTables(4326, "XY"); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables(4326, "XY") +1 ADDED test/sql_stmt_geos_tests/createtopo10.testcase Index: test/sql_stmt_geos_tests/createtopo10.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo10.testcase +++ test/sql_stmt_geos_tests/createtopo10.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, integer prefix (error) +:memory: #use in-memory database +SELECT CreateTopologyTables(3, 4326, 3); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables(3, 4326, 3) +0 ADDED test/sql_stmt_geos_tests/createtopo11.testcase Index: test/sql_stmt_geos_tests/createtopo11.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo11.testcase +++ test/sql_stmt_geos_tests/createtopo11.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, float dim (error) +:memory: #use in-memory database +SELECT CreateTopologyTables("hello_world", 4326, 3.3); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("hello_world", 4326, 3.3) +0 ADDED test/sql_stmt_geos_tests/createtopo12.testcase Index: test/sql_stmt_geos_tests/createtopo12.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo12.testcase +++ test/sql_stmt_geos_tests/createtopo12.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, spaces in prefix +NEW:memory: #use in-memory database +SELECT CreateTopologyTables("hello world", 4326, 3); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("hello world", 4326, 3) +1 ADDED test/sql_stmt_geos_tests/createtopo13.testcase Index: test/sql_stmt_geos_tests/createtopo13.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo13.testcase +++ test/sql_stmt_geos_tests/createtopo13.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, quote in prefix +NEW:memory: #use in-memory database +SELECT CreateTopologyTables("hello'_world", 4326, 3); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("hello'_world", 4326, 3) +1 ADDED test/sql_stmt_geos_tests/createtopo14.testcase Index: test/sql_stmt_geos_tests/createtopo14.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo14.testcase +++ test/sql_stmt_geos_tests/createtopo14.testcase @@ -0,0 +1,7 @@ +CreateTopology - 2 arguments, 2D int +NEW:memory: #use in-memory database +SELECT CreateTopologyTables(4326, 2); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables(4326, 2) +1 ADDED test/sql_stmt_geos_tests/createtopo15.testcase Index: test/sql_stmt_geos_tests/createtopo15.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo15.testcase +++ test/sql_stmt_geos_tests/createtopo15.testcase @@ -0,0 +1,7 @@ +CreateTopology - 2 arguments, 3D int +NEW:memory: #use in-memory database +SELECT CreateTopologyTables(4326, 3); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables(4326, 3) +1 ADDED test/sql_stmt_geos_tests/createtopo16.testcase Index: test/sql_stmt_geos_tests/createtopo16.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo16.testcase +++ test/sql_stmt_geos_tests/createtopo16.testcase @@ -0,0 +1,7 @@ +CreateTopology - 2 arguments, 4D int (error) +:memory: #use in-memory database +SELECT CreateTopologyTables(4326, 4); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables(4326, 4) +0 ADDED test/sql_stmt_geos_tests/createtopo17.testcase Index: test/sql_stmt_geos_tests/createtopo17.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo17.testcase +++ test/sql_stmt_geos_tests/createtopo17.testcase @@ -0,0 +1,7 @@ +CreateTopology - 2 arguments, text SRID (error) +:memory: #use in-memory database +SELECT CreateTopologyTables("4326", 2); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("4326", 2) +0 ADDED test/sql_stmt_geos_tests/createtopo18.testcase Index: test/sql_stmt_geos_tests/createtopo18.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo18.testcase +++ test/sql_stmt_geos_tests/createtopo18.testcase @@ -0,0 +1,7 @@ +CreateTopology - 2 arguments, float dims (error) +:memory: #use in-memory database +SELECT CreateTopologyTables(4326, 2.0); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables(4326, 2.0) +0 ADDED test/sql_stmt_geos_tests/createtopo2.testcase Index: test/sql_stmt_geos_tests/createtopo2.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo2.testcase +++ test/sql_stmt_geos_tests/createtopo2.testcase @@ -0,0 +1,7 @@ +CreateTopology - 2 arguments, 3D +NEW:memory: #use in-memory database +SELECT CreateTopologyTables(4326, "XYZ"); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables(4326, "XYZ") +1 ADDED test/sql_stmt_geos_tests/createtopo3.testcase Index: test/sql_stmt_geos_tests/createtopo3.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo3.testcase +++ test/sql_stmt_geos_tests/createtopo3.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, 2D +NEW:memory: #use in-memory database +SELECT CreateTopologyTables("my_prefix", 4326, "XY"); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("my_prefix", 4326, "XY") +1 ADDED test/sql_stmt_geos_tests/createtopo4.testcase Index: test/sql_stmt_geos_tests/createtopo4.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo4.testcase +++ test/sql_stmt_geos_tests/createtopo4.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, 3D +NEW:memory: #use in-memory database +SELECT CreateTopologyTables("my_prefix", 4326, "XYZ"); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("my_prefix", 4326, "XYZ") +1 ADDED test/sql_stmt_geos_tests/createtopo5.testcase Index: test/sql_stmt_geos_tests/createtopo5.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo5.testcase +++ test/sql_stmt_geos_tests/createtopo5.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, 3D int +NEW:memory: #use in-memory database +SELECT CreateTopologyTables("my_prefix", 4326, 3); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("my_prefix", 4326, 3) +1 ADDED test/sql_stmt_geos_tests/createtopo6.testcase Index: test/sql_stmt_geos_tests/createtopo6.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo6.testcase +++ test/sql_stmt_geos_tests/createtopo6.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, 2D int +NEW:memory: #use in-memory database +SELECT CreateTopologyTables("my_prefix", 4326, 2); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("my_prefix", 4326, 2) +1 ADDED test/sql_stmt_geos_tests/createtopo7.testcase Index: test/sql_stmt_geos_tests/createtopo7.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo7.testcase +++ test/sql_stmt_geos_tests/createtopo7.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, 4D (error) +:memory: #use in-memory database +SELECT CreateTopologyTables("my_prefix", 4326, 4); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("my_prefix", 4326, 4) +0 ADDED test/sql_stmt_geos_tests/createtopo8.testcase Index: test/sql_stmt_geos_tests/createtopo8.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo8.testcase +++ test/sql_stmt_geos_tests/createtopo8.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, text SRID (error) +:memory: #use in-memory database +SELECT CreateTopologyTables("my_prefix", "WGS-84", 3); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("my_prefix", "WGS-84", 3) +0 ADDED test/sql_stmt_geos_tests/createtopo9.testcase Index: test/sql_stmt_geos_tests/createtopo9.testcase ================================================================== --- test/sql_stmt_geos_tests/createtopo9.testcase +++ test/sql_stmt_geos_tests/createtopo9.testcase @@ -0,0 +1,7 @@ +CreateTopology - 3 arguments, 0 SRID (error) +:memory: #use in-memory database +SELECT CreateTopologyTables("my_prefix", 0, 3); +1 # rows (not including the header row) +1 # columns +CreateTopologyTables("my_prefix", 0, 3) +0 DELETED test/sql_stmt_geos_tests/cutter1.testcase Index: test/sql_stmt_geos_tests/cutter1.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter1.testcase +++ test/sql_stmt_geos_tests/cutter1.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL input-DB-prefix -:memory: #use in-memory database -SELECT ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output') -0 DELETED test/sql_stmt_geos_tests/cutter10.testcase Index: test/sql_stmt_geos_tests/cutter10.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter10.testcase +++ test/sql_stmt_geos_tests/cutter10.testcase @@ -1,7 +0,0 @@ -ST_Cutter - INT blade-geom -:memory: #use in-memory database -SELECT ST_Cutter('db-prefix', 'input', 'input_g', NULL, 'blade', 1, 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter('db-prefix', 'input', 'input_g', NULL, 'blade', 1, 'output') --1 DELETED test/sql_stmt_geos_tests/cutter11.testcase Index: test/sql_stmt_geos_tests/cutter11.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter11.testcase +++ test/sql_stmt_geos_tests/cutter11.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL output -:memory: #use in-memory database -SELECT ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', NULL); -1 # rows (not including the header row) -1 # columns -ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', NULL) --1 DELETED test/sql_stmt_geos_tests/cutter12.testcase Index: test/sql_stmt_geos_tests/cutter12.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter12.testcase +++ test/sql_stmt_geos_tests/cutter12.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL transaction -:memory: #use in-memory database -SELECT ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output', NULL); -1 # rows (not including the header row) -1 # columns -ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output', NULL) --1 DELETED test/sql_stmt_geos_tests/cutter13.testcase Index: test/sql_stmt_geos_tests/cutter13.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter13.testcase +++ test/sql_stmt_geos_tests/cutter13.testcase @@ -1,7 +0,0 @@ -ST_Cutter - INT transaction -:memory: #use in-memory database -SELECT ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output', 1); -1 # rows (not including the header row) -1 # columns -ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output', 1) -0 DELETED test/sql_stmt_geos_tests/cutter14.testcase Index: test/sql_stmt_geos_tests/cutter14.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter14.testcase +++ test/sql_stmt_geos_tests/cutter14.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL ram-temp-storage -:memory: #use in-memory database -SELECT ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output', 1, NULL) --1 DELETED test/sql_stmt_geos_tests/cutter15.testcase Index: test/sql_stmt_geos_tests/cutter15.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter15.testcase +++ test/sql_stmt_geos_tests/cutter15.testcase @@ -1,7 +0,0 @@ -ST_Cutter - INT ram-temp-storage -:memory: #use in-memory database -SELECT ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -ST_Cutter(NULL, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output', 1, 1) -0 DELETED test/sql_stmt_geos_tests/cutter2.testcase Index: test/sql_stmt_geos_tests/cutter2.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter2.testcase +++ test/sql_stmt_geos_tests/cutter2.testcase @@ -1,7 +0,0 @@ -ST_Cutter - INT input-DB-prefix -:memory: #use in-memory database -SELECT ST_Cutter(1, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter(1, 'input', 'input_g', 'db-prefix', 'blade', 'blade_g', 'output') --1 DELETED test/sql_stmt_geos_tests/cutter3.testcase Index: test/sql_stmt_geos_tests/cutter3.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter3.testcase +++ test/sql_stmt_geos_tests/cutter3.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL input-table -:memory: #use in-memory database -SELECT ST_Cutter('db-prefix', NULL, 'input_g', 'db-prefix', 'blade', 'blade_g', 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter('db-prefix', NULL, 'input_g', 'db-prefix', 'blade', 'blade_g', 'output') --1 DELETED test/sql_stmt_geos_tests/cutter4.testcase Index: test/sql_stmt_geos_tests/cutter4.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter4.testcase +++ test/sql_stmt_geos_tests/cutter4.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL input-geom -:memory: #use in-memory database -SELECT ST_Cutter('db-prefix', 'input', NULL, 'db-prefix', 'blade', 'blade_g', 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter('db-prefix', 'input', NULL, 'db-prefix', 'blade', 'blade_g', 'output') -0 DELETED test/sql_stmt_geos_tests/cutter5.testcase Index: test/sql_stmt_geos_tests/cutter5.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter5.testcase +++ test/sql_stmt_geos_tests/cutter5.testcase @@ -1,7 +0,0 @@ -ST_Cutter - INT input-geom -:memory: #use in-memory database -SELECT ST_Cutter('db-prefix', 'input', 1, 'db-prefix', 'blade', 'blade_g', 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter('db-prefix', 'input', 1, 'db-prefix', 'blade', 'blade_g', 'output') --1 DELETED test/sql_stmt_geos_tests/cutter6.testcase Index: test/sql_stmt_geos_tests/cutter6.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter6.testcase +++ test/sql_stmt_geos_tests/cutter6.testcase @@ -1,7 +0,0 @@ -ST_Cutter - INT blade-db-prefix -:memory: #use in-memory database -SELECT ST_Cutter('db-prefix', 'input', NULL, 1, 'blade', 'blade_g', 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter('db-prefix', 'input', NULL, 1, 'blade', 'blade_g', 'output') --1 DELETED test/sql_stmt_geos_tests/cutter7.testcase Index: test/sql_stmt_geos_tests/cutter7.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter7.testcase +++ test/sql_stmt_geos_tests/cutter7.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL blade-db-prefix -:memory: #use in-memory database -SELECT ST_Cutter('db-prefix', 'input', 'input_g', NULL, 'blade', 'blade_g', 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter('db-prefix', 'input', 'input_g', NULL, 'blade', 'blade_g', 'output') -0 DELETED test/sql_stmt_geos_tests/cutter8.testcase Index: test/sql_stmt_geos_tests/cutter8.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter8.testcase +++ test/sql_stmt_geos_tests/cutter8.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL blade-table -:memory: #use in-memory database -SELECT ST_Cutter('db-prefix', 'input', 'input_g', NULL, NULL, 'blade_g', 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter('db-prefix', 'input', 'input_g', NULL, NULL, 'blade_g', 'output') --1 DELETED test/sql_stmt_geos_tests/cutter9.testcase Index: test/sql_stmt_geos_tests/cutter9.testcase ================================================================== --- test/sql_stmt_geos_tests/cutter9.testcase +++ test/sql_stmt_geos_tests/cutter9.testcase @@ -1,7 +0,0 @@ -ST_Cutter - NULL blade-geom -:memory: #use in-memory database -SELECT ST_Cutter('db-prefix', 'input', 'input_g', NULL, 'blade', NULL, 'output'); -1 # rows (not including the header row) -1 # columns -ST_Cutter('db-prefix', 'input', 'input_g', NULL, 'blade', NULL, 'output') -0 Index: test/sql_stmt_geos_tests/hexgrid20.testcase ================================================================== --- test/sql_stmt_geos_tests/hexgrid20.testcase +++ test/sql_stmt_geos_tests/hexgrid20.testcase @@ -2,6 +2,6 @@ :memory: #use in-memory database SELECT AsText(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 0, GeomFromText('POINT(0.1 0.1)'))); 1 # rows (not including the header row) 1 # columns AsText(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 0, GeomFromText('POINT(0.1 0.1)'))) -MULTIPOLYGON(((0.1 0.1, 0.6 -0.766025, 1.6 -0.766025, 2.1 0.1, 1.6 0.966025, 0.6 0.966025, 0.1 0.1)), ((-1.4 0.966025, -0.9 0.1, 0.1 0.1, 0.6 0.966025, 0.1 1.832051, -0.9 1.832051, -1.4 0.966025)), ((1.6 0.966025, 2.1 0.1, 3.1 0.1, 3.6 0.966025, 3.1 1.832051, 2.1 1.832051, 1.6 0.966025)), ((0.1 1.832051, 0.6 0.966025, 1.6 0.966025, 2.1 1.832051, 1.6 2.698076, 0.6 2.698076, 0.1 1.832051))) +MULTIPOLYGON(((0.1 0.966025, 0.6 0.1, 1.6 0.1, 2.1 0.966025, 1.6 1.832051, 0.6 1.832051, 0.1 0.966025)), ((1.6 1.832051, 2.1 0.966025, 3.1 0.966025, 3.6 1.832051, 3.1 2.698076, 2.1 2.698076, 1.6 1.832051))) Index: test/sql_stmt_geos_tests/hexgrid21.testcase ================================================================== --- test/sql_stmt_geos_tests/hexgrid21.testcase +++ test/sql_stmt_geos_tests/hexgrid21.testcase @@ -2,6 +2,9 @@ :memory: #use in-memory database SELECT AsText(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0)); 1 # rows (not including the header row) 1 # columns AsText(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0)) -MULTIPOLYGON(((0 0, 0.5 -0.866025, 1.5 -0.866025, 2 0, 1.5 0.866025, 0.5 0.866025, 0 0)), ((-1.5 0.866025, -1 0, 0 0, 0.5 0.866025, 0 1.732051, -1 1.732051, -1.5 0.866025)), ((1.5 0.866025, 2 0, 3 0, 3.5 0.866025, 3 1.732051, 2 1.732051, 1.5 0.866025)), ((0 1.732051, 0.5 0.866025, 1.5 0.866025, 2 1.732051, 1.5 2.598076, 0.5 2.598076, 0 1.732051))) +MULTIPOLYGON(((0 0.866025, 0.5 0, 1.5 0, 2 0.866025, 1.5 1.732051, 0.5 1.732051, 0 0.866025)), ((1.5 1.732051, 2 0.866025, 3 0.866025, 3.5 1.732051, 3 2.598076, 2 2.598076, 1.5 1.732051))) + + + Index: test/sql_stmt_geos_tests/hexgrid22.testcase ================================================================== --- test/sql_stmt_geos_tests/hexgrid22.testcase +++ test/sql_stmt_geos_tests/hexgrid22.testcase @@ -1,7 +1,7 @@ -HexagonalGrid - valid - with Origin, MultiLinestring +HexagonalGrid - valid - with Origin, edges_only :memory: #use in-memory database -SELECT ST_NumGeometries(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))); +SELECT ST_Length(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))); 1 # rows (not including the header row) 1 # columns -ST_NumGeometries(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))) -22 +ST_Length(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))) +12.0 Index: test/sql_stmt_geos_tests/hexgrid23.testcase ================================================================== --- test/sql_stmt_geos_tests/hexgrid23.testcase +++ test/sql_stmt_geos_tests/hexgrid23.testcase @@ -1,7 +1,7 @@ -HexagonalGrid - valid - no Origin, MultiLinestring +HexagonalGrid - valid - no Origin, edges_only :memory: #use in-memory database -SELECT ST_NumGeometries(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)); +SELECT ST_Length(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)); 1 # rows (not including the header row) 1 # columns -ST_NumGeometries(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)) -19 +ST_Length(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)) +11.0 DELETED test/sql_stmt_geos_tests/hexgrid24.testcase Index: test/sql_stmt_geos_tests/hexgrid24.testcase ================================================================== --- test/sql_stmt_geos_tests/hexgrid24.testcase +++ test/sql_stmt_geos_tests/hexgrid24.testcase @@ -1,7 +0,0 @@ -HexagonalGrid - valid - with Origin, MultiPoint -:memory: #use in-memory database -SELECT ST_NumGeometries(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1, GeomFromText('POINT(0.1 0.1)'))); -1 # rows (not including the header row) -1 # columns -ST_NumGeometries(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1, GeomFromText('POINT(0.1 0.1)'))) -18 DELETED test/sql_stmt_geos_tests/hexgrid25.testcase Index: test/sql_stmt_geos_tests/hexgrid25.testcase ================================================================== --- test/sql_stmt_geos_tests/hexgrid25.testcase +++ test/sql_stmt_geos_tests/hexgrid25.testcase @@ -1,7 +0,0 @@ -HexagonalGrid - valid - no Origin, MultiPoint -:memory: #use in-memory database -SELECT ST_NumGeometries(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1)); -1 # rows (not including the header row) -1 # columns -ST_NumGeometries(HexagonalGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1)) -16 DELETED test/sql_stmt_geos_tests/relate10.testcase Index: test/sql_stmt_geos_tests/relate10.testcase ================================================================== --- test/sql_stmt_geos_tests/relate10.testcase +++ test/sql_stmt_geos_tests/relate10.testcase @@ -1,7 +0,0 @@ -Relate - NULL geom1 -:memory: #use in-memory database -SELECT ST_Relate(NULL, MakePoint(0, 0, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Relate(NULL, MakePoint(0, 0, 4326)); -(NULL) DELETED test/sql_stmt_geos_tests/relate11.testcase Index: test/sql_stmt_geos_tests/relate11.testcase ================================================================== --- test/sql_stmt_geos_tests/relate11.testcase +++ test/sql_stmt_geos_tests/relate11.testcase @@ -1,7 +0,0 @@ -Relate - invalid BLOB geom1 -:memory: #use in-memory database -SELECT ST_Relate(zeroblob(10), MakePoint(0, 0, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Relate(zeroblob(10), MakePoint(0, 0, 4326)); -(NULL) DELETED test/sql_stmt_geos_tests/relate12.testcase Index: test/sql_stmt_geos_tests/relate12.testcase ================================================================== --- test/sql_stmt_geos_tests/relate12.testcase +++ test/sql_stmt_geos_tests/relate12.testcase @@ -1,7 +0,0 @@ -Relate - text geom1 -:memory: #use in-memory database -SELECT ST_Relate('alpha', MakePoint(0, 0, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Relate('alpha', MakePoint(0, 0, 4326)); -(NULL) DELETED test/sql_stmt_geos_tests/relate13.testcase Index: test/sql_stmt_geos_tests/relate13.testcase ================================================================== --- test/sql_stmt_geos_tests/relate13.testcase +++ test/sql_stmt_geos_tests/relate13.testcase @@ -1,7 +0,0 @@ -Relate - int geom1 -:memory: #use in-memory database -SELECT ST_Relate(1, MakePoint(0, 0, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Relate(1, MakePoint(0, 0, 4326)); -(NULL) DELETED test/sql_stmt_geos_tests/relate14.testcase Index: test/sql_stmt_geos_tests/relate14.testcase ================================================================== --- test/sql_stmt_geos_tests/relate14.testcase +++ test/sql_stmt_geos_tests/relate14.testcase @@ -1,7 +0,0 @@ -Relate - geom1, geom2 -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326)); -0FFFFFFF2 DELETED test/sql_stmt_geos_tests/relate15.testcase Index: test/sql_stmt_geos_tests/relate15.testcase ================================================================== --- test/sql_stmt_geos_tests/relate15.testcase +++ test/sql_stmt_geos_tests/relate15.testcase @@ -1,7 +0,0 @@ -Relate - NULL geom2 -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), NULL); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), NULL); -(NULL) DELETED test/sql_stmt_geos_tests/relate16.testcase Index: test/sql_stmt_geos_tests/relate16.testcase ================================================================== --- test/sql_stmt_geos_tests/relate16.testcase +++ test/sql_stmt_geos_tests/relate16.testcase @@ -1,7 +0,0 @@ -Relate - invalid BLOB geom2 -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), zeroblob(10)); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), zeroblob(10)); -(NULL) DELETED test/sql_stmt_geos_tests/relate17.testcase Index: test/sql_stmt_geos_tests/relate17.testcase ================================================================== --- test/sql_stmt_geos_tests/relate17.testcase +++ test/sql_stmt_geos_tests/relate17.testcase @@ -1,7 +0,0 @@ -Relate - text BLOB geom2 -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), 'beta'); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), 'beta'); -(NULL) DELETED test/sql_stmt_geos_tests/relate18.testcase Index: test/sql_stmt_geos_tests/relate18.testcase ================================================================== --- test/sql_stmt_geos_tests/relate18.testcase +++ test/sql_stmt_geos_tests/relate18.testcase @@ -1,7 +0,0 @@ -Relate - int BLOB geom2 -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), 1); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), 1); -(NULL) DELETED test/sql_stmt_geos_tests/relate19.testcase Index: test/sql_stmt_geos_tests/relate19.testcase ================================================================== --- test/sql_stmt_geos_tests/relate19.testcase +++ test/sql_stmt_geos_tests/relate19.testcase @@ -1,7 +0,0 @@ -Relate - double BLOB geom2 -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), 1.1); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), 1.1); -(NULL) DELETED test/sql_stmt_geos_tests/relate20.testcase Index: test/sql_stmt_geos_tests/relate20.testcase ================================================================== --- test/sql_stmt_geos_tests/relate20.testcase +++ test/sql_stmt_geos_tests/relate20.testcase @@ -1,7 +0,0 @@ -Relate - NULL bnr -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326), NULL); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326), NULL); -(NULL) DELETED test/sql_stmt_geos_tests/relate21.testcase Index: test/sql_stmt_geos_tests/relate21.testcase ================================================================== --- test/sql_stmt_geos_tests/relate21.testcase +++ test/sql_stmt_geos_tests/relate21.testcase @@ -1,7 +0,0 @@ -Relate - text bnr -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326), 'bnr'); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326), 'bnr'); --1 DELETED test/sql_stmt_geos_tests/relate22.testcase Index: test/sql_stmt_geos_tests/relate22.testcase ================================================================== --- test/sql_stmt_geos_tests/relate22.testcase +++ test/sql_stmt_geos_tests/relate22.testcase @@ -1,7 +0,0 @@ -Relate - BLOB bnr -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326), zeroblob(4)); -(NULL) DELETED test/sql_stmt_geos_tests/relate23.testcase Index: test/sql_stmt_geos_tests/relate23.testcase ================================================================== --- test/sql_stmt_geos_tests/relate23.testcase +++ test/sql_stmt_geos_tests/relate23.testcase @@ -1,7 +0,0 @@ -Relate - Double bnr -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326), 1.1); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), MakePoint(0, 0, 4326), 1.1); -(NULL) DELETED test/sql_stmt_geos_tests/relate24.testcase Index: test/sql_stmt_geos_tests/relate24.testcase ================================================================== --- test/sql_stmt_geos_tests/relate24.testcase +++ test/sql_stmt_geos_tests/relate24.testcase @@ -1,7 +0,0 @@ -Relate - Int bnr -:memory: #use in-memory database -SELECT ST_Relate(MakePoint(0, 0, 4326), MakePoint(10, 10, 4326), 3); -1 # rows (not including the header row) -1 # columns -ST_Relate(MakePoint(0, 0, 4326), MakePoint(10, 10, 4326), 3); -FF0FFF0F2 Index: test/sql_stmt_geos_tests/relate6.testcase ================================================================== --- test/sql_stmt_geos_tests/relate6.testcase +++ test/sql_stmt_geos_tests/relate6.testcase @@ -2,6 +2,6 @@ :memory: #use in-memory database SELECT Relate(geom1, geom2, 26.7) FROM (SELECT GeomFromText("POINT(1 2)") as geom1, GeomFromText("POINT(1 2)") as geom2) dummy; 1 # rows (not including the header row) 1 # columns Relate(geom1, geom2, 26.7) -(NULL) +-1 DELETED test/sql_stmt_geos_tests/relatematch1.testcase Index: test/sql_stmt_geos_tests/relatematch1.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch1.testcase +++ test/sql_stmt_geos_tests/relatematch1.testcase @@ -1,7 +0,0 @@ -RelateMatch - NULL matrix -:memory: #use in-memory database -SELECT ST_RelateMatch(NULL, "T*T***T**"); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch(NULL, "T*T***T**") --1 DELETED test/sql_stmt_geos_tests/relatematch10.testcase Index: test/sql_stmt_geos_tests/relatematch10.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch10.testcase +++ test/sql_stmt_geos_tests/relatematch10.testcase @@ -1,7 +0,0 @@ -RelateMatch - not matching -:memory: #use in-memory database -SELECT ST_RelateMatch('FF0FFF0F2', "T*T***T**"); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch('FF0FFF0F2', "T*T***T**") -0 DELETED test/sql_stmt_geos_tests/relatematch2.testcase Index: test/sql_stmt_geos_tests/relatematch2.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch2.testcase +++ test/sql_stmt_geos_tests/relatematch2.testcase @@ -1,7 +0,0 @@ -RelateMatch - Int matrix -:memory: #use in-memory database -SELECT ST_RelateMatch(1, "T*T***T**"); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch(1, "T*T***T**") --1 DELETED test/sql_stmt_geos_tests/relatematch3.testcase Index: test/sql_stmt_geos_tests/relatematch3.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch3.testcase +++ test/sql_stmt_geos_tests/relatematch3.testcase @@ -1,7 +0,0 @@ -RelateMatch - Double matrix -:memory: #use in-memory database -SELECT ST_RelateMatch(1.2, "T*T***T**"); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch(1.2, "T*T***T**") --1 DELETED test/sql_stmt_geos_tests/relatematch4.testcase Index: test/sql_stmt_geos_tests/relatematch4.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch4.testcase +++ test/sql_stmt_geos_tests/relatematch4.testcase @@ -1,7 +0,0 @@ -RelateMatch - BLOB matrix -:memory: #use in-memory database -SELECT ST_RelateMatch(zeroblob(10), "T*T***T**"); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch(zeroblob(10), "T*T***T**") --1 DELETED test/sql_stmt_geos_tests/relatematch5.testcase Index: test/sql_stmt_geos_tests/relatematch5.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch5.testcase +++ test/sql_stmt_geos_tests/relatematch5.testcase @@ -1,7 +0,0 @@ -RelateMatch - NULL pattern -:memory: #use in-memory database -SELECT ST_RelateMatch('FF0FFF0F2', NULL); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch('FF0FFF0F2', NULL) --1 DELETED test/sql_stmt_geos_tests/relatematch6.testcase Index: test/sql_stmt_geos_tests/relatematch6.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch6.testcase +++ test/sql_stmt_geos_tests/relatematch6.testcase @@ -1,7 +0,0 @@ -RelateMatch - BLOB pattern -:memory: #use in-memory database -SELECT ST_RelateMatch('FF0FFF0F2', zeroblob(10)); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch('FF0FFF0F2', zeroblob(10)) --1 DELETED test/sql_stmt_geos_tests/relatematch7.testcase Index: test/sql_stmt_geos_tests/relatematch7.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch7.testcase +++ test/sql_stmt_geos_tests/relatematch7.testcase @@ -1,7 +0,0 @@ -RelateMatch - int pattern -:memory: #use in-memory database -SELECT ST_RelateMatch('FF0FFF0F2', 1); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch('FF0FFF0F2', 1) --1 DELETED test/sql_stmt_geos_tests/relatematch8.testcase Index: test/sql_stmt_geos_tests/relatematch8.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch8.testcase +++ test/sql_stmt_geos_tests/relatematch8.testcase @@ -1,7 +0,0 @@ -RelateMatch - double pattern -:memory: #use in-memory database -SELECT ST_RelateMatch('FF0FFF0F2', 1.4); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch('FF0FFF0F2', 1.4) --1 DELETED test/sql_stmt_geos_tests/relatematch9.testcase Index: test/sql_stmt_geos_tests/relatematch9.testcase ================================================================== --- test/sql_stmt_geos_tests/relatematch9.testcase +++ test/sql_stmt_geos_tests/relatematch9.testcase @@ -1,7 +0,0 @@ -RelateMatch - matching -:memory: #use in-memory database -SELECT ST_RelateMatch('FF0FFF0F2', "**T***T*T"); -1 # rows (not including the header row) -1 # columns -ST_RelateMatch('FF0FFF0F2', "**T***T*T") -1 Index: test/sql_stmt_geos_tests/squaregrid22.testcase ================================================================== --- test/sql_stmt_geos_tests/squaregrid22.testcase +++ test/sql_stmt_geos_tests/squaregrid22.testcase @@ -1,7 +1,8 @@ -SquareGrid - valid - no Origin, MultiLinestring +SquareGrid - valid - no Origin, only_edges :memory: #use in-memory database -SELECT ST_NumGeometries(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)); +SELECT ST_Length(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)); 1 # rows (not including the header row) 1 # columns -ST_NumGeometries(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)) -17 +ST_Length(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)) +17.0 + Index: test/sql_stmt_geos_tests/squaregrid23.testcase ================================================================== --- test/sql_stmt_geos_tests/squaregrid23.testcase +++ test/sql_stmt_geos_tests/squaregrid23.testcase @@ -1,7 +1,7 @@ -SquareGrid - valid - with Origin, MultiLinestring +SquareGrid - valid - with Origin, only_edges :memory: #use in-memory database -SELECT ST_NumGeometries(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))); +SELECT ST_Length(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))); 1 # rows (not including the header row) 1 # columns -ST_NumGeometries(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))) -17 +ST_Length(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))) +17.0 DELETED test/sql_stmt_geos_tests/squaregrid24.testcase Index: test/sql_stmt_geos_tests/squaregrid24.testcase ================================================================== --- test/sql_stmt_geos_tests/squaregrid24.testcase +++ test/sql_stmt_geos_tests/squaregrid24.testcase @@ -1,7 +0,0 @@ -SquareGrid - valid - no Origin, MultiPoint -:memory: #use in-memory database -SELECT ST_NumGeometries(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1)); -1 # rows (not including the header row) -1 # columns -ST_NumGeometries(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1)) -12 DELETED test/sql_stmt_geos_tests/squaregrid25.testcase Index: test/sql_stmt_geos_tests/squaregrid25.testcase ================================================================== --- test/sql_stmt_geos_tests/squaregrid25.testcase +++ test/sql_stmt_geos_tests/squaregrid25.testcase @@ -1,7 +0,0 @@ -SquareGrid - valid - with Origin, MultiPoint -:memory: #use in-memory database -SELECT ST_NumGeometries(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1, GeomFromText('POINT(0.1 0.1)'))); -1 # rows (not including the header row) -1 # columns -ST_NumGeometries(SquareGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1, GeomFromText('POINT(0.1 0.1)'))) -12 Index: test/sql_stmt_geos_tests/trianggrid20.testcase ================================================================== --- test/sql_stmt_geos_tests/trianggrid20.testcase +++ test/sql_stmt_geos_tests/trianggrid20.testcase @@ -2,6 +2,9 @@ :memory: #use in-memory database SELECT AsText(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0)); 1 # rows (not including the header row) 1 # columns AsText(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0)) -MULTIPOLYGON(((-0.5 0, 0.5 0, 0 0.866025, -0.5 0)), ((0 0.866025, 0.5 0, 1 0.866025, 0 0.866025)), ((0.5 0, 1.5 0, 1 0.866025, 0.5 0)), ((1 0.866025, 1.5 0, 2 0.866025, 1 0.866025)), ((1.5 0, 2.5 0, 2 0.866025, 1.5 0)), ((2 0.866025, 2.5 0, 3 0.866025, 2 0.866025)), ((0 0.866025, 1 0.866025, 0.5 1.732051, 0 0.866025)), ((0.5 1.732051, 1 0.866025, 1.5 1.732051, 0.5 1.732051)), ((1 0.866025, 2 0.866025, 1.5 1.732051, 1 0.866025)), ((1.5 1.732051, 2 0.866025, 2.5 1.732051, 1.5 1.732051)), ((2 0.866025, 3 0.866025, 2.5 1.732051, 2 0.866025))) +MULTIPOLYGON(((0 0.866025, 1 0.866025, 0.5 1.732051, 0 0.866025)), ((0.5 1.732051, 1 0.866025, 1.5 1.732051, 0.5 1.732051)), ((1 0.866025, 2 0.866025, 1.5 1.732051, 1 0.866025)), ((1.5 1.732051, 2 0.866025, 2.5 1.732051, 1.5 1.732051)), ((2 0.866025, 3 0.866025, 2.5 1.732051, 2 0.866025))) + + + Index: test/sql_stmt_geos_tests/trianggrid21.testcase ================================================================== --- test/sql_stmt_geos_tests/trianggrid21.testcase +++ test/sql_stmt_geos_tests/trianggrid21.testcase @@ -2,6 +2,6 @@ :memory: #use in-memory database SELECT AsText(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 0, GeomFromText('POINT(0.1 0.1)'))); 1 # rows (not including the header row) 1 # columns AsText(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 0, GeomFromText('POINT(0.1 0.1)'))) -MULTIPOLYGON(((-0.5 0.1, 0.5 0.1, 0 0.966025, -0.5 0.1)), ((0 0.966025, 0.5 0.1, 1 0.966025, 0 0.966025)), ((0.5 0.1, 1.5 0.1, 1 0.966025, 0.5 0.1)), ((1 0.966025, 1.5 0.1, 2 0.966025, 1 0.966025)), ((1.5 0.1, 2.5 0.1, 2 0.966025, 1.5 0.1)), ((2 0.966025, 2.5 0.1, 3 0.966025, 2 0.966025)), ((0 0.966025, 1 0.966025, 0.5 1.832051, 0 0.966025)), ((0.5 1.832051, 1 0.966025, 1.5 1.832051, 0.5 1.832051)), ((1 0.966025, 2 0.966025, 1.5 1.832051, 1 0.966025)), ((1.5 1.832051, 2 0.966025, 2.5 1.832051, 1.5 1.832051)), ((2 0.966025, 3 0.966025, 2.5 1.832051, 2 0.966025))) +MULTIPOLYGON(((-0.4 1.832051, 0.1 0.966025, 0.6 1.832051, -0.4 1.832051)), ((0.1 0.966025, 1.1 0.966025, 0.6 1.832051, 0.1 0.966025)), ((0.6 1.832051, 1.1 0.966025, 1.6 1.832051, 0.6 1.832051)), ((1.1 0.966025, 2.1 0.966025, 1.6 1.832051, 1.1 0.966025)), ((1.6 1.832051, 2.1 0.966025, 2.6 1.832051, 1.6 1.832051)), ((2.1 0.966025, 3.1 0.966025, 2.6 1.832051, 2.1 0.966025))) Index: test/sql_stmt_geos_tests/trianggrid22.testcase ================================================================== --- test/sql_stmt_geos_tests/trianggrid22.testcase +++ test/sql_stmt_geos_tests/trianggrid22.testcase @@ -1,7 +1,10 @@ -TriangularGrid - valid - no Origin, MultiLinestring +TriangularGrid - valid - no Origin, edges_only :memory: #use in-memory database -SELECT ST_NumGeometries(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)); +SELECT ST_Length(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)); 1 # rows (not including the header row) 1 # columns -ST_NumGeometries(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)) -18 +ST_Length(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1)) +9.0 + + + Index: test/sql_stmt_geos_tests/trianggrid23.testcase ================================================================== --- test/sql_stmt_geos_tests/trianggrid23.testcase +++ test/sql_stmt_geos_tests/trianggrid23.testcase @@ -1,7 +1,7 @@ -TriangularGrid - valid - with Origin, MultiLinestring +TriangularGrid - valid - with Origin, edges_only :memory: #use in-memory database -SELECT ST_NumGeometries(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))); +SELECT ST_Length(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))); 1 # rows (not including the header row) 1 # columns -ST_NumGeometries(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))) -18 +ST_Length(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, 1, GeomFromText('POINT(0.1 0.1)'))) +12.0 DELETED test/sql_stmt_geos_tests/trianggrid24.testcase Index: test/sql_stmt_geos_tests/trianggrid24.testcase ================================================================== --- test/sql_stmt_geos_tests/trianggrid24.testcase +++ test/sql_stmt_geos_tests/trianggrid24.testcase @@ -1,7 +0,0 @@ -TriangularGrid - valid - no Origin, MultiPoint -:memory: #use in-memory database -SELECT ST_NumGeometries(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1)); -1 # rows (not including the header row) -1 # columns -ST_NumGeometries(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1)) -11 DELETED test/sql_stmt_geos_tests/trianggrid25.testcase Index: test/sql_stmt_geos_tests/trianggrid25.testcase ================================================================== --- test/sql_stmt_geos_tests/trianggrid25.testcase +++ test/sql_stmt_geos_tests/trianggrid25.testcase @@ -1,7 +0,0 @@ -TriangularGrid - valid - with Origin, MultiPoint -:memory: #use in-memory database -SELECT ST_NumGeometries(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1, GeomFromText('POINT(0.1 0.1)'))); -1 # rows (not including the header row) -1 # columns -ST_NumGeometries(TriangularGrid(GeomFromText('POLYGON((0.2 0.2, 2.2 0.2, 2.2 1.2, 0.2 1.2, 0.2 0.2))', 4326), 1.0, -1, GeomFromText('POINT(0.1 0.1)'))) -11 Index: test/sql_stmt_geosadvanced_tests/Makefile ================================================================== --- test/sql_stmt_geosadvanced_tests/Makefile +++ test/sql_stmt_geosadvanced_tests/Makefile @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # test/sql_stmt_geosadvanced_tests/Makefile. Generated from Makefile.in by configure. -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = x86_64-unknown-linux-gnu host_triplet = x86_64-unknown-linux-gnu subdir = test/sql_stmt_geosadvanced_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_$(V)) @@ -118,20 +108,19 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 +ACLOCAL = aclocal-1.14 AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 1 AR = ar AS = as AUTOCONF = autoconf AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 +AUTOMAKE = automake-1.14 AWK = gawk CC = gcc CCDEPMODE = depmode=gcc3 CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g CPP = gcc -E @@ -150,23 +139,23 @@ ECHO_N = -n ECHO_T = EGREP = /usr/bin/grep -E EXEEXT = FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib +GEOSCONFIG = /usr/bin/geos-config +GEOS_CFLAGS = -I/usr/include +GEOS_LDFLAGS = -L/usr/lib64 GREP = /usr/bin/grep INSTALL = /usr/bin/install -c INSTALL_DATA = ${INSTALL} -m 644 INSTALL_PROGRAM = ${INSTALL} INSTALL_SCRIPT = ${INSTALL} INSTALL_STRIP_PROGRAM = $(install_sh) -c -s LD = /usr/bin/ld -m elf_x86_64 LDFLAGS = LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c +LIBS = -lfreexl -lproj -lz -lsqlite3 -L/usr/lib64 -lgeos_c -llwgeom -lgeos_c LIBTOOL = $(SHELL) $(top_builddir)/libtool LIBXML2_CFLAGS = -I/usr/include/libxml2 LIBXML2_LIBS = -lxml2 LIPO = LN_S = ln -s @@ -182,24 +171,24 @@ OTOOL = OTOOL64 = PACKAGE = libspatialite PACKAGE_BUGREPORT = a.furieri@lqt.it PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 +PACKAGE_STRING = libspatialite 4.3.0-devel PACKAGE_TARNAME = libspatialite PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 +PACKAGE_VERSION = 4.3.0-devel PATH_SEPARATOR = : PKG_CONFIG = /usr/bin/pkg-config PKG_CONFIG_LIBDIR = PKG_CONFIG_PATH = /usr/local/lib/pkgconfig RANLIB = ranlib SED = /usr/bin/sed SET_MAKE = SHELL = /bin/sh STRIP = strip -VERSION = 4.4.0-RC1 +VERSION = 4.3.0-devel abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_geosadvanced_tests abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_geosadvanced_tests abs_top_builddir = /home/sandro/fossil/libspatialite abs_top_srcdir = /home/sandro/fossil/libspatialite ac_ct_AR = ar @@ -286,11 +275,30 @@ delaunay4.testcase \ delaunay5.testcase \ delaunay6.testcase \ delaunay7.testcase \ delaunay8.testcase \ - delaunay9.testcase + delaunay9.testcase \ + voronoj10.testcase \ + voronoj11.testcase \ + voronoj12.testcase \ + voronoj13.testcase \ + voronoj14.testcase \ + voronoj15.testcase \ + voronoj16.testcase \ + voronoj17.testcase \ + voronoj18.testcase \ + voronoj19.testcase \ + voronoj1.testcase \ + voronoj20.testcase \ + voronoj2.testcase \ + voronoj3.testcase \ + voronoj4.testcase \ + voronoj5.testcase \ + voronoj6.testcase \ + voronoj8.testcase \ + voronoj9.testcase all: all-am .SUFFIXES: $(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) @@ -303,10 +311,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_geosadvanced_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_geosadvanced_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -477,11 +486,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: test/sql_stmt_geosadvanced_tests/Makefile.am ================================================================== --- test/sql_stmt_geosadvanced_tests/Makefile.am +++ test/sql_stmt_geosadvanced_tests/Makefile.am @@ -34,6 +34,25 @@ delaunay4.testcase \ delaunay5.testcase \ delaunay6.testcase \ delaunay7.testcase \ delaunay8.testcase \ - delaunay9.testcase + delaunay9.testcase \ + voronoj10.testcase \ + voronoj11.testcase \ + voronoj12.testcase \ + voronoj13.testcase \ + voronoj14.testcase \ + voronoj15.testcase \ + voronoj16.testcase \ + voronoj17.testcase \ + voronoj18.testcase \ + voronoj19.testcase \ + voronoj1.testcase \ + voronoj20.testcase \ + voronoj2.testcase \ + voronoj3.testcase \ + voronoj4.testcase \ + voronoj5.testcase \ + voronoj6.testcase \ + voronoj8.testcase \ + voronoj9.testcase Index: test/sql_stmt_geosadvanced_tests/Makefile.in ================================================================== --- test/sql_stmt_geosadvanced_tests/Makefile.in +++ test/sql_stmt_geosadvanced_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_geosadvanced_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -286,11 +275,30 @@ delaunay4.testcase \ delaunay5.testcase \ delaunay6.testcase \ delaunay7.testcase \ delaunay8.testcase \ - delaunay9.testcase + delaunay9.testcase \ + voronoj10.testcase \ + voronoj11.testcase \ + voronoj12.testcase \ + voronoj13.testcase \ + voronoj14.testcase \ + voronoj15.testcase \ + voronoj16.testcase \ + voronoj17.testcase \ + voronoj18.testcase \ + voronoj19.testcase \ + voronoj1.testcase \ + voronoj20.testcase \ + voronoj2.testcase \ + voronoj3.testcase \ + voronoj4.testcase \ + voronoj5.testcase \ + voronoj6.testcase \ + voronoj8.testcase \ + voronoj9.testcase all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @@ -303,10 +311,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_geosadvanced_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_geosadvanced_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -477,11 +486,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ADDED test/sql_stmt_geosadvanced_tests/voronoj1.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj1.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj1.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj1.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - Invalid BLOB input (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(zeroblob(4)) +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj10.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj10.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj10.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj10.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - text extra_frame_size (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 'alpha') +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj11.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj11.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj11.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj11.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - NULL extra_frame_size (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, NULL); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, NULL) +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj12.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj12.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj12.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj12.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - BLOB tolerance (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, zeroblob(4)) +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj13.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj13.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj13.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj13.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - text tolerancey (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, 'alpha') +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj14.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj14.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj14.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj14.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - NULL tolerance (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, NULL); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, NULL) +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj15.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj15.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj15.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj15.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - (only_edges=no) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 0))) +MULTIPOLYGON(((12.5 5.5, 14.5 2.5, 14.5 1.5, 9.5 1.5, 9.5 2.5, 12.5 5.5)), ((14.5 2.5, 12.5 5.5, 12.5 8.5, 16.9 4.1, 14.5 2.5)), ((12.5 8.5, 12.5 5.5, 9.5 2.5, 9.5 9, 12.416667 9, 12.5 8.5)), ((16.9 4.1, 12.5 8.5, 12.416667 9, 20 9, 17.642857 4.285714, 16.9 4.1)), ((14.5 2.5, 16.9 4.1, 17.642857 4.285714, 19.5 1.5, 14.5 1.5, 14.5 2.5)), ((19.5 1.5, 17.642857 4.285714, 20 9, 20.5 9, 20.5 1.5, 19.5 1.5))) ADDED test/sql_stmt_geosadvanced_tests/voronoj16.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj16.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj16.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj16.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - (only_edges=yes) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 1))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 1))) +MULTILINESTRING((12.5 5.5, 14.5 2.5), (12.5 5.5, 12.5 8.5), (12.5 5.5, 9.5 2.5), (12.5 8.5, 16.9 4.1), (12.5 8.5, 12.416667 9), (16.9 4.1, 14.5 2.5), (16.9 4.1, 17.642857 4.285714), (17.642857 4.285714, 19.5 1.5), (17.642857 4.285714, 20 9), (14.5 2.5, 14.5 1.5)) ADDED test/sql_stmt_geosadvanced_tests/voronoj17.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj17.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj17.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj17.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - (only_edges=no) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZ(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZ(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))) +MULTIPOLYGON Z(((12.5 5.5 0, 14.5 2.5 0, 14.5 1.5 0, 9.5 1.5 0, 9.5 2.5 0, 12.5 5.5 0)), ((14.5 2.5 0, 12.5 5.5 0, 12.5 8.5 0, 16.9 4.1 0, 14.5 2.5 0)), ((12.5 8.5 0, 12.5 5.5 0, 9.5 2.5 0, 9.5 9 0, 12.416667 9 0, 12.5 8.5 0)), ((16.9 4.1 0, 12.5 8.5 0, 12.416667 9 0, 20 9 0, 17.642857 4.285714 0, 16.9 4.1 0)), ((14.5 2.5 0, 16.9 4.1 0, 17.642857 4.285714 0, 19.5 1.5 0, 14.5 1.5 0, 14.5 2.5 0)), ((19.5 1.5 0, 17.642857 4.285714 0, 20 9 0, 20.5 9 0, 20.5 1.5 0, 19.5 1.5 0))) ADDED test/sql_stmt_geosadvanced_tests/voronoj18.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj18.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj18.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj18.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - XYM (only_edges=no) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTM(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTM(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))) +MULTIPOLYGON M(((12.5 5.5 0, 14.5 2.5 0, 14.5 1.5 0, 9.5 1.5 0, 9.5 2.5 0, 12.5 5.5 0)), ((14.5 2.5 0, 12.5 5.5 0, 12.5 8.5 0, 16.9 4.1 0, 14.5 2.5 0)), ((12.5 8.5 0, 12.5 5.5 0, 9.5 2.5 0, 9.5 9 0, 12.416667 9 0, 12.5 8.5 0)), ((16.9 4.1 0, 12.5 8.5 0, 12.416667 9 0, 20 9 0, 17.642857 4.285714 0, 16.9 4.1 0)), ((14.5 2.5 0, 16.9 4.1 0, 17.642857 4.285714 0, 19.5 1.5 0, 14.5 1.5 0, 14.5 2.5 0)), ((19.5 1.5 0, 17.642857 4.285714 0, 20 9 0, 20.5 9 0, 20.5 1.5 0, 19.5 1.5 0))) ADDED test/sql_stmt_geosadvanced_tests/voronoj19.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj19.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj19.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj19.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - XYZM (only_edges=no) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZM(10 5 10 1, 15 5 11 2, 20 4 12 3, 12 3 13 4, 17 2 14 5, 16 6 15 6)'), 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZM(10 5 10 1, 15 5 11 2, 20 4 12 3, 12 3 13 4, 17 2 14 5, 16 6 15 6)'), 0))) +MULTIPOLYGON ZM(((12.5 5.5 0 0, 14.5 2.5 0 0, 14.5 1.5 0 0, 9.5 1.5 0 0, 9.5 2.5 0 0, 12.5 5.5 0 0)), ((14.5 2.5 0 0, 12.5 5.5 0 0, 12.5 8.5 0 0, 16.9 4.1 0 0, 14.5 2.5 0 0)), ((12.5 8.5 0 0, 12.5 5.5 0 0, 9.5 2.5 0 0, 9.5 9 0 0, 12.416667 9 0 0, 12.5 8.5 0 0)), ((16.9 4.1 0 0, 12.5 8.5 0 0, 12.416667 9 0 0, 20 9 0 0, 17.642857 4.285714 0 0, 16.9 4.1 0 0)), ((14.5 2.5 0 0, 16.9 4.1 0 0, 17.642857 4.285714 0 0, 19.5 1.5 0 0, 14.5 1.5 0 0, 14.5 2.5 0 0)), ((19.5 1.5 0 0, 17.642857 4.285714 0 0, 20 9 0 0, 20.5 9 0 0, 20.5 1.5 0 0, 19.5 1.5 0 0))) ADDED test/sql_stmt_geosadvanced_tests/voronoj2.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj2.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj2.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj2.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - text input (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram('alpha'); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram('alpha') +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj20.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj20.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj20.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj20.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - (only_edges=no) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(5 10, 2 15, 4 20, 3 12, 2 17, 6 16)'), 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(5 10, 2 15, 4 20, 3 12, 2 17, 6 16)'), 0))) +MULTIPOLYGON(((3.875 16, 4.346154 14.115385, 1.5 13.166667, 1.5 16, 3.875 16)), ((4.346154 14.115385, 3.875 16, 4.285714 17.642857, 6.5 18.75, 6.5 12.833333, 5.928571 12.928571, 4.346154 14.115385)), ((4.285714 17.642857, 3.875 16, 1.5 16, 1.5 19.5, 4.285714 17.642857)), ((6.5 18.75, 4.285714 17.642857, 1.5 19.5, 1.5 20.5, 6.5 20.5, 6.5 18.75)), ((4.346154 14.115385, 5.928571 12.928571, 2.5 9.5, 1.5 9.5, 1.5 13.166667, 4.346154 14.115385)), ((2.5 9.5, 5.928571 12.928571, 6.5 12.833333, 6.5 9.5, 2.5 9.5))) ADDED test/sql_stmt_geosadvanced_tests/voronoj3.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj3.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj3.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj3.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - integer input (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(1); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(1) +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj4.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj4.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj4.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj4.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - NULL input (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(NULL); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(NULL) +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj5.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj5.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj5.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj5.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - NULL edges_only (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), NULL); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), NULL) +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj6.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj6.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj6.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj6.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - text edges_only (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 'alpha') +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj8.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj8.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj8.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj8.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - double edges_only (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0.0); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0.0) +(NULL) ADDED test/sql_stmt_geosadvanced_tests/voronoj9.testcase Index: test/sql_stmt_geosadvanced_tests/voronoj9.testcase ================================================================== --- test/sql_stmt_geosadvanced_tests/voronoj9.testcase +++ test/sql_stmt_geosadvanced_tests/voronoj9.testcase @@ -0,0 +1,7 @@ +ST_VoronojDiagram - BLOB tolerance (error) +:memory: #use in-memory database +SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, zeroblob(4)) +(NULL) DELETED test/sql_stmt_gpkg_epsg492_tests/Makefile.am Index: test/sql_stmt_gpkg_epsg492_tests/Makefile.am ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/Makefile.am +++ test/sql_stmt_gpkg_epsg492_tests/Makefile.am @@ -1,10 +0,0 @@ - -EXTRA_DIST = transform_geopackage1.testcase \ - transform_geopackage2.testcase \ - transform_geopackage3.testcase \ - transform_geopackage4.testcase \ - transform_geopackage5.testcase \ - transform_geopackage6.testcase \ - transform_geopackage7.testcase \ - transform_geopackage8.testcase - DELETED test/sql_stmt_gpkg_epsg492_tests/Makefile.in Index: test/sql_stmt_gpkg_epsg492_tests/Makefile.in ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/Makefile.in +++ test/sql_stmt_gpkg_epsg492_tests/Makefile.in @@ -1,457 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_gpkg_epsg492_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = transform_geopackage1.testcase \ - transform_geopackage2.testcase \ - transform_geopackage3.testcase \ - transform_geopackage4.testcase \ - transform_geopackage5.testcase \ - transform_geopackage6.testcase \ - transform_geopackage7.testcase \ - transform_geopackage8.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_gpkg_epsg492_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_gpkg_epsg492_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_gpkg_epsg492_tests/transform_geopackage1.testcase Index: test/sql_stmt_gpkg_epsg492_tests/transform_geopackage1.testcase ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/transform_geopackage1.testcase +++ test/sql_stmt_gpkg_epsg492_tests/transform_geopackage1.testcase @@ -1,7 +0,0 @@ -transform - null args -gpkg_test.gpkg -SELECT Transform(NULL, NULL) -1 # rows (not including the header row) -1 # columns -Transform(NULL, NULL) -(NULL) DELETED test/sql_stmt_gpkg_epsg492_tests/transform_geopackage2.testcase Index: test/sql_stmt_gpkg_epsg492_tests/transform_geopackage2.testcase ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/transform_geopackage2.testcase +++ test/sql_stmt_gpkg_epsg492_tests/transform_geopackage2.testcase @@ -1,7 +0,0 @@ -transform - Point -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 27700)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 27700)) -POINT(669088.702263 -761460.136215) DELETED test/sql_stmt_gpkg_epsg492_tests/transform_geopackage3.testcase Index: test/sql_stmt_gpkg_epsg492_tests/transform_geopackage3.testcase ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/transform_geopackage3.testcase +++ test/sql_stmt_gpkg_epsg492_tests/transform_geopackage3.testcase @@ -1,7 +0,0 @@ -transform - Unknown SRID -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 3)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 3)) -(NULL) DELETED test/sql_stmt_gpkg_epsg492_tests/transform_geopackage4.testcase Index: test/sql_stmt_gpkg_epsg492_tests/transform_geopackage4.testcase ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/transform_geopackage4.testcase +++ test/sql_stmt_gpkg_epsg492_tests/transform_geopackage4.testcase @@ -1,7 +0,0 @@ -transform - Linestring Z -gpkg_test.gpkg -SELECT AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) -LINESTRING Z(663019.070082 4762755.64169 100, 744533.019451 4765182.932802 101, 748464.920716 4654130.891324 102) DELETED test/sql_stmt_gpkg_epsg492_tests/transform_geopackage5.testcase Index: test/sql_stmt_gpkg_epsg492_tests/transform_geopackage5.testcase ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/transform_geopackage5.testcase +++ test/sql_stmt_gpkg_epsg492_tests/transform_geopackage5.testcase @@ -1,7 +0,0 @@ -transform - Bogus SRID -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888888)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888888)) -(NULL) DELETED test/sql_stmt_gpkg_epsg492_tests/transform_geopackage6.testcase Index: test/sql_stmt_gpkg_epsg492_tests/transform_geopackage6.testcase ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/transform_geopackage6.testcase +++ test/sql_stmt_gpkg_epsg492_tests/transform_geopackage6.testcase @@ -1,7 +0,0 @@ -transform - bad format organization_coordsys_id -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888889)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888889)) -(NULL) DELETED test/sql_stmt_gpkg_epsg492_tests/transform_geopackage7.testcase Index: test/sql_stmt_gpkg_epsg492_tests/transform_geopackage7.testcase ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/transform_geopackage7.testcase +++ test/sql_stmt_gpkg_epsg492_tests/transform_geopackage7.testcase @@ -1,7 +0,0 @@ -transform - bad format organization_coordsys_id -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888887)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888887)) -(NULL) DELETED test/sql_stmt_gpkg_epsg492_tests/transform_geopackage8.testcase Index: test/sql_stmt_gpkg_epsg492_tests/transform_geopackage8.testcase ================================================================== --- test/sql_stmt_gpkg_epsg492_tests/transform_geopackage8.testcase +++ test/sql_stmt_gpkg_epsg492_tests/transform_geopackage8.testcase @@ -1,7 +0,0 @@ -transform - broken geopackage - no gpkg_spatial_ref_sys table -gpkg_test_broken.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888887)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888887)) -(NULL) DELETED test/sql_stmt_gpkg_epsg493_tests/Makefile.am Index: test/sql_stmt_gpkg_epsg493_tests/Makefile.am ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/Makefile.am +++ test/sql_stmt_gpkg_epsg493_tests/Makefile.am @@ -1,10 +0,0 @@ - -EXTRA_DIST = transform_geopackage1.testcase \ - transform_geopackage2.testcase \ - transform_geopackage3.testcase \ - transform_geopackage4.testcase \ - transform_geopackage5.testcase \ - transform_geopackage6.testcase \ - transform_geopackage7.testcase \ - transform_geopackage8.testcase - DELETED test/sql_stmt_gpkg_epsg493_tests/Makefile.in Index: test/sql_stmt_gpkg_epsg493_tests/Makefile.in ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/Makefile.in +++ test/sql_stmt_gpkg_epsg493_tests/Makefile.in @@ -1,457 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_gpkg_epsg493_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = transform_geopackage1.testcase \ - transform_geopackage2.testcase \ - transform_geopackage3.testcase \ - transform_geopackage4.testcase \ - transform_geopackage5.testcase \ - transform_geopackage6.testcase \ - transform_geopackage7.testcase \ - transform_geopackage8.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_gpkg_epsg493_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_gpkg_epsg493_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_gpkg_epsg493_tests/transform_geopackage1.testcase Index: test/sql_stmt_gpkg_epsg493_tests/transform_geopackage1.testcase ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/transform_geopackage1.testcase +++ test/sql_stmt_gpkg_epsg493_tests/transform_geopackage1.testcase @@ -1,7 +0,0 @@ -transform - null args -gpkg_test.gpkg -SELECT Transform(NULL, NULL) -1 # rows (not including the header row) -1 # columns -Transform(NULL, NULL) -(NULL) DELETED test/sql_stmt_gpkg_epsg493_tests/transform_geopackage2.testcase Index: test/sql_stmt_gpkg_epsg493_tests/transform_geopackage2.testcase ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/transform_geopackage2.testcase +++ test/sql_stmt_gpkg_epsg493_tests/transform_geopackage2.testcase @@ -1,7 +0,0 @@ -transform - Point -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 27700)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 27700)) -POINT(669088.702263 -761460.136215) DELETED test/sql_stmt_gpkg_epsg493_tests/transform_geopackage3.testcase Index: test/sql_stmt_gpkg_epsg493_tests/transform_geopackage3.testcase ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/transform_geopackage3.testcase +++ test/sql_stmt_gpkg_epsg493_tests/transform_geopackage3.testcase @@ -1,7 +0,0 @@ -transform - Unknown SRID -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 3)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 3)) -(NULL) DELETED test/sql_stmt_gpkg_epsg493_tests/transform_geopackage4.testcase Index: test/sql_stmt_gpkg_epsg493_tests/transform_geopackage4.testcase ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/transform_geopackage4.testcase +++ test/sql_stmt_gpkg_epsg493_tests/transform_geopackage4.testcase @@ -1,7 +0,0 @@ -transform - Linestring Z -gpkg_test.gpkg -SELECT AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) -LINESTRING Z(663019.070081 4762755.641689 100, 744533.019447 4765182.932801 101, 748464.920712 4654130.891323 102) DELETED test/sql_stmt_gpkg_epsg493_tests/transform_geopackage5.testcase Index: test/sql_stmt_gpkg_epsg493_tests/transform_geopackage5.testcase ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/transform_geopackage5.testcase +++ test/sql_stmt_gpkg_epsg493_tests/transform_geopackage5.testcase @@ -1,7 +0,0 @@ -transform - Bogus SRID -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888888)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888888)) -(NULL) DELETED test/sql_stmt_gpkg_epsg493_tests/transform_geopackage6.testcase Index: test/sql_stmt_gpkg_epsg493_tests/transform_geopackage6.testcase ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/transform_geopackage6.testcase +++ test/sql_stmt_gpkg_epsg493_tests/transform_geopackage6.testcase @@ -1,7 +0,0 @@ -transform - bad format organization_coordsys_id -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888889)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888889)) -(NULL) DELETED test/sql_stmt_gpkg_epsg493_tests/transform_geopackage7.testcase Index: test/sql_stmt_gpkg_epsg493_tests/transform_geopackage7.testcase ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/transform_geopackage7.testcase +++ test/sql_stmt_gpkg_epsg493_tests/transform_geopackage7.testcase @@ -1,7 +0,0 @@ -transform - bad format organization_coordsys_id -gpkg_test_extrasrid.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888887)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888887)) -(NULL) DELETED test/sql_stmt_gpkg_epsg493_tests/transform_geopackage8.testcase Index: test/sql_stmt_gpkg_epsg493_tests/transform_geopackage8.testcase ================================================================== --- test/sql_stmt_gpkg_epsg493_tests/transform_geopackage8.testcase +++ test/sql_stmt_gpkg_epsg493_tests/transform_geopackage8.testcase @@ -1,7 +0,0 @@ -transform - broken geopackage - no gpkg_spatial_ref_sys table -gpkg_test_broken.gpkg -SELECT AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888887)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(1.3 43)', 4326), 888887)) -(NULL) DELETED test/sql_stmt_gpkgcache_tests/Makefile Index: test/sql_stmt_gpkgcache_tests/Makefile ================================================================== --- test/sql_stmt_gpkgcache_tests/Makefile +++ test/sql_stmt_gpkgcache_tests/Makefile @@ -1,453 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# test/sql_stmt_gpkgcache_tests/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libspatialite -pkgincludedir = $(includedir)/libspatialite -pkglibdir = $(libdir)/libspatialite -pkglibexecdir = $(libexecdir)/libspatialite -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-unknown-linux-gnu -host_triplet = x86_64-unknown-linux-gnu -subdir = test/sql_stmt_gpkgcache_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AR = ar -AS = as -AUTOCONF = autoconf -AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = dlltool -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBXML2_CFLAGS = -I/usr/include/libxml2 -LIBXML2_LIBS = -lxml2 -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = libspatialite -PACKAGE_BUGREPORT = a.furieri@lqt.it -PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 -PACKAGE_TARNAME = libspatialite -PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = /usr/local/lib/pkgconfig -RANLIB = ranlib -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -VERSION = 4.4.0-RC1 -abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_gpkgcache_tests -abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_gpkgcache_tests -abs_top_builddir = /home/sandro/fossil/libspatialite -abs_top_srcdir = /home/sandro/fossil/libspatialite -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-unknown-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-unknown-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/sandro/fossil/libspatialite/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -EXTRA_DIST = amphibious1.testcase \ - amphibious2.testcase \ - gpkg1.testcase \ - gpkg2.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_gpkgcache_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_gpkgcache_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_gpkgcache_tests/Makefile.am Index: test/sql_stmt_gpkgcache_tests/Makefile.am ================================================================== --- test/sql_stmt_gpkgcache_tests/Makefile.am +++ test/sql_stmt_gpkgcache_tests/Makefile.am @@ -1,6 +0,0 @@ - -EXTRA_DIST = amphibious1.testcase \ - amphibious2.testcase \ - gpkg1.testcase \ - gpkg2.testcase - DELETED test/sql_stmt_gpkgcache_tests/Makefile.in Index: test/sql_stmt_gpkgcache_tests/Makefile.in ================================================================== --- test/sql_stmt_gpkgcache_tests/Makefile.in +++ test/sql_stmt_gpkgcache_tests/Makefile.in @@ -1,453 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_gpkgcache_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = amphibious1.testcase \ - amphibious2.testcase \ - gpkg1.testcase \ - gpkg2.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_gpkgcache_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_gpkgcache_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_gpkgcache_tests/amphibious1.testcase Index: test/sql_stmt_gpkgcache_tests/amphibious1.testcase ================================================================== --- test/sql_stmt_gpkgcache_tests/amphibious1.testcase +++ test/sql_stmt_gpkgcache_tests/amphibious1.testcase @@ -1,9 +0,0 @@ -GPKG amphibious mode - enable -:memory: -SELECT EnableGpkgAmphibiousMode(), GetGpkgAmphibiousMode(); -1 # rows -2 # column -EnableGpkgAmphibiousMode() -GetGpkgAmphibiousMode() -(NULL) -1 DELETED test/sql_stmt_gpkgcache_tests/amphibious2.testcase Index: test/sql_stmt_gpkgcache_tests/amphibious2.testcase ================================================================== --- test/sql_stmt_gpkgcache_tests/amphibious2.testcase +++ test/sql_stmt_gpkgcache_tests/amphibious2.testcase @@ -1,9 +0,0 @@ -GPKG amphibious mode - disable -:memory: -SELECT DisableGpkgAmphibiousMode(), GetGpkgAmphibiousMode(); -1 # rows -2 # column -DisableGpkgAmphibiousMode() -GetGpkgAmphibiousMode(); -(NULL) -0 DELETED test/sql_stmt_gpkgcache_tests/gpkg1.testcase Index: test/sql_stmt_gpkgcache_tests/gpkg1.testcase ================================================================== --- test/sql_stmt_gpkgcache_tests/gpkg1.testcase +++ test/sql_stmt_gpkgcache_tests/gpkg1.testcase @@ -1,9 +0,0 @@ -GPKG mode - enable -:memory: -SELECT EnableGpkgMode(), GetGpkgMode(); -1 # rows -2 # column -EnableGpkgMode() -GetGpkgMode() -(NULL) -0 DELETED test/sql_stmt_gpkgcache_tests/gpkg2.testcase Index: test/sql_stmt_gpkgcache_tests/gpkg2.testcase ================================================================== --- test/sql_stmt_gpkgcache_tests/gpkg2.testcase +++ test/sql_stmt_gpkgcache_tests/gpkg2.testcase @@ -1,9 +0,0 @@ -GPKG mode - disable -:memory: -SELECT DisableGpkgMode(), GetGpkgMode(); -1 # rows -2 # column -DisableGpkgMode() -GetGpkgMode(); -(NULL) -0 DELETED test/sql_stmt_gpkgnocache_tests/Makefile Index: test/sql_stmt_gpkgnocache_tests/Makefile ================================================================== --- test/sql_stmt_gpkgnocache_tests/Makefile +++ test/sql_stmt_gpkgnocache_tests/Makefile @@ -1,453 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# test/sql_stmt_gpkgnocache_tests/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libspatialite -pkgincludedir = $(includedir)/libspatialite -pkglibdir = $(libdir)/libspatialite -pkglibexecdir = $(libexecdir)/libspatialite -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-unknown-linux-gnu -host_triplet = x86_64-unknown-linux-gnu -subdir = test/sql_stmt_gpkgnocache_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AR = ar -AS = as -AUTOCONF = autoconf -AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = dlltool -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBXML2_CFLAGS = -I/usr/include/libxml2 -LIBXML2_LIBS = -lxml2 -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = libspatialite -PACKAGE_BUGREPORT = a.furieri@lqt.it -PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 -PACKAGE_TARNAME = libspatialite -PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = /usr/local/lib/pkgconfig -RANLIB = ranlib -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -VERSION = 4.4.0-RC1 -abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_gpkgnocache_tests -abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_gpkgnocache_tests -abs_top_builddir = /home/sandro/fossil/libspatialite -abs_top_srcdir = /home/sandro/fossil/libspatialite -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-unknown-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-unknown-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/sandro/fossil/libspatialite/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -EXTRA_DIST = amphibious1.testcase \ - amphibious2.testcase \ - gpkg1.testcase \ - gpkg2.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_gpkgnocache_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_gpkgnocache_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_gpkgnocache_tests/Makefile.am Index: test/sql_stmt_gpkgnocache_tests/Makefile.am ================================================================== --- test/sql_stmt_gpkgnocache_tests/Makefile.am +++ test/sql_stmt_gpkgnocache_tests/Makefile.am @@ -1,5 +0,0 @@ - -EXTRA_DIST = amphibious1.testcase \ - amphibious2.testcase \ - gpkg1.testcase \ - gpkg2.testcase DELETED test/sql_stmt_gpkgnocache_tests/Makefile.in Index: test/sql_stmt_gpkgnocache_tests/Makefile.in ================================================================== --- test/sql_stmt_gpkgnocache_tests/Makefile.in +++ test/sql_stmt_gpkgnocache_tests/Makefile.in @@ -1,453 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_gpkgnocache_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = amphibious1.testcase \ - amphibious2.testcase \ - gpkg1.testcase \ - gpkg2.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_gpkgnocache_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_gpkgnocache_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_gpkgnocache_tests/amphibious1.testcase Index: test/sql_stmt_gpkgnocache_tests/amphibious1.testcase ================================================================== --- test/sql_stmt_gpkgnocache_tests/amphibious1.testcase +++ test/sql_stmt_gpkgnocache_tests/amphibious1.testcase @@ -1,9 +0,0 @@ -GPKG amphibious mode - enable -:memory: -SELECT EnableGpkgAmphibiousMode(), GetGpkgAmphibiousMode(); -1 # rows -2 # column -EnableGpkgAmphibiousMode() -GetGpkgAmphibiousMode() -(NULL) -0 DELETED test/sql_stmt_gpkgnocache_tests/amphibious2.testcase Index: test/sql_stmt_gpkgnocache_tests/amphibious2.testcase ================================================================== --- test/sql_stmt_gpkgnocache_tests/amphibious2.testcase +++ test/sql_stmt_gpkgnocache_tests/amphibious2.testcase @@ -1,9 +0,0 @@ -GPKG amphibious mode - disable -:memory: -SELECT DisableGpkgAmphibiousMode(), GetGpkgAmphibiousMode(); -1 # rows -2 # column -DisableGpkgAmphibiousMode() -GetGpkgAmphibiousMode(); -(NULL) -0 DELETED test/sql_stmt_gpkgnocache_tests/gpkg1.testcase Index: test/sql_stmt_gpkgnocache_tests/gpkg1.testcase ================================================================== --- test/sql_stmt_gpkgnocache_tests/gpkg1.testcase +++ test/sql_stmt_gpkgnocache_tests/gpkg1.testcase @@ -1,9 +0,0 @@ -GPKG mode - enable -:memory: -SELECT EnableGpkgMode(), GetGpkgMode(); -1 # rows -2 # column -EnableGpkgMode() -GetGpkgMode() -(NULL) -0 DELETED test/sql_stmt_gpkgnocache_tests/gpkg2.testcase Index: test/sql_stmt_gpkgnocache_tests/gpkg2.testcase ================================================================== --- test/sql_stmt_gpkgnocache_tests/gpkg2.testcase +++ test/sql_stmt_gpkgnocache_tests/gpkg2.testcase @@ -1,9 +0,0 @@ -GPKG mode - disable -:memory: -SELECT DisableGpkgMode(), GetGpkgMode(); -1 # rows -2 # column -DisableGpkgMode() -GetGpkgMode(); -(NULL) -0 Index: test/sql_stmt_libxml2_tests/Makefile.am ================================================================== --- test/sql_stmt_libxml2_tests/Makefile.am +++ test/sql_stmt_libxml2_tests/Makefile.am @@ -67,17 +67,10 @@ issldsestyle3.testcase \ issldsestyle4.testcase \ issldsestyle5.testcase \ issldsestyle6.testcase \ issldsestyle7.testcase \ - isgpx1.testcase \ - isgpx2.testcase \ - isgpx3.testcase \ - isgpx4.testcase \ - isgpx5.testcase \ - isgpx6.testcase \ - isgpx7.testcase \ issvg1.testcase \ issvg2.testcase \ issvg3.testcase \ issvg4.testcase \ issvg5.testcase \ @@ -155,19 +148,10 @@ registerRaster5.testcase \ registerRaster6.testcase \ registerRaster7.testcase \ registerRaster8.testcase \ registerRaster9.testcase \ - registerrasterkeyword1.testcase \ - registerrasterkeyword2.testcase \ - registerrasterkeyword3.testcase \ - registerrasterkeyword4.testcase \ - registerrasterkeyword5.testcase \ - registerrasterkeyword6.testcase \ - registerrasterkeyword7.testcase \ - registerrasterkeyword8.testcase \ - registerrasterkeyword9.testcase \ registerrastersrid1.testcase \ registerrastersrid2.testcase \ registerrastersrid3.testcase \ registerrastersrid4.testcase \ registerrastersrid5.testcase \ @@ -218,19 +202,10 @@ registervectorcvg18.testcase \ registervectorcvg19.testcase \ registervectorcvg20.testcase \ registervectorcvg21.testcase \ registervectorcvg22.testcase \ - registervectorkeyword1.testcase \ - registervectorkeyword2.testcase \ - registervectorkeyword3.testcase \ - registervectorkeyword4.testcase \ - registervectorkeyword5.testcase \ - registervectorkeyword6.testcase \ - registervectorkeyword7.testcase \ - registervectorkeyword8.testcase \ - registervectorkeyword9.testcase \ registervectorsrid1.testcase \ registervectorsrid2.testcase \ registervectorsrid3.testcase \ registervectorsrid4.testcase \ registervectorsrid5.testcase \ @@ -391,19 +366,10 @@ unregisterRaster5.testcase \ unregisterRaster6.testcase \ unregisterRaster7.testcase \ unregisterRaster8.testcase \ unregisterRaster9.testcase \ - unregisterrasterkeyword1.testcase \ - unregisterrasterkeyword2.testcase \ - unregisterrasterkeyword3.testcase \ - unregisterrasterkeyword4.testcase \ - unregisterrasterkeyword5.testcase \ - unregisterrasterkeyword6.testcase \ - unregisterrasterkeyword7.testcase \ - unregisterrasterkeyword8.testcase \ - unregisterrasterkeyword9.testcase \ unregisterrastersrid1.testcase \ unregisterrastersrid2.testcase \ unregisterrastersrid3.testcase \ unregisterrastersrid4.testcase \ unregisterrastersrid5.testcase \ @@ -442,19 +408,10 @@ unregistervectorcvg1.testcase \ unregistervectorcvg2.testcase \ unregistervectorcvg3.testcase \ unregistervectorcvg4.testcase \ unregistervectorcvg5.testcase \ - unregistervectorkeyword1.testcase \ - unregistervectorkeyword2.testcase \ - unregistervectorkeyword3.testcase \ - unregistervectorkeyword4.testcase \ - unregistervectorkeyword5.testcase \ - unregistervectorkeyword6.testcase \ - unregistervectorkeyword7.testcase \ - unregistervectorkeyword8.testcase \ - unregistervectorkeyword9.testcase \ unregistervectorsrid1.testcase \ unregistervectorsrid2.testcase \ unregistervectorsrid3.testcase \ unregistervectorsrid4.testcase \ unregistervectorsrid5.testcase \ @@ -562,16 +519,10 @@ xmlblobgettitle2.testcase \ xmlblobgettitle3.testcase \ xmlblobgettitle4.testcase \ xmlblobgettitle5.testcase \ xmlblobgettitle6.testcase \ - xmlblobmlinegpx1.testcase \ - xmlblobmlinegpx2.testcase \ - xmlblobmlinegpx3.testcase \ - xmlblobmlinegpx4.testcase \ - xmlblobmlinegpx5.testcase \ - xmlblobmlinegpx6.testcase \ xmlcompress1.testcase \ xmlcompress2.testcase \ xmlcompress3.testcase \ xmlcompress4.testcase \ xmlcompress5.testcase \ Index: test/sql_stmt_libxml2_tests/Makefile.in ================================================================== --- test/sql_stmt_libxml2_tests/Makefile.in +++ test/sql_stmt_libxml2_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_libxml2_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -319,17 +308,10 @@ issldsestyle3.testcase \ issldsestyle4.testcase \ issldsestyle5.testcase \ issldsestyle6.testcase \ issldsestyle7.testcase \ - isgpx1.testcase \ - isgpx2.testcase \ - isgpx3.testcase \ - isgpx4.testcase \ - isgpx5.testcase \ - isgpx6.testcase \ - isgpx7.testcase \ issvg1.testcase \ issvg2.testcase \ issvg3.testcase \ issvg4.testcase \ issvg5.testcase \ @@ -407,19 +389,10 @@ registerRaster5.testcase \ registerRaster6.testcase \ registerRaster7.testcase \ registerRaster8.testcase \ registerRaster9.testcase \ - registerrasterkeyword1.testcase \ - registerrasterkeyword2.testcase \ - registerrasterkeyword3.testcase \ - registerrasterkeyword4.testcase \ - registerrasterkeyword5.testcase \ - registerrasterkeyword6.testcase \ - registerrasterkeyword7.testcase \ - registerrasterkeyword8.testcase \ - registerrasterkeyword9.testcase \ registerrastersrid1.testcase \ registerrastersrid2.testcase \ registerrastersrid3.testcase \ registerrastersrid4.testcase \ registerrastersrid5.testcase \ @@ -470,19 +443,10 @@ registervectorcvg18.testcase \ registervectorcvg19.testcase \ registervectorcvg20.testcase \ registervectorcvg21.testcase \ registervectorcvg22.testcase \ - registervectorkeyword1.testcase \ - registervectorkeyword2.testcase \ - registervectorkeyword3.testcase \ - registervectorkeyword4.testcase \ - registervectorkeyword5.testcase \ - registervectorkeyword6.testcase \ - registervectorkeyword7.testcase \ - registervectorkeyword8.testcase \ - registervectorkeyword9.testcase \ registervectorsrid1.testcase \ registervectorsrid2.testcase \ registervectorsrid3.testcase \ registervectorsrid4.testcase \ registervectorsrid5.testcase \ @@ -643,19 +607,10 @@ unregisterRaster5.testcase \ unregisterRaster6.testcase \ unregisterRaster7.testcase \ unregisterRaster8.testcase \ unregisterRaster9.testcase \ - unregisterrasterkeyword1.testcase \ - unregisterrasterkeyword2.testcase \ - unregisterrasterkeyword3.testcase \ - unregisterrasterkeyword4.testcase \ - unregisterrasterkeyword5.testcase \ - unregisterrasterkeyword6.testcase \ - unregisterrasterkeyword7.testcase \ - unregisterrasterkeyword8.testcase \ - unregisterrasterkeyword9.testcase \ unregisterrastersrid1.testcase \ unregisterrastersrid2.testcase \ unregisterrastersrid3.testcase \ unregisterrastersrid4.testcase \ unregisterrastersrid5.testcase \ @@ -694,19 +649,10 @@ unregistervectorcvg1.testcase \ unregistervectorcvg2.testcase \ unregistervectorcvg3.testcase \ unregistervectorcvg4.testcase \ unregistervectorcvg5.testcase \ - unregistervectorkeyword1.testcase \ - unregistervectorkeyword2.testcase \ - unregistervectorkeyword3.testcase \ - unregistervectorkeyword4.testcase \ - unregistervectorkeyword5.testcase \ - unregistervectorkeyword6.testcase \ - unregistervectorkeyword7.testcase \ - unregistervectorkeyword8.testcase \ - unregistervectorkeyword9.testcase \ unregistervectorsrid1.testcase \ unregistervectorsrid2.testcase \ unregistervectorsrid3.testcase \ unregistervectorsrid4.testcase \ unregistervectorsrid5.testcase \ @@ -814,16 +760,10 @@ xmlblobgettitle2.testcase \ xmlblobgettitle3.testcase \ xmlblobgettitle4.testcase \ xmlblobgettitle5.testcase \ xmlblobgettitle6.testcase \ - xmlblobmlinegpx1.testcase \ - xmlblobmlinegpx2.testcase \ - xmlblobmlinegpx3.testcase \ - xmlblobmlinegpx4.testcase \ - xmlblobmlinegpx5.testcase \ - xmlblobmlinegpx6.testcase \ xmlcompress1.testcase \ xmlcompress2.testcase \ xmlcompress3.testcase \ xmlcompress4.testcase \ xmlcompress5.testcase \ @@ -896,10 +836,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_libxml2_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_libxml2_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -1070,11 +1011,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: DELETED test/sql_stmt_libxml2_tests/isgpx1.testcase Index: test/sql_stmt_libxml2_tests/isgpx1.testcase ================================================================== --- test/sql_stmt_libxml2_tests/isgpx1.testcase +++ test/sql_stmt_libxml2_tests/isgpx1.testcase @@ -1,8 +0,0 @@ -XB_IsGpx - NULL XmlBLOB -:memory: #use in-memory database -SELECT XB_IsGpx(NULL); -1 # rows (not including the header row) -1 # columns -XB_IsGpx(NULL) --1 - DELETED test/sql_stmt_libxml2_tests/isgpx2.testcase Index: test/sql_stmt_libxml2_tests/isgpx2.testcase ================================================================== --- test/sql_stmt_libxml2_tests/isgpx2.testcase +++ test/sql_stmt_libxml2_tests/isgpx2.testcase @@ -1,8 +0,0 @@ -XB_IsGpx - INTEGER XmlBLOB -:memory: #use in-memory database -SELECT XB_IsGpx(1); -1 # rows (not including the header row) -1 # columns -XB_IsGpx(1) --1 - DELETED test/sql_stmt_libxml2_tests/isgpx3.testcase Index: test/sql_stmt_libxml2_tests/isgpx3.testcase ================================================================== --- test/sql_stmt_libxml2_tests/isgpx3.testcase +++ test/sql_stmt_libxml2_tests/isgpx3.testcase @@ -1,8 +0,0 @@ -XB_IsGpx - DOUBLE XmlBLOB -:memory: #use in-memory database -SELECT XB_IsGpx(1.1); -1 # rows (not including the header row) -1 # columns -XB_IsGpx(1.1) --1 - DELETED test/sql_stmt_libxml2_tests/isgpx4.testcase Index: test/sql_stmt_libxml2_tests/isgpx4.testcase ================================================================== --- test/sql_stmt_libxml2_tests/isgpx4.testcase +++ test/sql_stmt_libxml2_tests/isgpx4.testcase @@ -1,8 +0,0 @@ -XB_IsGpx - TEXT XmlBLOB -:memory: #use in-memory database -SELECT XB_IsGpx('alpha'); -1 # rows (not including the header row) -1 # columns -XB_IsGpx('alpha') --1 - DELETED test/sql_stmt_libxml2_tests/isgpx5.testcase Index: test/sql_stmt_libxml2_tests/isgpx5.testcase ================================================================== --- test/sql_stmt_libxml2_tests/isgpx5.testcase +++ test/sql_stmt_libxml2_tests/isgpx5.testcase @@ -1,8 +0,0 @@ -XB_IsGpx - invalid XmlBLOB -:memory: #use in-memory database -SELECT XB_IsGpx(zeroblob(100)); -1 # rows (not including the header row) -1 # columns -XB_IsGpx(zeroblob(100)) --1 - DELETED test/sql_stmt_libxml2_tests/isgpx6.testcase Index: test/sql_stmt_libxml2_tests/isgpx6.testcase ================================================================== --- test/sql_stmt_libxml2_tests/isgpx6.testcase +++ test/sql_stmt_libxml2_tests/isgpx6.testcase @@ -1,8 +0,0 @@ -XB_IsGpx - valid XmlBLOB (TRUE) -:memory: #use in-memory database -SELECT XB_IsGpx(x'000BAC070000000F0000000000BA0000CA0000DA0000DE0000DB0000DC0000DDCB789CB3492FA850D0B7030009210219BC37382DE2DD'); -1 # rows (not including the header row) -1 # columns -XB_IsGpx(x'000BAC070000000F0000000000BA0000CA0000DA0000DE0000DB0000DC0000DDCB789CB3492FA850D0B7030009210219BC37382DE2DD') -1 - DELETED test/sql_stmt_libxml2_tests/isgpx7.testcase Index: test/sql_stmt_libxml2_tests/isgpx7.testcase ================================================================== --- test/sql_stmt_libxml2_tests/isgpx7.testcase +++ test/sql_stmt_libxml2_tests/isgpx7.testcase @@ -1,8 +0,0 @@ -XB_IsGpx - valid XmlBLOB (FALSE) -:memory: #use in-memory database -SELECT XB_IsGpx(x'0001AB12000000120000000000BA0000CA0000DA0000DB0000DC0000DDCB3C613E3C623E746578743C2F623E3C2F613EBC49A10C93DD'); -1 # rows (not including the header row) -1 # columns -XB_IsGpx(x'0001AB12000000120000000000BA0000CA0000DA0000DB0000DC0000DDCB3C613E3C623E746578743C2F623E3C2F613EBC49A10C93DD') -0 - DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword1.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword1.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword1.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword1.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - NULL coverage -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword(NULL, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword(NULL, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword2.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword2.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword2.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword2.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - Int coverage -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword(1, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword(1, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword3.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword3.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword3.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword3.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - Double coverage -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword(1.1, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword(1.1, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword4.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword4.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword4.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword4.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - BLOB coverage -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword(zeroblob(4), 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword(zeroblob(4), 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword5.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword5.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword5.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword5.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - NULL keyword -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword('alpha', NULL); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword('alpha', NULL) --1 DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword6.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword6.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword6.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword6.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - Double keyword -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword('alpha', 1.1); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword('alpha', 1.1) --1 DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword7.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword7.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword7.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword7.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - Text keyword -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword('alpha', 'beta'); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword('alpha', 'beta') -0 DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword8.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword8.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword8.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword8.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - BLOB keyword -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword('alpha', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword('alpha', zeroblob(4)) --1 DELETED test/sql_stmt_libxml2_tests/registerrasterkeyword9.testcase Index: test/sql_stmt_libxml2_tests/registerrasterkeyword9.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registerrasterkeyword9.testcase +++ test/sql_stmt_libxml2_tests/registerrasterkeyword9.testcase @@ -1,7 +0,0 @@ -RegisterRasterCoverageKeyword - Int keyword -:memory: #use in-memory database -SELECT SE_RegisterRasterCoverageKeyword('alpha', 4326); -1 # rows (not including the header row) -1 # columns -SE_RegisterRasterCoverageKeyword('alpha', 4326) --1 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword1.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword1.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword1.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword1.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - NULL coverage -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageKeyword(NULL, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageKeyword(NULL, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword2.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword2.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword2.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword2.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - Int coverage -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageSrid(1, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageSrid(1, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword3.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword3.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword3.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword3.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - Double coverage -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageKeyword(1.1, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageKeyword(1.1, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword4.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword4.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword4.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword4.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - BLOB coverage -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageKeyword(zeroblob(4), 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageKeyword(zeroblob(4), 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword5.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword5.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword5.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword5.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - NULL keyword -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageKeyword('alpha', NULL); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageKeyword('alpha', NULL) --1 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword6.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword6.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword6.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword6.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - Double keyword -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageKeyword('alpha', 1.1); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageKeyword('alpha', 1.1) --1 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword7.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword7.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword7.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword7.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - Text keyword -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageKeyword('alpha', 'beta'); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageKeyword('alpha', 'beta') -0 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword8.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword8.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword8.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword8.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - BLOB keyword -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageKeyword('alpha', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageKeyword('alpha', zeroblob(4)) --1 DELETED test/sql_stmt_libxml2_tests/registervectorkeyword9.testcase Index: test/sql_stmt_libxml2_tests/registervectorkeyword9.testcase ================================================================== --- test/sql_stmt_libxml2_tests/registervectorkeyword9.testcase +++ test/sql_stmt_libxml2_tests/registervectorkeyword9.testcase @@ -1,7 +0,0 @@ -RegisterVectorCoverageKeyword - Int keyword -:memory: #use in-memory database -SELECT SE_RegisterVectorCoverageKeyword('alpha', 4326); -1 # rows (not including the header row) -1 # columns -SE_RegisterVectorCoverageKeyword('alpha', 4326) --1 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword1.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword1.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword1.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword1.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - NULL coverage -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword(NULL, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword(NULL, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword2.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword2.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword2.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword2.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - Int coverage -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword(1, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword(1, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword3.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword3.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword3.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword3.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - Double coverage -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword(1.1, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword(1.1, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword4.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword4.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword4.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword4.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - BLOB coverage -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword(zeroblob(4), 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword(zeroblob(4), 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword5.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword5.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword5.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword5.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - NULL keyword -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword('alpha', NULL); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword('alpha', NULL) --1 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword6.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword6.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword6.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword6.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - Double keyword -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword('alpha', 1.1); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword('alpha', 1.1) --1 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword7.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword7.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword7.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword7.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - Text keyword -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword('alpha', 'beta'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword('alpha', 'beta') -0 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword8.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword8.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword8.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword8.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - BLOB keyword -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword('alpha', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword('alpha', zeroblob(4)) --1 DELETED test/sql_stmt_libxml2_tests/unregisterrasterkeyword9.testcase Index: test/sql_stmt_libxml2_tests/unregisterrasterkeyword9.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregisterrasterkeyword9.testcase +++ test/sql_stmt_libxml2_tests/unregisterrasterkeyword9.testcase @@ -1,7 +0,0 @@ -UnregisterRasterCoverageKeyword - Int keyword -:memory: #use in-memory database -SELECT SE_UnregisterRasterCoverageKeyword('alpha', 4326); -1 # rows (not including the header row) -1 # columns -SE_UnregisterRasterCoverageKeyword('alpha', 4326) --1 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword1.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword1.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword1.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword1.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - NULL coverage -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword(NULL, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword(NULL, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword2.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword2.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword2.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword2.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - Int coverage -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword(1, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword(1, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword3.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword3.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword3.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword3.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - Double coverage -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword(1.1, 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword(1.1, 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword4.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword4.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword4.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword4.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - BLOB coverage -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword(zeroblob(4), 'keyword'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword(zeroblob(4), 'keyword') --1 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword5.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword5.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword5.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword5.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - NULL keyword -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword('alpha', NULL); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword('alpha', NULL) --1 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword6.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword6.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword6.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword6.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - Double keyword -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword('alpha', 1.1); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword('alpha', 1.1) --1 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword7.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword7.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword7.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword7.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - Text keyword -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword('alpha', 'beta'); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword('alpha', 'beta') -0 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword8.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword8.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword8.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword8.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - BLOB keyword -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword('alpha', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword('alpha', zeroblob(4)) --1 DELETED test/sql_stmt_libxml2_tests/unregistervectorkeyword9.testcase Index: test/sql_stmt_libxml2_tests/unregistervectorkeyword9.testcase ================================================================== --- test/sql_stmt_libxml2_tests/unregistervectorkeyword9.testcase +++ test/sql_stmt_libxml2_tests/unregistervectorkeyword9.testcase @@ -1,7 +0,0 @@ -UnregisterVectorCoverageKeyword - Int keyword -:memory: #use in-memory database -SELECT SE_UnregisterVectorCoverageKeyword('alpha', 4326); -1 # rows (not including the header row) -1 # columns -SE_UnregisterVectorCoverageKeyword('alpha', 4326) --1 Index: test/sql_stmt_libxml2_tests/xmlblobgetgeometry4.testcase ================================================================== --- test/sql_stmt_libxml2_tests/xmlblobgetgeometry4.testcase +++ test/sql_stmt_libxml2_tests/xmlblobgetgeometry4.testcase @@ -1,8 +1,8 @@ -XB_GetGeometry - TEXT XmlDocument +XB_GetGeometry - BLOB XmlDocument :memory: #use in-memory database -SELECT XB_GetGeometry('alpha'); +SELECT XB_GetGeometry(zeroblob(100)); 1 # rows (not including the header row) 1 # columns -XB_GetGeometry('alpha') +XB_GetGeometry(zeroblob(100)) (NULL) Index: test/sql_stmt_libxml2_tests/xmlblobgetgeometry5.testcase ================================================================== --- test/sql_stmt_libxml2_tests/xmlblobgetgeometry5.testcase +++ test/sql_stmt_libxml2_tests/xmlblobgetgeometry5.testcase @@ -1,8 +1,8 @@ -XB_GetGeometry - invalid BLOB +XB_GetGeometry - invalid XmlBLOB :memory: #use in-memory database SELECT XB_GetGeometry(zeroblob(100)); 1 # rows (not including the header row) 1 # columns XB_GetGeometry(zeroblob(100)) (NULL) DELETED test/sql_stmt_libxml2_tests/xmlblobmlinegpx1.testcase Index: test/sql_stmt_libxml2_tests/xmlblobmlinegpx1.testcase ================================================================== --- test/sql_stmt_libxml2_tests/xmlblobmlinegpx1.testcase +++ test/sql_stmt_libxml2_tests/xmlblobmlinegpx1.testcase @@ -1,8 +0,0 @@ -XB_MLineFromGPX - NULL XmlDocument -:memory: #use in-memory database -SELECT XB_MLineFromGPX(NULL); -1 # rows (not including the header row) -1 # columns -XB_MLineFromGPX(NULL) -(NULL) - DELETED test/sql_stmt_libxml2_tests/xmlblobmlinegpx2.testcase Index: test/sql_stmt_libxml2_tests/xmlblobmlinegpx2.testcase ================================================================== --- test/sql_stmt_libxml2_tests/xmlblobmlinegpx2.testcase +++ test/sql_stmt_libxml2_tests/xmlblobmlinegpx2.testcase @@ -1,8 +0,0 @@ -XB_MLineFromGPX - INTEGER XmlDocument -:memory: #use in-memory database -SELECT XB_MLineFromGPX(1); -1 # rows (not including the header row) -1 # columns -XB_MLineFromGPX(1) -(NULL) - DELETED test/sql_stmt_libxml2_tests/xmlblobmlinegpx3.testcase Index: test/sql_stmt_libxml2_tests/xmlblobmlinegpx3.testcase ================================================================== --- test/sql_stmt_libxml2_tests/xmlblobmlinegpx3.testcase +++ test/sql_stmt_libxml2_tests/xmlblobmlinegpx3.testcase @@ -1,8 +0,0 @@ -XB_MLineFromGPX - DOUBLE XmlDocument -:memory: #use in-memory database -SELECT XB_MLineFromGPX(1.1); -1 # rows (not including the header row) -1 # columns -XB_MLineFromGPX(1.1) -(NULL) - DELETED test/sql_stmt_libxml2_tests/xmlblobmlinegpx4.testcase Index: test/sql_stmt_libxml2_tests/xmlblobmlinegpx4.testcase ================================================================== --- test/sql_stmt_libxml2_tests/xmlblobmlinegpx4.testcase +++ test/sql_stmt_libxml2_tests/xmlblobmlinegpx4.testcase @@ -1,8 +0,0 @@ -XB_MLineFromGPX - invalid BLOB -:memory: #use in-memory database -SELECT XB_MLineFromGPX(zeroblob(100)); -1 # rows (not including the header row) -1 # columns -XB_MLineFromGPX(zeroblob(100)) -(NULL) - DELETED test/sql_stmt_libxml2_tests/xmlblobmlinegpx5.testcase Index: test/sql_stmt_libxml2_tests/xmlblobmlinegpx5.testcase ================================================================== --- test/sql_stmt_libxml2_tests/xmlblobmlinegpx5.testcase +++ test/sql_stmt_libxml2_tests/xmlblobmlinegpx5.testcase @@ -1,8 +0,0 @@ -XB_MLineFromGPX - valid XmlBLOB not a GPX -:memory: #use in-memory database -SELECT XB_MLineFromGPX(x'0001AB12000000120000000000BA0000CA0000DA0000DB0000DC0000DDCB3C613E3C623E746578743C2F623E3C2F613EBC49A10C93DD'); -1 # rows (not including the header row) -1 # columns -XB_MLineFromGPX(x'0001AB12000000120000000000BA0000CA0000DA0000DB0000DC0000DDCB3C613E3C623E746578743C2F623E3C2F613EBC49A10C93DD') -(NULL) - DELETED test/sql_stmt_libxml2_tests/xmlblobmlinegpx6.testcase Index: test/sql_stmt_libxml2_tests/xmlblobmlinegpx6.testcase ================================================================== --- test/sql_stmt_libxml2_tests/xmlblobmlinegpx6.testcase +++ test/sql_stmt_libxml2_tests/xmlblobmlinegpx6.testcase @@ -1,8 +0,0 @@ -XB_MLineFromGPX - TEXT XmlDocument -:memory: #use in-memory database -SELECT XB_MLineFromGPX('alpha'); -1 # rows (not including the header row) -1 # columns -XB_MLineFromGPX('alpha') -(NULL) - DELETED test/sql_stmt_lwgeom_20_tests/Makefile.am Index: test/sql_stmt_lwgeom_20_tests/Makefile.am ================================================================== --- test/sql_stmt_lwgeom_20_tests/Makefile.am +++ test/sql_stmt_lwgeom_20_tests/Makefile.am @@ -1,5 +0,0 @@ - -EXTRA_DIST = st_asx3d25.testcase \ - st_asx3d26.testcase \ - st_asx3d30.testcase \ - st_split8.testcase DELETED test/sql_stmt_lwgeom_20_tests/Makefile.in Index: test/sql_stmt_lwgeom_20_tests/Makefile.in ================================================================== --- test/sql_stmt_lwgeom_20_tests/Makefile.in +++ test/sql_stmt_lwgeom_20_tests/Makefile.in @@ -1,453 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_lwgeom_20_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = st_asx3d25.testcase \ - st_asx3d26.testcase \ - st_asx3d30.testcase \ - st_split8.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_lwgeom_20_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_lwgeom_20_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_lwgeom_20_tests/st_asx3d25.testcase Index: test/sql_stmt_lwgeom_20_tests/st_asx3d25.testcase ================================================================== --- test/sql_stmt_lwgeom_20_tests/st_asx3d25.testcase +++ test/sql_stmt_lwgeom_20_tests/st_asx3d25.testcase @@ -1,8 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, short SRS -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 0); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 0) -15.123457 14.765432 7.654321 -# 15.123457 14.765432 7.654321:0 DELETED test/sql_stmt_lwgeom_20_tests/st_asx3d26.testcase Index: test/sql_stmt_lwgeom_20_tests/st_asx3d26.testcase ================================================================== --- test/sql_stmt_lwgeom_20_tests/st_asx3d26.testcase +++ test/sql_stmt_lwgeom_20_tests/st_asx3d26.testcase @@ -1,8 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, long SRS -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1) -14.765432 15.123457 7.654321 -# 15.123457 14.765432 7.654321:0 DELETED test/sql_stmt_lwgeom_20_tests/st_asx3d30.testcase Index: test/sql_stmt_lwgeom_20_tests/st_asx3d30.testcase ================================================================== --- test/sql_stmt_lwgeom_20_tests/st_asx3d30.testcase +++ test/sql_stmt_lwgeom_20_tests/st_asx3d30.testcase @@ -1,8 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, long SRS, refid -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 'test_'); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 'test_') -14.765432 15.123457 7.654321 -# 15.123457 14.765432 7.654321:0 DELETED test/sql_stmt_lwgeom_20_tests/st_split8.testcase Index: test/sql_stmt_lwgeom_20_tests/st_split8.testcase ================================================================== --- test/sql_stmt_lwgeom_20_tests/st_split8.testcase +++ test/sql_stmt_lwgeom_20_tests/st_split8.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Multiline (error) -:memory: #use in-memory database -SELECT ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('MULTILINESTRING((3 0, 3 3), (5 0, 5 3))')); -1 # rows (not including the header row) -1 # columns -ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('MULTILINESTRING((3 0, 3 3), (5 0, 5 3))')) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/Makefile.am Index: test/sql_stmt_lwgeom_22_tests/Makefile.am ================================================================== --- test/sql_stmt_lwgeom_22_tests/Makefile.am +++ test/sql_stmt_lwgeom_22_tests/Makefile.am @@ -1,1019 +0,0 @@ - -EXTRA_DIST = addedgemodface1.testcase \ - addedgemodface2.testcase \ - addedgemodface3.testcase \ - addedgemodface4.testcase \ - addedgemodface5.testcase \ - addedgemodface6.testcase \ - addedgemodface7.testcase \ - addedgemodface8.testcase \ - addedgemodface9.testcase \ - addedgemodface10.testcase \ - addedgemodface11.testcase \ - addedgemodface12.testcase \ - addedgemodface13.testcase \ - addedgemodface14.testcase \ - addedgemodface15.testcase \ - addedgemodface16.testcase \ - addedgemodface17.testcase \ - addedgemodface18.testcase \ - addedgemodface19.testcase \ - addedgemodface20.testcase \ - addedgenewfaces1.testcase \ - addedgenewfaces2.testcase \ - addedgenewfaces3.testcase \ - addedgenewfaces4.testcase \ - addedgenewfaces5.testcase \ - addedgenewfaces6.testcase \ - addedgenewfaces7.testcase \ - addedgenewfaces8.testcase \ - addedgenewfaces9.testcase \ - addedgenewfaces10.testcase \ - addedgenewfaces11.testcase \ - addedgenewfaces12.testcase \ - addedgenewfaces13.testcase \ - addedgenewfaces14.testcase \ - addedgenewfaces15.testcase \ - addedgenewfaces16.testcase \ - addedgenewfaces17.testcase \ - addedgenewfaces18.testcase \ - addedgenewfaces19.testcase \ - addedgenewfaces20.testcase \ - addisoedge1.testcase \ - addisoedge2.testcase \ - addisoedge3.testcase \ - addisoedge4.testcase \ - addisoedge5.testcase \ - addisoedge6.testcase \ - addisoedge7.testcase \ - addisoedge8.testcase \ - addisoedge9.testcase \ - addisoedge10.testcase \ - addisoedge11.testcase \ - addisoedge12.testcase \ - addisoedge13.testcase \ - addisoedge14.testcase \ - addisoedge15.testcase \ - addisoedge16.testcase \ - addisoedge17.testcase \ - addisoedge18.testcase \ - addisoedge19.testcase \ - addisoedge20.testcase \ - addisonetnode1.testcase \ - addisonetnode2.testcase \ - addisonetnode3.testcase \ - addisonetnode4.testcase \ - addisonetnode5.testcase \ - addisonode1.testcase \ - addisonode2.testcase \ - addisonode3.testcase \ - addisonode4.testcase \ - addisonode5.testcase \ - addisonode6.testcase \ - addisonode7.testcase \ - addisonode8.testcase \ - addisonode9.testcase \ - addisonode10.testcase \ - addisonode11.testcase \ - addisonode12.testcase \ - addisonode13.testcase \ - addisonode14.testcase \ - addisonode15.testcase \ - addisonode16.testcase \ - addisonode17.testcase \ - addisonode1.testcase \ - addisonode2.testcase \ - addisonode3.testcase \ - addisonode4.testcase \ - addisonode5.testcase \ - addisonode6.testcase \ - addisonode7.testcase \ - addisonode8.testcase \ - addisonode9.testcase \ - addisonode10.testcase \ - addisonode11.testcase \ - addisonode12.testcase \ - addisonode13.testcase \ - addisonode14.testcase \ - addisonode15.testcase \ - addisonode16.testcase \ - addisonode17.testcase \ - addlink1.testcase \ - addlink2.testcase \ - addlink3.testcase \ - addlink4.testcase \ - addlink5.testcase \ - addlink6.testcase \ - addlink7.testcase \ - addlink8.testcase \ - addlink9.testcase \ - addlink10.testcase \ - addlink11.testcase \ - addlink12.testcase \ - addlink13.testcase \ - changeedgegeom1.testcase \ - changeedgegeom2.testcase \ - changeedgegeom3.testcase \ - changeedgegeom4.testcase \ - changeedgegeom5.testcase \ - changeedgegeom6.testcase \ - changeedgegeom7.testcase \ - changeedgegeom8.testcase \ - changeedgegeom9.testcase \ - changeedgegeom10.testcase \ - changeedgegeom11.testcase \ - changeedgegeom12.testcase \ - changeedgegeom13.testcase \ - changeedgegeom14.testcase \ - changeedgegeom15.testcase \ - changeedgegeom16.testcase \ - changeedgegeom17.testcase \ - changelinkgeom1.testcase \ - changelinkgeom2.testcase \ - changelinkgeom3.testcase \ - changelinkgeom4.testcase \ - changelinkgeom5.testcase \ - changelinkgeom6.testcase \ - changelinkgeom7.testcase \ - changelinkgeom8.testcase \ - createtopogeo1.testcase \ - createtopogeo2.testcase \ - createtopogeo3.testcase \ - createtopogeo4.testcase \ - createtopogeo5.testcase \ - createtopogeo6.testcase \ - createtopogeo7.testcase \ - createtopogeo8.testcase \ - createtopogeo9.testcase \ - createtopogeo10.testcase \ - createtopolayer1.testcase \ - createtopolayer2.testcase \ - createtopolayer3.testcase \ - createtopolayer4.testcase \ - createtopolayer5.testcase \ - createtopolayer6.testcase \ - createtopolayer7.testcase \ - createtopolayer8.testcase \ - createtopolayer9.testcase \ - createtopolayer10.testcase \ - createtopolayer11.testcase \ - createtopolayer12.testcase \ - createtopolayer13.testcase \ - createtopolayer14.testcase \ - createtopolayer15.testcase \ - createtopolayer16.testcase \ - createtopolayer17.testcase \ - createtopolayer18.testcase \ - createtopolayer19.testcase \ - createtopolayer20.testcase \ - createtopolayer21.testcase \ - createtopolayer22.testcase \ - createtopolayer23.testcase \ - createtopolayer24.testcase \ - createtopolayer25.testcase \ - createtopolayer26.testcase \ - createtopology1.testcase \ - createtopology2.testcase \ - createtopology3.testcase \ - createtopology4.testcase \ - createtopology5.testcase \ - createtopology6.testcase \ - createtopology7.testcase \ - createtopology8.testcase \ - createtopology9.testcase \ - createtopology10.testcase \ - createtopology11.testcase \ - createtopology12.testcase \ - createtopology13.testcase \ - createtopology14.testcase \ - createtopology15.testcase \ - createtopology16.testcase \ - createtopology17.testcase \ - createtopology18.testcase \ - createtopology19.testcase \ - createtopology20.testcase \ - createnetwork1.testcase \ - createnetwork2.testcase \ - createnetwork3.testcase \ - createnetwork4.testcase \ - createnetwork5.testcase \ - createnetwork6.testcase \ - createnetwork7.testcase \ - createnetwork8.testcase \ - createnetwork9.testcase \ - createnetwork10.testcase \ - createnetwork11.testcase \ - createnetwork12.testcase \ - createnetwork13.testcase \ - createnetwork14.testcase \ - createnetwork15.testcase \ - createnetwork16.testcase \ - createnetwork17.testcase \ - createnetwork18.testcase \ - createnetwork19.testcase \ - createnetwork20.testcase \ - createnetwork21.testcase \ - createnetwork22.testcase \ - createnetwork23.testcase \ - createnetwork24.testcase \ - createnetwork25.testcase \ - droptopology1.testcase \ - droptopology2.testcase \ - droptopology3.testcase \ - droptopology4.testcase \ - droptopology5.testcase \ - dropnetwork1.testcase \ - dropnetwork2.testcase \ - dropnetwork3.testcase \ - dropnetwork4.testcase \ - dropnetwork5.testcase \ - exporttopolayer1.testcase \ - exporttopolayer2.testcase \ - exporttopolayer3.testcase \ - exporttopolayer4.testcase \ - exporttopolayer5.testcase \ - exporttopolayer6.testcase \ - exporttopolayer7.testcase \ - exporttopolayer8.testcase \ - exporttopolayer9.testcase \ - exporttopolayer10.testcase \ - exporttopolayer11.testcase \ - exporttopolayer12.testcase \ - exporttopolayer13.testcase \ - exporttopolayer14.testcase \ - exporttopolayer15.testcase \ - exporttopolayer16.testcase \ - exporttopolayer17.testcase \ - exporttopolayer18.testcase \ - exporttopolayer19.testcase \ - exporttopolayer20.testcase \ - exporttopolayer21.testcase \ - exporttopolayer22.testcase \ - exporttopolayer23.testcase \ - featuretopolayer1.testcase \ - featuretopolayer2.testcase \ - featuretopolayer3.testcase \ - featuretopolayer4.testcase \ - featuretopolayer5.testcase \ - featuretopolayer6.testcase \ - featuretopolayer7.testcase \ - featuretopolayer8.testcase \ - featuretopolayer9.testcase \ - featuretopolayer10.testcase \ - featuretopolayer11.testcase \ - featuretopolayer12.testcase \ - featuretopolayer13.testcase \ - featuretopolayer14.testcase \ - featuretopolayer15.testcase \ - featuretopolayer16.testcase \ - featuretopolayer17.testcase \ - getedgeseed1.testcase \ - getedgeseed2.testcase \ - getedgeseed3.testcase \ - getedgeseed4.testcase \ - getedgeseed5.testcase \ - getedgeseed6.testcase \ - getedgeseed7.testcase \ - getedgeseed8.testcase \ - getedgeseed9.testcase \ - getlinkseed1.testcase \ - getlinkseed2.testcase \ - getlinkseed3.testcase \ - getlinkseed4.testcase \ - getlinkseed5.testcase \ - getlinkseed6.testcase \ - getlinkseed7.testcase \ - getlinkseed8.testcase \ - getlinkseed9.testcase \ - getfaceedges1.testcase \ - getfaceedges2.testcase \ - getfaceedges3.testcase \ - getfaceedges4.testcase \ - getfaceedges5.testcase \ - getfaceedges6.testcase \ - getfaceedges7.testcase \ - getfaceedges8.testcase \ - getfaceedges9.testcase \ - getfacegeometry1.testcase \ - getfacegeometry2.testcase \ - getfacegeometry3.testcase \ - getfacegeometry4.testcase \ - getfacegeometry5.testcase \ - getfacegeometry6.testcase \ - getfacegeometry7.testcase \ - getfacegeometry8.testcase \ - getfacegeometry9.testcase \ - getedgebypoint1.testcase \ - getedgebypoint2.testcase \ - getedgebypoint3.testcase \ - getedgebypoint4.testcase \ - getedgebypoint5.testcase \ - getedgebypoint6.testcase \ - getedgebypoint7.testcase \ - getedgebypoint8.testcase \ - getedgebypoint9.testcase \ - getedgebypoint10.testcase \ - getedgebypoint11.testcase \ - getedgebypoint12.testcase \ - getedgebypoint13.testcase \ - getedgebypoint14.testcase \ - getedgebypoint15.testcase \ - getedgebypoint16.testcase \ - getedgebypoint17.testcase \ - getfacegeometry1.testcase \ - getfacegeometry2.testcase \ - getfacegeometry3.testcase \ - getfacegeometry4.testcase \ - getfacegeometry5.testcase \ - getfacegeometry6.testcase \ - getfacegeometry7.testcase \ - getfacegeometry8.testcase \ - getfacegeometry9.testcase \ - getfacebypoint1.testcase \ - getfacebypoint2.testcase \ - getfacebypoint3.testcase \ - getfacebypoint4.testcase \ - getfacebypoint5.testcase \ - getfacebypoint6.testcase \ - getfacebypoint7.testcase \ - getfacebypoint8.testcase \ - getfacebypoint9.testcase \ - getfacebypoint10.testcase \ - getfacebypoint11.testcase \ - getfacebypoint12.testcase \ - getfacebypoint13.testcase \ - getfacebypoint14.testcase \ - getfacebypoint15.testcase \ - getfacebypoint16.testcase \ - getfacebypoint17.testcase \ - getfaceseed1.testcase \ - getfaceseed2.testcase \ - getfaceseed3.testcase \ - getfaceseed4.testcase \ - getfaceseed5.testcase \ - getfaceseed6.testcase \ - getfaceseed7.testcase \ - getfaceseed8.testcase \ - getfaceseed9.testcase \ - getlinkbypoint1.testcase \ - getlinkbypoint2.testcase \ - getlinkbypoint3.testcase \ - getlinkbypoint4.testcase \ - getlinkbypoint5.testcase \ - getlinkbypoint6.testcase \ - getlinkbypoint7.testcase \ - getlinkbypoint8.testcase \ - getlinkbypoint9.testcase \ - getlinkbypoint10.testcase \ - getlinkbypoint11.testcase \ - getlinkbypoint12.testcase \ - getlinkbypoint13.testcase \ - getlinkbypoint14.testcase \ - getlinkbypoint15.testcase \ - getlinkbypoint16.testcase \ - getlinkbypoint17.testcase \ - getnetnodebypoint1.testcase \ - getnetnodebypoint2.testcase \ - getnetnodebypoint3.testcase \ - getnetnodebypoint4.testcase \ - getnetnodebypoint5.testcase \ - getnetnodebypoint6.testcase \ - getnetnodebypoint7.testcase \ - getnetnodebypoint8.testcase \ - getnetnodebypoint9.testcase \ - getnetnodebypoint10.testcase \ - getnetnodebypoint11.testcase \ - getnetnodebypoint12.testcase \ - getnetnodebypoint13.testcase \ - getnetnodebypoint14.testcase \ - getnetnodebypoint15.testcase \ - getnetnodebypoint16.testcase \ - getnetnodebypoint17.testcase \ - getnodebypoint1.testcase \ - getnodebypoint2.testcase \ - getnodebypoint3.testcase \ - getnodebypoint4.testcase \ - getnodebypoint5.testcase \ - getnodebypoint6.testcase \ - getnodebypoint7.testcase \ - getnodebypoint8.testcase \ - getnodebypoint9.testcase \ - getnodebypoint10.testcase \ - getnodebypoint11.testcase \ - getnodebypoint12.testcase \ - getnodebypoint13.testcase \ - getnodebypoint14.testcase \ - getnodebypoint15.testcase \ - getnodebypoint16.testcase \ - getnodebypoint17.testcase \ - inittopolayer1.testcase \ - inittopolayer2.testcase \ - inittopolayer3.testcase \ - inittopolayer4.testcase \ - inittopolayer5.testcase \ - inittopolayer6.testcase \ - inittopolayer7.testcase \ - inittopolayer8.testcase \ - inittopolayer9.testcase \ - inittopolayer10.testcase \ - inittopolayer11.testcase \ - inittopolayer12.testcase \ - inittopolayer13.testcase \ - inittopolayer14.testcase \ - inittopolayer15.testcase \ - inittopolayer16.testcase \ - inittopolayer17.testcase \ - linesnapseed1.testcase \ - linesnapseed2.testcase \ - linesnapseed3.testcase \ - linesnapseed4.testcase \ - linesnapseed5.testcase \ - linesnapseed6.testcase \ - linesnapseed7.testcase \ - linesnapseed8.testcase \ - linesnapseed9.testcase \ - linesnapseed10.testcase \ - linesnapseed11.testcase \ - linesnapseed12.testcase \ - linesnapseed13.testcase \ - linesnapseed14.testcase \ - linesnapseed15.testcase \ - linesnapseed16.testcase \ - linesnapseed17.testcase \ - loginetfromtgeo1.testcase \ - loginetfromtgeo2.testcase \ - loginetfromtgeo3.testcase \ - loginetfromtgeo4.testcase \ - loginetfromtgeo5.testcase \ - loginetfromtgeo6.testcase \ - loginetfromtgeo7.testcase \ - loginetfromtgeo8.testcase \ - loginetfromtgeo9.testcase \ - modedgeheal1.testcase \ - modedgeheal2.testcase \ - modedgeheal3.testcase \ - modedgeheal4.testcase \ - modedgeheal5.testcase \ - modedgeheal6.testcase \ - modedgeheal7.testcase \ - modedgeheal8.testcase \ - modedgeheal9.testcase \ - modedgeheal10.testcase \ - modedgeheal11.testcase \ - modedgeheal12.testcase \ - modedgeheal13.testcase \ - modedgesplit1.testcase \ - modedgesplit2.testcase \ - modedgesplit3.testcase \ - modedgesplit4.testcase \ - modedgesplit5.testcase \ - modedgesplit6.testcase \ - modedgesplit7.testcase \ - modedgesplit8.testcase \ - modedgesplit9.testcase \ - modedgesplit10.testcase \ - modedgesplit11.testcase \ - modedgesplit12.testcase \ - modedgesplit13.testcase \ - modedgesplit14.testcase \ - modedgesplit15.testcase \ - modedgesplit16.testcase \ - modgeolinksplit1.testcase \ - modgeolinksplit2.testcase \ - modgeolinksplit3.testcase \ - modgeolinksplit4.testcase \ - modgeolinksplit5.testcase \ - modgeolinksplit6.testcase \ - modgeolinksplit7.testcase \ - modgeolinksplit8.testcase \ - modgeolinksplit9.testcase \ - modlinkheal1.testcase \ - modlinkheal2.testcase \ - modlinkheal3.testcase \ - modlinkheal4.testcase \ - modlinkheal5.testcase \ - modlinkheal6.testcase \ - modlinkheal7.testcase \ - modlinkheal8.testcase \ - modlinkheal9.testcase \ - modlinkheal10.testcase \ - modlinkheal11.testcase \ - modlinkheal12.testcase \ - modlinkheal13.testcase \ - modloglinksplit1.testcase \ - modloglinksplit2.testcase \ - modloglinksplit3.testcase \ - modloglinksplit4.testcase \ - modloglinksplit5.testcase \ - modloglinksplit6.testcase \ - modloglinksplit7.testcase \ - modloglinksplit8.testcase \ - modloglinksplit9.testcase \ - moveisonetnode1.testcase \ - moveisonetnode2.testcase \ - moveisonetnode3.testcase \ - moveisonetnode4.testcase \ - moveisonetnode5.testcase \ - moveisonetnode6.testcase \ - moveisonetnode7.testcase \ - moveisonetnode8.testcase \ - moveisonetnode9.testcase \ - moveisonode1.testcase \ - moveisonode2.testcase \ - moveisonode3.testcase \ - moveisonode4.testcase \ - moveisonode5.testcase \ - moveisonode6.testcase \ - moveisonode7.testcase \ - moveisonode8.testcase \ - moveisonode9.testcase \ - moveisonode10.testcase \ - moveisonode11.testcase \ - moveisonode12.testcase \ - moveisonode13.testcase \ - moveisonode14.testcase \ - moveisonode15.testcase \ - moveisonode16.testcase \ - moveisonode17.testcase \ - netexception1.testcase \ - netexception2.testcase \ - newedgeheal1.testcase \ - newedgeheal2.testcase \ - newedgeheal3.testcase \ - newedgeheal4.testcase \ - newedgeheal5.testcase \ - newedgeheal6.testcase \ - newedgeheal7.testcase \ - newedgeheal8.testcase \ - newedgeheal9.testcase \ - newedgeheal10.testcase \ - newedgeheal11.testcase \ - newedgeheal12.testcase \ - newedgeheal13.testcase \ - newedgessplit1.testcase \ - newedgessplit2.testcase \ - newedgessplit3.testcase \ - newedgessplit4.testcase \ - newedgessplit5.testcase \ - newedgessplit6.testcase \ - newedgessplit7.testcase \ - newedgessplit8.testcase \ - newedgessplit9.testcase \ - newedgessplit10.testcase \ - newedgessplit11.testcase \ - newedgessplit12.testcase \ - newedgessplit13.testcase \ - newedgessplit14.testcase \ - newedgessplit15.testcase \ - newedgessplit16.testcase \ - newgeolinksplit1.testcase \ - newgeolinksplit2.testcase \ - newgeolinksplit3.testcase \ - newgeolinksplit4.testcase \ - newgeolinksplit5.testcase \ - newgeolinksplit6.testcase \ - newgeolinksplit7.testcase \ - newgeolinksplit8.testcase \ - newgeolinksplit9.testcase \ - newlinkheal1.testcase \ - newlinkheal2.testcase \ - newlinkheal3.testcase \ - newlinkheal4.testcase \ - newlinkheal5.testcase \ - newlinkheal6.testcase \ - newlinkheal7.testcase \ - newlinkheal8.testcase \ - newlinkheal9.testcase \ - newlinkheal10.testcase \ - newlinkheal11.testcase \ - newlinkheal12.testcase \ - newlinkheal13.testcase \ - newloglinksplit1.testcase \ - newloglinksplit2.testcase \ - newloglinksplit3.testcase \ - newloglinksplit4.testcase \ - newloglinksplit5.testcase \ - newloglinksplit6.testcase \ - newloglinksplit7.testcase \ - newloglinksplit8.testcase \ - newloglinksplit9.testcase \ - pointsnapseed1.testcase \ - pointsnapseed2.testcase \ - pointsnapseed3.testcase \ - pointsnapseed4.testcase \ - pointsnapseed5.testcase \ - pointsnapseed6.testcase \ - pointsnapseed7.testcase \ - pointsnapseed8.testcase \ - pointsnapseed9.testcase \ - pointsnapseed10.testcase \ - pointsnapseed11.testcase \ - pointsnapseed12.testcase \ - pointsnapseed13.testcase \ - pointsnapseed14.testcase \ - pointsnapseed15.testcase \ - pointsnapseed16.testcase \ - pointsnapseed17.testcase \ - remedgemodface1.testcase \ - remedgemodface2.testcase \ - remedgemodface3.testcase \ - remedgemodface4.testcase \ - remedgemodface5.testcase \ - remedgemodface6.testcase \ - remedgemodface7.testcase \ - remedgemodface8.testcase \ - remedgemodface9.testcase \ - remedgenewface1.testcase \ - remedgenewface2.testcase \ - remedgenewface3.testcase \ - remedgenewface4.testcase \ - remedgenewface5.testcase \ - remedgenewface6.testcase \ - remedgenewface7.testcase \ - remedgenewface8.testcase \ - remedgenewface9.testcase \ - remisoedge1.testcase \ - remisoedge2.testcase \ - remisoedge3.testcase \ - remisoedge4.testcase \ - remisoedge5.testcase \ - remisoedge6.testcase \ - remisoedge7.testcase \ - remisoedge8.testcase \ - remisoedge9.testcase \ - remisonode1.testcase \ - remisonode2.testcase \ - remisonode3.testcase \ - remisonode4.testcase \ - remisonode5.testcase \ - remisonode6.testcase \ - remisonode7.testcase \ - remisonode8.testcase \ - remisonode9.testcase \ - remisonetnode1.testcase \ - remisonetnode2.testcase \ - remisonetnode3.testcase \ - remisonetnode4.testcase \ - remisonetnode5.testcase \ - remisonetnode6.testcase \ - remisonetnode7.testcase \ - remisonetnode8.testcase \ - remisonetnode9.testcase \ - remlink1.testcase \ - remlink2.testcase \ - remlink3.testcase \ - remlink4.testcase \ - remlink5.testcase \ - remlink6.testcase \ - remlink7.testcase \ - remlink8.testcase \ - remlink9.testcase \ - removetopolayer1.testcase \ - removetopolayer2.testcase \ - removetopolayer3.testcase \ - removetopolayer4.testcase \ - removetopolayer5.testcase \ - removetopolayer6.testcase \ - removetopolayer7.testcase \ - removetopolayer8.testcase \ - removetopolayer9.testcase \ - spatnetfromtgeo1.testcase \ - spatnetfromtgeo2.testcase \ - spatnetfromtgeo3.testcase \ - spatnetfromtgeo4.testcase \ - spatnetfromtgeo5.testcase \ - spatnetfromtgeo6.testcase \ - spatnetfromtgeo7.testcase \ - spatnetfromtgeo8.testcase \ - spatnetfromtgeo9.testcase \ - spatnetfromgeom1.testcase \ - spatnetfromgeom2.testcase \ - spatnetfromgeom3.testcase \ - spatnetfromgeom4.testcase \ - spatnetfromgeom5.testcase \ - spatnetfromgeom6.testcase \ - spatnetfromgeom7.testcase \ - spatnetfromgeom8.testcase \ - spatnetfromgeom9.testcase \ - spatnetfromgeom10.testcase \ - topoexception1.testcase \ - topoexception2.testcase \ - topogeoaddpoint1.testcase \ - topogeoaddpoint2.testcase \ - topogeoaddpoint3.testcase \ - topogeoaddpoint4.testcase \ - topogeoaddpoint5.testcase \ - topogeoaddpoint6.testcase \ - topogeoaddpoint7.testcase \ - topogeoaddpoint8.testcase \ - topogeoaddpoint9.testcase \ - topogeoaddpoint10.testcase \ - topogeoaddpoint11.testcase \ - topogeoaddpoint12.testcase \ - topogeoaddpoint13.testcase \ - topogeoaddpoint14.testcase \ - topogeoaddpoint15.testcase \ - topogeoaddpoint16.testcase \ - topogeoaddpoint17.testcase \ - topogeoaddline1.testcase \ - topogeoaddline2.testcase \ - topogeoaddline3.testcase \ - topogeoaddline4.testcase \ - topogeoaddline5.testcase \ - topogeoaddline6.testcase \ - topogeoaddline7.testcase \ - topogeoaddline8.testcase \ - topogeoaddline9.testcase \ - topogeoaddline10.testcase \ - topogeoaddline11.testcase \ - topogeoaddline12.testcase \ - topogeoaddline13.testcase \ - topogeoaddline14.testcase \ - topogeoaddline15.testcase \ - topogeoaddline16.testcase \ - topogeoaddline17.testcase \ - topogeoclone1.testcase \ - topogeoclone2.testcase \ - topogeoclone3.testcase \ - topogeoclone4.testcase \ - topogeoclone5.testcase \ - topogeoclone6.testcase \ - topogeoclone7.testcase \ - topogeoclone8.testcase \ - topogeoclone9.testcase \ - topogeoclone10.testcase \ - topogeoclone11.testcase \ - topogeoclone12.testcase \ - topogeofromext1.testcase \ - topogeofromext2.testcase \ - topogeofromext3.testcase \ - topogeofromext4.testcase \ - topogeofromext5.testcase \ - topogeofromext6.testcase \ - topogeofromext7.testcase \ - topogeofromext8.testcase \ - topogeofromext9.testcase \ - topogeofromext10.testcase \ - topogeofromext11.testcase \ - topogeofromext12.testcase \ - topogeofromext13.testcase \ - topogeofromext14.testcase \ - topogeofromext15.testcase \ - topogeofromext16.testcase \ - topogeofromext17.testcase \ - topogeofromext18.testcase \ - topogeofromext19.testcase \ - topogeofromext20.testcase \ - topogeofromext21.testcase \ - topogeofromext22.testcase \ - topogeofromext23.testcase \ - topogeofromext24.testcase \ - topogeofromext25.testcase \ - topogeofromext26.testcase \ - topogeofromext27.testcase \ - topogeofromext28.testcase \ - topogeofromext29.testcase \ - topogeofromext30.testcase \ - topogeofromext31.testcase \ - topogeofromext32.testcase \ - topogeofromext33.testcase \ - topogeofromext34.testcase \ - topogeofromext35.testcase \ - topogeofromext36.testcase \ - topogeofromext37.testcase \ - topogeofromext38.testcase \ - topogeofromext39.testcase \ - topogeofromtable1.testcase \ - topogeofromtable2.testcase \ - topogeofromtable3.testcase \ - topogeofromtable4.testcase \ - topogeofromtable5.testcase \ - topogeofromtable6.testcase \ - topogeofromtable7.testcase \ - topogeofromtable8.testcase \ - topogeofromtable9.testcase \ - topogeofromtable10.testcase \ - topogeofromtable11.testcase \ - topogeofromtable12.testcase \ - topogeofromtable13.testcase \ - topogeofromtable14.testcase \ - topogeofromtable15.testcase \ - topogeofromtable16.testcase \ - topogeofromtable17.testcase \ - topogeofromtable18.testcase \ - topogeofromtable19.testcase \ - topogeofromtable20.testcase \ - topogeofromtable21.testcase \ - topogeofromtable22.testcase \ - topogeofromtable23.testcase \ - topogeofromtable24.testcase \ - topogeofromtable25.testcase \ - topogeofromtable26.testcase \ - topogeofromtable27.testcase \ - topogeofromtable28.testcase \ - topogeofromtable29.testcase \ - topogeofromtable30.testcase \ - topogeosplitline1.testcase \ - topogeosplitline2.testcase \ - topogeosplitline3.testcase \ - topogeosplitline4.testcase \ - topogeosplitline5.testcase \ - topogeosplitline6.testcase \ - topogeosplitline7.testcase \ - topogeosplitline8.testcase \ - topogeosplitline9.testcase \ - topogeosplitline10.testcase \ - topogeosplitline11.testcase \ - topogeosplitline12.testcase \ - topogeosplitline13.testcase \ - topogeosplitline14.testcase \ - topogeosplitline15.testcase \ - topogeosplitline16.testcase \ - topogeoremovesmall1.testcase \ - topogeoremovesmall2.testcase \ - topogeoremovesmall3.testcase \ - topogeoremovesmall4.testcase \ - topogeoremovesmall5.testcase \ - topogeoremovesmall6.testcase \ - topogeoremovesmall7.testcase \ - topogeoremovesmall8.testcase \ - topogeoremovesmall9.testcase \ - topogeoremoveedges1.testcase \ - topogeoremoveedges2.testcase \ - topogeoremoveedges3.testcase \ - topogeoremoveedges4.testcase \ - topogeoremoveedges5.testcase \ - topogeoremovenodes1.testcase \ - topogeoremovenodes2.testcase \ - topogeoremovenodes3.testcase \ - topogeoremovenodes4.testcase \ - topogeoremovenodes5.testcase \ - topogeototable1.testcase \ - topogeototable2.testcase \ - topogeototable3.testcase \ - topogeototable4.testcase \ - topogeototable5.testcase \ - topogeototable6.testcase \ - topogeototable7.testcase \ - topogeototable8.testcase \ - topogeototable9.testcase \ - topogeototable10.testcase \ - topogeototable11.testcase \ - topogeototable12.testcase \ - topogeototable13.testcase \ - topogeototable14.testcase \ - topogeototable15.testcase \ - topogeototable16.testcase \ - topogeototable17.testcase \ - topogeototable18.testcase \ - topogeototable19.testcase \ - topogeototable20.testcase \ - topogeototable21.testcase \ - topogeototable22.testcase \ - topogeototable23.testcase \ - topogeototable24.testcase \ - topogeototable25.testcase \ - topogeototable26.testcase \ - topogeototablegen1.testcase \ - topogeototablegen2.testcase \ - topogeototablegen3.testcase \ - topogeototablegen4.testcase \ - topogeototablegen5.testcase \ - topogeototablegen6.testcase \ - topogeototablegen7.testcase \ - topogeototablegen8.testcase \ - topogeototablegen9.testcase \ - topogeototablegen10.testcase \ - topogeototablegen11.testcase \ - topogeototablegen12.testcase \ - topogeototablegen13.testcase \ - topogeototablegen14.testcase \ - topogeototablegen15.testcase \ - topogeototablegen16.testcase \ - topogeototablegen17.testcase \ - topogeototablegen18.testcase \ - topogeototablegen19.testcase \ - topogeototablegen20.testcase \ - topogeototablegen21.testcase \ - topogeototablegen22.testcase \ - topogeototablegen23.testcase \ - topogeototablegen24.testcase \ - topogeototablegen25.testcase \ - topogeototablegen26.testcase \ - topogeototablegen27.testcase \ - topogeototablegen28.testcase \ - topogeototablegen29.testcase \ - topogeototablegen30.testcase \ - topogeototablegen31.testcase \ - topogeoupdateseeds1.testcase \ - topogeoupdateseeds2.testcase \ - topogeoupdateseeds3.testcase \ - topogeoupdateseeds4.testcase \ - topogeoupdateseeds5.testcase \ - topogeoupdateseeds6.testcase \ - topogeoupdateseeds7.testcase \ - topogeoupdateseeds8.testcase \ - topogeoupdateseeds9.testcase \ - topogeoupdateseeds10.testcase \ - toponetclone1.testcase \ - toponetclone2.testcase \ - toponetclone3.testcase \ - toponetclone4.testcase \ - toponetclone5.testcase \ - toponetclone6.testcase \ - toponetclone7.testcase \ - toponetclone8.testcase \ - toponetclone9.testcase \ - toponetclone10.testcase \ - toponetclone11.testcase \ - toponetclone12.testcase \ - toponetfromtable1.testcase \ - toponetfromtable2.testcase \ - toponetfromtable3.testcase \ - toponetfromtable4.testcase \ - toponetfromtable5.testcase \ - toponetfromtable6.testcase \ - toponetfromtable7.testcase \ - toponetfromtable8.testcase \ - toponetfromtable9.testcase \ - toponetfromtable10.testcase \ - toponetfromtable11.testcase \ - toponetfromtable12.testcase \ - toponetfromtable13.testcase \ - toponetfromtable14.testcase \ - toponetfromtable15.testcase \ - toponetfromtable16.testcase \ - toponetfromtable17.testcase \ - toponettotable1.testcase \ - toponettotable2.testcase \ - toponettotable3.testcase \ - toponettotable4.testcase \ - toponettotable5.testcase \ - toponettotable6.testcase \ - toponettotable7.testcase \ - toponettotable8.testcase \ - toponettotable9.testcase \ - toponettotable10.testcase \ - toponettotable11.testcase \ - toponettotable12.testcase \ - toponettotable13.testcase \ - toponettotable14.testcase \ - toponettotable15.testcase \ - toponettotable16.testcase \ - toponettotable17.testcase \ - toponettotable18.testcase \ - toponettotable19.testcase \ - toponettotable20.testcase \ - toponettotable21.testcase \ - toponettotable22.testcase \ - toponettotable23.testcase \ - toponettotable24.testcase \ - toponettotable25.testcase \ - toponettotable26.testcase \ - toponettotablegen1.testcase \ - toponettotablegen2.testcase \ - toponettotablegen3.testcase \ - toponettotablegen4.testcase \ - toponettotablegen5.testcase \ - toponettotablegen6.testcase \ - toponettotablegen7.testcase \ - toponettotablegen8.testcase \ - toponettotablegen9.testcase \ - toponettotablegen10.testcase \ - toponettotablegen11.testcase \ - toponettotablegen12.testcase \ - toponettotablegen13.testcase \ - toponettotablegen14.testcase \ - toponettotablegen15.testcase \ - toponettotablegen16.testcase \ - toponettotablegen17.testcase \ - toponettotablegen18.testcase \ - toponettotablegen19.testcase \ - toponettotablegen20.testcase \ - toponettotablegen21.testcase \ - toponettotablegen22.testcase \ - toponettotablegen23.testcase \ - toponettotablegen24.testcase \ - toponettotablegen25.testcase \ - toponettotablegen26.testcase \ - toponettotablegen27.testcase \ - toponettotablegen28.testcase \ - toponettotablegen29.testcase \ - toponettotablegen30.testcase \ - toponettotablegen31.testcase \ - validatetopogeo1.testcase \ - validatetopogeo2.testcase \ - validatetopogeo3.testcase \ - validatetopogeo4.testcase \ - validatetopogeo5.testcase \ - validlogicalnet1.testcase \ - validlogicalnet2.testcase \ - validlogicalnet3.testcase \ - validlogicalnet4.testcase \ - validlogicalnet5.testcase \ - validspatialnet1.testcase \ - validspatialnet2.testcase \ - validspatialnet3.testcase \ - validspatialnet4.testcase \ - validspatialnet5.testcase - DELETED test/sql_stmt_lwgeom_22_tests/Makefile.in Index: test/sql_stmt_lwgeom_22_tests/Makefile.in ================================================================== --- test/sql_stmt_lwgeom_22_tests/Makefile.in +++ test/sql_stmt_lwgeom_22_tests/Makefile.in @@ -1,1466 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_rttopo_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = addedgemodface1.testcase \ - addedgemodface2.testcase \ - addedgemodface3.testcase \ - addedgemodface4.testcase \ - addedgemodface5.testcase \ - addedgemodface6.testcase \ - addedgemodface7.testcase \ - addedgemodface8.testcase \ - addedgemodface9.testcase \ - addedgemodface10.testcase \ - addedgemodface11.testcase \ - addedgemodface12.testcase \ - addedgemodface13.testcase \ - addedgemodface14.testcase \ - addedgemodface15.testcase \ - addedgemodface16.testcase \ - addedgemodface17.testcase \ - addedgemodface18.testcase \ - addedgemodface19.testcase \ - addedgemodface20.testcase \ - addedgenewfaces1.testcase \ - addedgenewfaces2.testcase \ - addedgenewfaces3.testcase \ - addedgenewfaces4.testcase \ - addedgenewfaces5.testcase \ - addedgenewfaces6.testcase \ - addedgenewfaces7.testcase \ - addedgenewfaces8.testcase \ - addedgenewfaces9.testcase \ - addedgenewfaces10.testcase \ - addedgenewfaces11.testcase \ - addedgenewfaces12.testcase \ - addedgenewfaces13.testcase \ - addedgenewfaces14.testcase \ - addedgenewfaces15.testcase \ - addedgenewfaces16.testcase \ - addedgenewfaces17.testcase \ - addedgenewfaces18.testcase \ - addedgenewfaces19.testcase \ - addedgenewfaces20.testcase \ - addisoedge1.testcase \ - addisoedge2.testcase \ - addisoedge3.testcase \ - addisoedge4.testcase \ - addisoedge5.testcase \ - addisoedge6.testcase \ - addisoedge7.testcase \ - addisoedge8.testcase \ - addisoedge9.testcase \ - addisoedge10.testcase \ - addisoedge11.testcase \ - addisoedge12.testcase \ - addisoedge13.testcase \ - addisoedge14.testcase \ - addisoedge15.testcase \ - addisoedge16.testcase \ - addisoedge17.testcase \ - addisoedge18.testcase \ - addisoedge19.testcase \ - addisoedge20.testcase \ - addisonetnode1.testcase \ - addisonetnode2.testcase \ - addisonetnode3.testcase \ - addisonetnode4.testcase \ - addisonetnode5.testcase \ - addisonode1.testcase \ - addisonode2.testcase \ - addisonode3.testcase \ - addisonode4.testcase \ - addisonode5.testcase \ - addisonode6.testcase \ - addisonode7.testcase \ - addisonode8.testcase \ - addisonode9.testcase \ - addisonode10.testcase \ - addisonode11.testcase \ - addisonode12.testcase \ - addisonode13.testcase \ - addisonode14.testcase \ - addisonode15.testcase \ - addisonode16.testcase \ - addisonode17.testcase \ - addisonode1.testcase \ - addisonode2.testcase \ - addisonode3.testcase \ - addisonode4.testcase \ - addisonode5.testcase \ - addisonode6.testcase \ - addisonode7.testcase \ - addisonode8.testcase \ - addisonode9.testcase \ - addisonode10.testcase \ - addisonode11.testcase \ - addisonode12.testcase \ - addisonode13.testcase \ - addisonode14.testcase \ - addisonode15.testcase \ - addisonode16.testcase \ - addisonode17.testcase \ - addlink1.testcase \ - addlink2.testcase \ - addlink3.testcase \ - addlink4.testcase \ - addlink5.testcase \ - addlink6.testcase \ - addlink7.testcase \ - addlink8.testcase \ - addlink9.testcase \ - addlink10.testcase \ - addlink11.testcase \ - addlink12.testcase \ - addlink13.testcase \ - changeedgegeom1.testcase \ - changeedgegeom2.testcase \ - changeedgegeom3.testcase \ - changeedgegeom4.testcase \ - changeedgegeom5.testcase \ - changeedgegeom6.testcase \ - changeedgegeom7.testcase \ - changeedgegeom8.testcase \ - changeedgegeom9.testcase \ - changeedgegeom10.testcase \ - changeedgegeom11.testcase \ - changeedgegeom12.testcase \ - changeedgegeom13.testcase \ - changeedgegeom14.testcase \ - changeedgegeom15.testcase \ - changeedgegeom16.testcase \ - changeedgegeom17.testcase \ - changelinkgeom1.testcase \ - changelinkgeom2.testcase \ - changelinkgeom3.testcase \ - changelinkgeom4.testcase \ - changelinkgeom5.testcase \ - changelinkgeom6.testcase \ - changelinkgeom7.testcase \ - changelinkgeom8.testcase \ - createtopogeo1.testcase \ - createtopogeo2.testcase \ - createtopogeo3.testcase \ - createtopogeo4.testcase \ - createtopogeo5.testcase \ - createtopogeo6.testcase \ - createtopogeo7.testcase \ - createtopogeo8.testcase \ - createtopogeo9.testcase \ - createtopogeo10.testcase \ - createtopolayer1.testcase \ - createtopolayer2.testcase \ - createtopolayer3.testcase \ - createtopolayer4.testcase \ - createtopolayer5.testcase \ - createtopolayer6.testcase \ - createtopolayer7.testcase \ - createtopolayer8.testcase \ - createtopolayer9.testcase \ - createtopolayer10.testcase \ - createtopolayer11.testcase \ - createtopolayer12.testcase \ - createtopolayer13.testcase \ - createtopolayer14.testcase \ - createtopolayer15.testcase \ - createtopolayer16.testcase \ - createtopolayer17.testcase \ - createtopolayer18.testcase \ - createtopolayer19.testcase \ - createtopolayer20.testcase \ - createtopolayer21.testcase \ - createtopolayer22.testcase \ - createtopolayer23.testcase \ - createtopolayer24.testcase \ - createtopolayer25.testcase \ - createtopolayer26.testcase \ - createtopology1.testcase \ - createtopology2.testcase \ - createtopology3.testcase \ - createtopology4.testcase \ - createtopology5.testcase \ - createtopology6.testcase \ - createtopology7.testcase \ - createtopology8.testcase \ - createtopology9.testcase \ - createtopology10.testcase \ - createtopology11.testcase \ - createtopology12.testcase \ - createtopology13.testcase \ - createtopology14.testcase \ - createtopology15.testcase \ - createtopology16.testcase \ - createtopology17.testcase \ - createtopology18.testcase \ - createtopology19.testcase \ - createtopology20.testcase \ - createnetwork1.testcase \ - createnetwork2.testcase \ - createnetwork3.testcase \ - createnetwork4.testcase \ - createnetwork5.testcase \ - createnetwork6.testcase \ - createnetwork7.testcase \ - createnetwork8.testcase \ - createnetwork9.testcase \ - createnetwork10.testcase \ - createnetwork11.testcase \ - createnetwork12.testcase \ - createnetwork13.testcase \ - createnetwork14.testcase \ - createnetwork15.testcase \ - createnetwork16.testcase \ - createnetwork17.testcase \ - createnetwork18.testcase \ - createnetwork19.testcase \ - createnetwork20.testcase \ - createnetwork21.testcase \ - createnetwork22.testcase \ - createnetwork23.testcase \ - createnetwork24.testcase \ - createnetwork25.testcase \ - droptopology1.testcase \ - droptopology2.testcase \ - droptopology3.testcase \ - droptopology4.testcase \ - droptopology5.testcase \ - dropnetwork1.testcase \ - dropnetwork2.testcase \ - dropnetwork3.testcase \ - dropnetwork4.testcase \ - dropnetwork5.testcase \ - exporttopolayer1.testcase \ - exporttopolayer2.testcase \ - exporttopolayer3.testcase \ - exporttopolayer4.testcase \ - exporttopolayer5.testcase \ - exporttopolayer6.testcase \ - exporttopolayer7.testcase \ - exporttopolayer8.testcase \ - exporttopolayer9.testcase \ - exporttopolayer10.testcase \ - exporttopolayer11.testcase \ - exporttopolayer12.testcase \ - exporttopolayer13.testcase \ - exporttopolayer14.testcase \ - exporttopolayer15.testcase \ - exporttopolayer16.testcase \ - exporttopolayer17.testcase \ - exporttopolayer18.testcase \ - exporttopolayer19.testcase \ - exporttopolayer20.testcase \ - exporttopolayer21.testcase \ - exporttopolayer22.testcase \ - exporttopolayer23.testcase \ - featuretopolayer1.testcase \ - featuretopolayer2.testcase \ - featuretopolayer3.testcase \ - featuretopolayer4.testcase \ - featuretopolayer5.testcase \ - featuretopolayer6.testcase \ - featuretopolayer7.testcase \ - featuretopolayer8.testcase \ - featuretopolayer9.testcase \ - featuretopolayer10.testcase \ - featuretopolayer11.testcase \ - featuretopolayer12.testcase \ - featuretopolayer13.testcase \ - featuretopolayer14.testcase \ - featuretopolayer15.testcase \ - featuretopolayer16.testcase \ - featuretopolayer17.testcase \ - getedgeseed1.testcase \ - getedgeseed2.testcase \ - getedgeseed3.testcase \ - getedgeseed4.testcase \ - getedgeseed5.testcase \ - getedgeseed6.testcase \ - getedgeseed7.testcase \ - getedgeseed8.testcase \ - getedgeseed9.testcase \ - getlinkseed1.testcase \ - getlinkseed2.testcase \ - getlinkseed3.testcase \ - getlinkseed4.testcase \ - getlinkseed5.testcase \ - getlinkseed6.testcase \ - getlinkseed7.testcase \ - getlinkseed8.testcase \ - getlinkseed9.testcase \ - getfaceedges1.testcase \ - getfaceedges2.testcase \ - getfaceedges3.testcase \ - getfaceedges4.testcase \ - getfaceedges5.testcase \ - getfaceedges6.testcase \ - getfaceedges7.testcase \ - getfaceedges8.testcase \ - getfaceedges9.testcase \ - getfacegeometry1.testcase \ - getfacegeometry2.testcase \ - getfacegeometry3.testcase \ - getfacegeometry4.testcase \ - getfacegeometry5.testcase \ - getfacegeometry6.testcase \ - getfacegeometry7.testcase \ - getfacegeometry8.testcase \ - getfacegeometry9.testcase \ - getedgebypoint1.testcase \ - getedgebypoint2.testcase \ - getedgebypoint3.testcase \ - getedgebypoint4.testcase \ - getedgebypoint5.testcase \ - getedgebypoint6.testcase \ - getedgebypoint7.testcase \ - getedgebypoint8.testcase \ - getedgebypoint9.testcase \ - getedgebypoint10.testcase \ - getedgebypoint11.testcase \ - getedgebypoint12.testcase \ - getedgebypoint13.testcase \ - getedgebypoint14.testcase \ - getedgebypoint15.testcase \ - getedgebypoint16.testcase \ - getedgebypoint17.testcase \ - getfacegeometry1.testcase \ - getfacegeometry2.testcase \ - getfacegeometry3.testcase \ - getfacegeometry4.testcase \ - getfacegeometry5.testcase \ - getfacegeometry6.testcase \ - getfacegeometry7.testcase \ - getfacegeometry8.testcase \ - getfacegeometry9.testcase \ - getfacebypoint1.testcase \ - getfacebypoint2.testcase \ - getfacebypoint3.testcase \ - getfacebypoint4.testcase \ - getfacebypoint5.testcase \ - getfacebypoint6.testcase \ - getfacebypoint7.testcase \ - getfacebypoint8.testcase \ - getfacebypoint9.testcase \ - getfacebypoint10.testcase \ - getfacebypoint11.testcase \ - getfacebypoint12.testcase \ - getfacebypoint13.testcase \ - getfacebypoint14.testcase \ - getfacebypoint15.testcase \ - getfacebypoint16.testcase \ - getfacebypoint17.testcase \ - getfaceseed1.testcase \ - getfaceseed2.testcase \ - getfaceseed3.testcase \ - getfaceseed4.testcase \ - getfaceseed5.testcase \ - getfaceseed6.testcase \ - getfaceseed7.testcase \ - getfaceseed8.testcase \ - getfaceseed9.testcase \ - getlinkbypoint1.testcase \ - getlinkbypoint2.testcase \ - getlinkbypoint3.testcase \ - getlinkbypoint4.testcase \ - getlinkbypoint5.testcase \ - getlinkbypoint6.testcase \ - getlinkbypoint7.testcase \ - getlinkbypoint8.testcase \ - getlinkbypoint9.testcase \ - getlinkbypoint10.testcase \ - getlinkbypoint11.testcase \ - getlinkbypoint12.testcase \ - getlinkbypoint13.testcase \ - getlinkbypoint14.testcase \ - getlinkbypoint15.testcase \ - getlinkbypoint16.testcase \ - getlinkbypoint17.testcase \ - getnetnodebypoint1.testcase \ - getnetnodebypoint2.testcase \ - getnetnodebypoint3.testcase \ - getnetnodebypoint4.testcase \ - getnetnodebypoint5.testcase \ - getnetnodebypoint6.testcase \ - getnetnodebypoint7.testcase \ - getnetnodebypoint8.testcase \ - getnetnodebypoint9.testcase \ - getnetnodebypoint10.testcase \ - getnetnodebypoint11.testcase \ - getnetnodebypoint12.testcase \ - getnetnodebypoint13.testcase \ - getnetnodebypoint14.testcase \ - getnetnodebypoint15.testcase \ - getnetnodebypoint16.testcase \ - getnetnodebypoint17.testcase \ - getnodebypoint1.testcase \ - getnodebypoint2.testcase \ - getnodebypoint3.testcase \ - getnodebypoint4.testcase \ - getnodebypoint5.testcase \ - getnodebypoint6.testcase \ - getnodebypoint7.testcase \ - getnodebypoint8.testcase \ - getnodebypoint9.testcase \ - getnodebypoint10.testcase \ - getnodebypoint11.testcase \ - getnodebypoint12.testcase \ - getnodebypoint13.testcase \ - getnodebypoint14.testcase \ - getnodebypoint15.testcase \ - getnodebypoint16.testcase \ - getnodebypoint17.testcase \ - inittopolayer1.testcase \ - inittopolayer2.testcase \ - inittopolayer3.testcase \ - inittopolayer4.testcase \ - inittopolayer5.testcase \ - inittopolayer6.testcase \ - inittopolayer7.testcase \ - inittopolayer8.testcase \ - inittopolayer9.testcase \ - inittopolayer10.testcase \ - inittopolayer11.testcase \ - inittopolayer12.testcase \ - inittopolayer13.testcase \ - inittopolayer14.testcase \ - inittopolayer15.testcase \ - inittopolayer16.testcase \ - inittopolayer17.testcase \ - linesnapseed1.testcase \ - linesnapseed2.testcase \ - linesnapseed3.testcase \ - linesnapseed4.testcase \ - linesnapseed5.testcase \ - linesnapseed6.testcase \ - linesnapseed7.testcase \ - linesnapseed8.testcase \ - linesnapseed9.testcase \ - linesnapseed10.testcase \ - linesnapseed11.testcase \ - linesnapseed12.testcase \ - linesnapseed13.testcase \ - linesnapseed14.testcase \ - linesnapseed15.testcase \ - linesnapseed16.testcase \ - linesnapseed17.testcase \ - loginetfromtgeo1.testcase \ - loginetfromtgeo2.testcase \ - loginetfromtgeo3.testcase \ - loginetfromtgeo4.testcase \ - loginetfromtgeo5.testcase \ - loginetfromtgeo6.testcase \ - loginetfromtgeo7.testcase \ - loginetfromtgeo8.testcase \ - loginetfromtgeo9.testcase \ - modedgeheal1.testcase \ - modedgeheal2.testcase \ - modedgeheal3.testcase \ - modedgeheal4.testcase \ - modedgeheal5.testcase \ - modedgeheal6.testcase \ - modedgeheal7.testcase \ - modedgeheal8.testcase \ - modedgeheal9.testcase \ - modedgeheal10.testcase \ - modedgeheal11.testcase \ - modedgeheal12.testcase \ - modedgeheal13.testcase \ - modedgesplit1.testcase \ - modedgesplit2.testcase \ - modedgesplit3.testcase \ - modedgesplit4.testcase \ - modedgesplit5.testcase \ - modedgesplit6.testcase \ - modedgesplit7.testcase \ - modedgesplit8.testcase \ - modedgesplit9.testcase \ - modedgesplit10.testcase \ - modedgesplit11.testcase \ - modedgesplit12.testcase \ - modedgesplit13.testcase \ - modedgesplit14.testcase \ - modedgesplit15.testcase \ - modedgesplit16.testcase \ - modgeolinksplit1.testcase \ - modgeolinksplit2.testcase \ - modgeolinksplit3.testcase \ - modgeolinksplit4.testcase \ - modgeolinksplit5.testcase \ - modgeolinksplit6.testcase \ - modgeolinksplit7.testcase \ - modgeolinksplit8.testcase \ - modgeolinksplit9.testcase \ - modlinkheal1.testcase \ - modlinkheal2.testcase \ - modlinkheal3.testcase \ - modlinkheal4.testcase \ - modlinkheal5.testcase \ - modlinkheal6.testcase \ - modlinkheal7.testcase \ - modlinkheal8.testcase \ - modlinkheal9.testcase \ - modlinkheal10.testcase \ - modlinkheal11.testcase \ - modlinkheal12.testcase \ - modlinkheal13.testcase \ - modloglinksplit1.testcase \ - modloglinksplit2.testcase \ - modloglinksplit3.testcase \ - modloglinksplit4.testcase \ - modloglinksplit5.testcase \ - modloglinksplit6.testcase \ - modloglinksplit7.testcase \ - modloglinksplit8.testcase \ - modloglinksplit9.testcase \ - moveisonetnode1.testcase \ - moveisonetnode2.testcase \ - moveisonetnode3.testcase \ - moveisonetnode4.testcase \ - moveisonetnode5.testcase \ - moveisonetnode6.testcase \ - moveisonetnode7.testcase \ - moveisonetnode8.testcase \ - moveisonetnode9.testcase \ - moveisonode1.testcase \ - moveisonode2.testcase \ - moveisonode3.testcase \ - moveisonode4.testcase \ - moveisonode5.testcase \ - moveisonode6.testcase \ - moveisonode7.testcase \ - moveisonode8.testcase \ - moveisonode9.testcase \ - moveisonode10.testcase \ - moveisonode11.testcase \ - moveisonode12.testcase \ - moveisonode13.testcase \ - moveisonode14.testcase \ - moveisonode15.testcase \ - moveisonode16.testcase \ - moveisonode17.testcase \ - netexception1.testcase \ - netexception2.testcase \ - newedgeheal1.testcase \ - newedgeheal2.testcase \ - newedgeheal3.testcase \ - newedgeheal4.testcase \ - newedgeheal5.testcase \ - newedgeheal6.testcase \ - newedgeheal7.testcase \ - newedgeheal8.testcase \ - newedgeheal9.testcase \ - newedgeheal10.testcase \ - newedgeheal11.testcase \ - newedgeheal12.testcase \ - newedgeheal13.testcase \ - newedgessplit1.testcase \ - newedgessplit2.testcase \ - newedgessplit3.testcase \ - newedgessplit4.testcase \ - newedgessplit5.testcase \ - newedgessplit6.testcase \ - newedgessplit7.testcase \ - newedgessplit8.testcase \ - newedgessplit9.testcase \ - newedgessplit10.testcase \ - newedgessplit11.testcase \ - newedgessplit12.testcase \ - newedgessplit13.testcase \ - newedgessplit14.testcase \ - newedgessplit15.testcase \ - newedgessplit16.testcase \ - newgeolinksplit1.testcase \ - newgeolinksplit2.testcase \ - newgeolinksplit3.testcase \ - newgeolinksplit4.testcase \ - newgeolinksplit5.testcase \ - newgeolinksplit6.testcase \ - newgeolinksplit7.testcase \ - newgeolinksplit8.testcase \ - newgeolinksplit9.testcase \ - newlinkheal1.testcase \ - newlinkheal2.testcase \ - newlinkheal3.testcase \ - newlinkheal4.testcase \ - newlinkheal5.testcase \ - newlinkheal6.testcase \ - newlinkheal7.testcase \ - newlinkheal8.testcase \ - newlinkheal9.testcase \ - newlinkheal10.testcase \ - newlinkheal11.testcase \ - newlinkheal12.testcase \ - newlinkheal13.testcase \ - newloglinksplit1.testcase \ - newloglinksplit2.testcase \ - newloglinksplit3.testcase \ - newloglinksplit4.testcase \ - newloglinksplit5.testcase \ - newloglinksplit6.testcase \ - newloglinksplit7.testcase \ - newloglinksplit8.testcase \ - newloglinksplit9.testcase \ - pointsnapseed1.testcase \ - pointsnapseed2.testcase \ - pointsnapseed3.testcase \ - pointsnapseed4.testcase \ - pointsnapseed5.testcase \ - pointsnapseed6.testcase \ - pointsnapseed7.testcase \ - pointsnapseed8.testcase \ - pointsnapseed9.testcase \ - pointsnapseed10.testcase \ - pointsnapseed11.testcase \ - pointsnapseed12.testcase \ - pointsnapseed13.testcase \ - pointsnapseed14.testcase \ - pointsnapseed15.testcase \ - pointsnapseed16.testcase \ - pointsnapseed17.testcase \ - remedgemodface1.testcase \ - remedgemodface2.testcase \ - remedgemodface3.testcase \ - remedgemodface4.testcase \ - remedgemodface5.testcase \ - remedgemodface6.testcase \ - remedgemodface7.testcase \ - remedgemodface8.testcase \ - remedgemodface9.testcase \ - remedgenewface1.testcase \ - remedgenewface2.testcase \ - remedgenewface3.testcase \ - remedgenewface4.testcase \ - remedgenewface5.testcase \ - remedgenewface6.testcase \ - remedgenewface7.testcase \ - remedgenewface8.testcase \ - remedgenewface9.testcase \ - remisoedge1.testcase \ - remisoedge2.testcase \ - remisoedge3.testcase \ - remisoedge4.testcase \ - remisoedge5.testcase \ - remisoedge6.testcase \ - remisoedge7.testcase \ - remisoedge8.testcase \ - remisoedge9.testcase \ - remisonode1.testcase \ - remisonode2.testcase \ - remisonode3.testcase \ - remisonode4.testcase \ - remisonode5.testcase \ - remisonode6.testcase \ - remisonode7.testcase \ - remisonode8.testcase \ - remisonode9.testcase \ - remisonetnode1.testcase \ - remisonetnode2.testcase \ - remisonetnode3.testcase \ - remisonetnode4.testcase \ - remisonetnode5.testcase \ - remisonetnode6.testcase \ - remisonetnode7.testcase \ - remisonetnode8.testcase \ - remisonetnode9.testcase \ - remlink1.testcase \ - remlink2.testcase \ - remlink3.testcase \ - remlink4.testcase \ - remlink5.testcase \ - remlink6.testcase \ - remlink7.testcase \ - remlink8.testcase \ - remlink9.testcase \ - removetopolayer1.testcase \ - removetopolayer2.testcase \ - removetopolayer3.testcase \ - removetopolayer4.testcase \ - removetopolayer5.testcase \ - removetopolayer6.testcase \ - removetopolayer7.testcase \ - removetopolayer8.testcase \ - removetopolayer9.testcase \ - spatnetfromtgeo1.testcase \ - spatnetfromtgeo2.testcase \ - spatnetfromtgeo3.testcase \ - spatnetfromtgeo4.testcase \ - spatnetfromtgeo5.testcase \ - spatnetfromtgeo6.testcase \ - spatnetfromtgeo7.testcase \ - spatnetfromtgeo8.testcase \ - spatnetfromtgeo9.testcase \ - spatnetfromgeom1.testcase \ - spatnetfromgeom2.testcase \ - spatnetfromgeom3.testcase \ - spatnetfromgeom4.testcase \ - spatnetfromgeom5.testcase \ - spatnetfromgeom6.testcase \ - spatnetfromgeom7.testcase \ - spatnetfromgeom8.testcase \ - spatnetfromgeom9.testcase \ - spatnetfromgeom10.testcase \ - topoexception1.testcase \ - topoexception2.testcase \ - topogeoaddpoint1.testcase \ - topogeoaddpoint2.testcase \ - topogeoaddpoint3.testcase \ - topogeoaddpoint4.testcase \ - topogeoaddpoint5.testcase \ - topogeoaddpoint6.testcase \ - topogeoaddpoint7.testcase \ - topogeoaddpoint8.testcase \ - topogeoaddpoint9.testcase \ - topogeoaddpoint10.testcase \ - topogeoaddpoint11.testcase \ - topogeoaddpoint12.testcase \ - topogeoaddpoint13.testcase \ - topogeoaddpoint14.testcase \ - topogeoaddpoint15.testcase \ - topogeoaddpoint16.testcase \ - topogeoaddpoint17.testcase \ - topogeoaddline1.testcase \ - topogeoaddline2.testcase \ - topogeoaddline3.testcase \ - topogeoaddline4.testcase \ - topogeoaddline5.testcase \ - topogeoaddline6.testcase \ - topogeoaddline7.testcase \ - topogeoaddline8.testcase \ - topogeoaddline9.testcase \ - topogeoaddline10.testcase \ - topogeoaddline11.testcase \ - topogeoaddline12.testcase \ - topogeoaddline13.testcase \ - topogeoaddline14.testcase \ - topogeoaddline15.testcase \ - topogeoaddline16.testcase \ - topogeoaddline17.testcase \ - topogeoclone1.testcase \ - topogeoclone2.testcase \ - topogeoclone3.testcase \ - topogeoclone4.testcase \ - topogeoclone5.testcase \ - topogeoclone6.testcase \ - topogeoclone7.testcase \ - topogeoclone8.testcase \ - topogeoclone9.testcase \ - topogeoclone10.testcase \ - topogeoclone11.testcase \ - topogeoclone12.testcase \ - topogeofromext1.testcase \ - topogeofromext2.testcase \ - topogeofromext3.testcase \ - topogeofromext4.testcase \ - topogeofromext5.testcase \ - topogeofromext6.testcase \ - topogeofromext7.testcase \ - topogeofromext8.testcase \ - topogeofromext9.testcase \ - topogeofromext10.testcase \ - topogeofromext11.testcase \ - topogeofromext12.testcase \ - topogeofromext13.testcase \ - topogeofromext14.testcase \ - topogeofromext15.testcase \ - topogeofromext16.testcase \ - topogeofromext17.testcase \ - topogeofromext18.testcase \ - topogeofromext19.testcase \ - topogeofromext20.testcase \ - topogeofromext21.testcase \ - topogeofromext22.testcase \ - topogeofromext23.testcase \ - topogeofromext24.testcase \ - topogeofromext25.testcase \ - topogeofromext26.testcase \ - topogeofromext27.testcase \ - topogeofromext28.testcase \ - topogeofromext29.testcase \ - topogeofromext30.testcase \ - topogeofromext31.testcase \ - topogeofromext32.testcase \ - topogeofromext33.testcase \ - topogeofromext34.testcase \ - topogeofromext35.testcase \ - topogeofromext36.testcase \ - topogeofromext37.testcase \ - topogeofromext38.testcase \ - topogeofromext39.testcase \ - topogeofromtable1.testcase \ - topogeofromtable2.testcase \ - topogeofromtable3.testcase \ - topogeofromtable4.testcase \ - topogeofromtable5.testcase \ - topogeofromtable6.testcase \ - topogeofromtable7.testcase \ - topogeofromtable8.testcase \ - topogeofromtable9.testcase \ - topogeofromtable10.testcase \ - topogeofromtable11.testcase \ - topogeofromtable12.testcase \ - topogeofromtable13.testcase \ - topogeofromtable14.testcase \ - topogeofromtable15.testcase \ - topogeofromtable16.testcase \ - topogeofromtable17.testcase \ - topogeofromtable18.testcase \ - topogeofromtable19.testcase \ - topogeofromtable20.testcase \ - topogeofromtable21.testcase \ - topogeofromtable22.testcase \ - topogeofromtable23.testcase \ - topogeofromtable24.testcase \ - topogeofromtable25.testcase \ - topogeofromtable26.testcase \ - topogeofromtable27.testcase \ - topogeofromtable28.testcase \ - topogeofromtable29.testcase \ - topogeofromtable30.testcase \ - topogeosplitline1.testcase \ - topogeosplitline2.testcase \ - topogeosplitline3.testcase \ - topogeosplitline4.testcase \ - topogeosplitline5.testcase \ - topogeosplitline6.testcase \ - topogeosplitline7.testcase \ - topogeosplitline8.testcase \ - topogeosplitline9.testcase \ - topogeosplitline10.testcase \ - topogeosplitline11.testcase \ - topogeosplitline12.testcase \ - topogeosplitline13.testcase \ - topogeosplitline14.testcase \ - topogeosplitline15.testcase \ - topogeosplitline16.testcase \ - topogeoremovesmall1.testcase \ - topogeoremovesmall2.testcase \ - topogeoremovesmall3.testcase \ - topogeoremovesmall4.testcase \ - topogeoremovesmall5.testcase \ - topogeoremovesmall6.testcase \ - topogeoremovesmall7.testcase \ - topogeoremovesmall8.testcase \ - topogeoremovesmall9.testcase \ - topogeoremoveedges1.testcase \ - topogeoremoveedges2.testcase \ - topogeoremoveedges3.testcase \ - topogeoremoveedges4.testcase \ - topogeoremoveedges5.testcase \ - topogeoremovenodes1.testcase \ - topogeoremovenodes2.testcase \ - topogeoremovenodes3.testcase \ - topogeoremovenodes4.testcase \ - topogeoremovenodes5.testcase \ - topogeototable1.testcase \ - topogeototable2.testcase \ - topogeototable3.testcase \ - topogeototable4.testcase \ - topogeototable5.testcase \ - topogeototable6.testcase \ - topogeototable7.testcase \ - topogeototable8.testcase \ - topogeototable9.testcase \ - topogeototable10.testcase \ - topogeototable11.testcase \ - topogeototable12.testcase \ - topogeototable13.testcase \ - topogeototable14.testcase \ - topogeototable15.testcase \ - topogeototable16.testcase \ - topogeototable17.testcase \ - topogeototable18.testcase \ - topogeototable19.testcase \ - topogeototable20.testcase \ - topogeototable21.testcase \ - topogeototable22.testcase \ - topogeototable23.testcase \ - topogeototable24.testcase \ - topogeototable25.testcase \ - topogeototable26.testcase \ - topogeototablegen1.testcase \ - topogeototablegen2.testcase \ - topogeototablegen3.testcase \ - topogeototablegen4.testcase \ - topogeototablegen5.testcase \ - topogeototablegen6.testcase \ - topogeototablegen7.testcase \ - topogeototablegen8.testcase \ - topogeototablegen9.testcase \ - topogeototablegen10.testcase \ - topogeototablegen11.testcase \ - topogeototablegen12.testcase \ - topogeototablegen13.testcase \ - topogeototablegen14.testcase \ - topogeototablegen15.testcase \ - topogeototablegen16.testcase \ - topogeototablegen17.testcase \ - topogeototablegen18.testcase \ - topogeototablegen19.testcase \ - topogeototablegen20.testcase \ - topogeototablegen21.testcase \ - topogeototablegen22.testcase \ - topogeototablegen23.testcase \ - topogeototablegen24.testcase \ - topogeototablegen25.testcase \ - topogeototablegen26.testcase \ - topogeototablegen27.testcase \ - topogeototablegen28.testcase \ - topogeototablegen29.testcase \ - topogeototablegen30.testcase \ - topogeototablegen31.testcase \ - topogeoupdateseeds1.testcase \ - topogeoupdateseeds2.testcase \ - topogeoupdateseeds3.testcase \ - topogeoupdateseeds4.testcase \ - topogeoupdateseeds5.testcase \ - topogeoupdateseeds6.testcase \ - topogeoupdateseeds7.testcase \ - topogeoupdateseeds8.testcase \ - topogeoupdateseeds9.testcase \ - topogeoupdateseeds10.testcase \ - toponetclone1.testcase \ - toponetclone2.testcase \ - toponetclone3.testcase \ - toponetclone4.testcase \ - toponetclone5.testcase \ - toponetclone6.testcase \ - toponetclone7.testcase \ - toponetclone8.testcase \ - toponetclone9.testcase \ - toponetclone10.testcase \ - toponetclone11.testcase \ - toponetclone12.testcase \ - toponetfromtable1.testcase \ - toponetfromtable2.testcase \ - toponetfromtable3.testcase \ - toponetfromtable4.testcase \ - toponetfromtable5.testcase \ - toponetfromtable6.testcase \ - toponetfromtable7.testcase \ - toponetfromtable8.testcase \ - toponetfromtable9.testcase \ - toponetfromtable10.testcase \ - toponetfromtable11.testcase \ - toponetfromtable12.testcase \ - toponetfromtable13.testcase \ - toponetfromtable14.testcase \ - toponetfromtable15.testcase \ - toponetfromtable16.testcase \ - toponetfromtable17.testcase \ - toponettotable1.testcase \ - toponettotable2.testcase \ - toponettotable3.testcase \ - toponettotable4.testcase \ - toponettotable5.testcase \ - toponettotable6.testcase \ - toponettotable7.testcase \ - toponettotable8.testcase \ - toponettotable9.testcase \ - toponettotable10.testcase \ - toponettotable11.testcase \ - toponettotable12.testcase \ - toponettotable13.testcase \ - toponettotable14.testcase \ - toponettotable15.testcase \ - toponettotable16.testcase \ - toponettotable17.testcase \ - toponettotable18.testcase \ - toponettotable19.testcase \ - toponettotable20.testcase \ - toponettotable21.testcase \ - toponettotable22.testcase \ - toponettotable23.testcase \ - toponettotable24.testcase \ - toponettotable25.testcase \ - toponettotable26.testcase \ - toponettotablegen1.testcase \ - toponettotablegen2.testcase \ - toponettotablegen3.testcase \ - toponettotablegen4.testcase \ - toponettotablegen5.testcase \ - toponettotablegen6.testcase \ - toponettotablegen7.testcase \ - toponettotablegen8.testcase \ - toponettotablegen9.testcase \ - toponettotablegen10.testcase \ - toponettotablegen11.testcase \ - toponettotablegen12.testcase \ - toponettotablegen13.testcase \ - toponettotablegen14.testcase \ - toponettotablegen15.testcase \ - toponettotablegen16.testcase \ - toponettotablegen17.testcase \ - toponettotablegen18.testcase \ - toponettotablegen19.testcase \ - toponettotablegen20.testcase \ - toponettotablegen21.testcase \ - toponettotablegen22.testcase \ - toponettotablegen23.testcase \ - toponettotablegen24.testcase \ - toponettotablegen25.testcase \ - toponettotablegen26.testcase \ - toponettotablegen27.testcase \ - toponettotablegen28.testcase \ - toponettotablegen29.testcase \ - toponettotablegen30.testcase \ - toponettotablegen31.testcase \ - validatetopogeo1.testcase \ - validatetopogeo2.testcase \ - validatetopogeo3.testcase \ - validatetopogeo4.testcase \ - validatetopogeo5.testcase \ - validlogicalnet1.testcase \ - validlogicalnet2.testcase \ - validlogicalnet3.testcase \ - validlogicalnet4.testcase \ - validlogicalnet5.testcase \ - validspatialnet1.testcase \ - validspatialnet2.testcase \ - validspatialnet3.testcase \ - validspatialnet4.testcase \ - validspatialnet5.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_rttopo_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_rttopo_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface1.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface1.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface1.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - NULL Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface10.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface10.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface10.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - NULL Node To -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface11.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface11.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface11.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Double Node To -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface12.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface12.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface12.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Text Node To -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface13.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface13.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface13.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - BLOB Node To -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface14.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface14.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface14.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Int Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, 1); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface15.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface15.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface15.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Double Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, 1.3); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface16.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface16.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface16.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - NULL Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, NULL); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface17.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface17.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface17.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface18.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface18.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface18.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Point Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface19.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface19.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface19.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Polygon Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface2.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface2.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface2.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Int Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface20.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface20.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface20.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - MultiLinestring Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface3.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface3.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface3.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Double Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface4.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface4.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface4.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - BLOB Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface5.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface5.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface5.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Text Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface6.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface6.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface6.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - NULL Node From -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface7.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface7.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface7.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Double Node From -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface8.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface8.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface8.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Text Node From -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgemodface9.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgemodface9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgemodface9.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgemodface9.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - BLOB Node From -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces1.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces1.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces1.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - NULL Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces10.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces10.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces10.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - NULL Node To -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces11.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces11.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces11.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Double Node To -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces12.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces12.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces12.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Text Node To -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces13.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces13.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces13.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - BLOB Node To -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces14.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces14.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces14.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Int Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, 1); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces15.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces15.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces15.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Double Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, 1.3); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces16.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces16.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces16.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - NULL Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, NULL); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces17.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces17.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces17.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces18.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces18.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces18.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Point Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces19.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces19.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces19.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Polygon Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces2.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces2.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces2.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Int Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces20.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces20.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces20.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - MultiLinestring Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces3.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces3.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces3.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Double Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces4.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces4.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces4.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - BLOB Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces5.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces5.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces5.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Text Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces6.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces6.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces6.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - NULL Node From -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces7.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces7.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces7.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Double Node From -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces8.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces8.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces8.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Text Node From -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addedgenewfaces9.testcase Index: test/sql_stmt_lwgeom_22_tests/addedgenewfaces9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addedgenewfaces9.testcase +++ test/sql_stmt_lwgeom_22_tests/addedgenewfaces9.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - BLOB Node From -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge1.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge1.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge1.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - NULL Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge10.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge10.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge10.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - NULL Node To -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge11.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge11.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge11.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Double Node To -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge12.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge12.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge12.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Text Node To -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge13.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge13.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge13.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - BLOB Node To -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge14.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge14.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge14.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Int Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, 1); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge15.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge15.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge15.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Double Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, 1.3); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge16.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge16.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge16.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - NULL Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, NULL); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge17.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge17.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge17.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge18.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge18.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge18.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Point Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge19.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge19.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge19.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Polygon Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge2.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge2.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge2.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Int Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge20.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge20.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge20.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - MultiLinestring Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge3.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge3.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge3.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Double Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge4.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge4.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge4.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - BLOB Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge5.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge5.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge5.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Text Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge6.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge6.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge6.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - NULL Node From -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge7.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge7.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge7.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Double Node From -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge8.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge8.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge8.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Text Node From -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisoedge9.testcase Index: test/sql_stmt_lwgeom_22_tests/addisoedge9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisoedge9.testcase +++ test/sql_stmt_lwgeom_22_tests/addisoedge9.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - BLOB Node From -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonetnode1.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonetnode1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonetnode1.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonetnode1.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - NULL Network -:memory: #use in-memory database -SELECT ST_AddIsoNetNode(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonetnode2.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonetnode2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonetnode2.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonetnode2.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - Int Network -:memory: #use in-memory database -SELECT ST_AddIsoNetNode(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonetnode3.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonetnode3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonetnode3.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonetnode3.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - Double Network -:memory: #use in-memory database -SELECT ST_AddIsoNetNode(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonetnode4.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonetnode4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonetnode4.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonetnode4.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - BLOB Network -:memory: #use in-memory database -SELECT ST_AddIsoNetNode(zeroblob(9), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode(zeroblob(9), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonetnode5.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonetnode5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonetnode5.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonetnode5.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - NULL Point -:memory: #use in-memory database -SELECT ST_AddIsoNetNode('roads', NULL); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode('roads', NULL) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/addisonode1.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode1.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode1.testcase @@ -1,7 +0,0 @@ -AddIsoNode - NULL Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode10.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode10.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode10.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Double Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode11.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode11.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode11.testcase @@ -1,7 +0,0 @@ -AddIsoNode - NULL Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode12.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode12.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode12.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Text Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', 'face', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', 'face', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode13.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode13.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode13.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', 'face', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', 'face', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode14.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode14.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode14.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Linestring Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode15.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode15.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode15.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Polygon Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode16.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode16.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode16.testcase @@ -1,7 +0,0 @@ -AddIsoNode - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode17.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode17.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode17.testcase @@ -1,7 +0,0 @@ -AddIsoNode - NULL Face -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/addisonode2.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode2.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode2.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Int Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode3.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode3.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode3.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Double Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode4.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode4.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode4.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Blob Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode5.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode5.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode5.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Text Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/addisonode6.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode6.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode6.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Double Face -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode7.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode7.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode7.testcase @@ -1,7 +0,0 @@ -AddIsoNode - BLOB Face -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode8.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode8.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode8.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Text Face -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', 'face', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', 'face', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addisonode9.testcase Index: test/sql_stmt_lwgeom_22_tests/addisonode9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addisonode9.testcase +++ test/sql_stmt_lwgeom_22_tests/addisonode9.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Int Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink1.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink1.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink1.testcase @@ -1,7 +0,0 @@ -AddLink - NULL Network -:memory: #use in-memory database -SELECT ST_AddLink(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink10.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink10.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink10.testcase @@ -1,7 +0,0 @@ -AddLink - NULL Node To -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink11.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink11.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink11.testcase @@ -1,7 +0,0 @@ -AddLink - Double Node To -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink12.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink12.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink12.testcase @@ -1,7 +0,0 @@ -AddLink - Text Node To -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink13.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink13.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink13.testcase @@ -1,7 +0,0 @@ -AddLink - BLOB Node To -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink2.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink2.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink2.testcase @@ -1,7 +0,0 @@ -AddLink - Int Network -:memory: #use in-memory database -SELECT ST_AddLink(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink3.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink3.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink3.testcase @@ -1,7 +0,0 @@ -AddLink - Double Network -:memory: #use in-memory database -SELECT ST_AddLink(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink4.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink4.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink4.testcase @@ -1,7 +0,0 @@ -AddLink - BLOB Network -:memory: #use in-memory database -SELECT ST_AddLink(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink5.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink5.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink5.testcase @@ -1,7 +0,0 @@ -AddLink - Text Network -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/addlink6.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink6.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink6.testcase @@ -1,7 +0,0 @@ -AddLink - NULL Node From -:memory: #use in-memory database -SELECT ST_AddLink('net', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink7.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink7.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink7.testcase @@ -1,7 +0,0 @@ -AddLink - Double Node From -:memory: #use in-memory database -SELECT ST_AddLink('net', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink8.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink8.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink8.testcase @@ -1,7 +0,0 @@ -AddLink - Text Node From -:memory: #use in-memory database -SELECT ST_AddLink('net', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/addlink9.testcase Index: test/sql_stmt_lwgeom_22_tests/addlink9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/addlink9.testcase +++ test/sql_stmt_lwgeom_22_tests/addlink9.testcase @@ -1,7 +0,0 @@ -AddLink - BLOB Node From -:memory: #use in-memory database -SELECT ST_AddLink('net', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom1.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom1.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom1.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - NULL Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom(NULL, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom(NULL, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom10.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom10.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom10.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Double Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom11.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom11.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom11.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - NULL Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom12.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom12.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom12.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Text Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', 'edge', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', 'edge', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom13.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom13.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom13.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', 'edge', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', 'edge', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom14.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom14.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom14.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Point Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom15.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom15.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom15.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Polygon Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom16.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom16.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom16.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - MultiLinestring Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom17.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom17.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom17.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - NULL Edge -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom2.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom2.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom2.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Int Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom(1, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom(1, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom3.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom3.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom3.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Double Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom(1.5, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom(1.5, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom4.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom4.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom4.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Blob Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom(zeroblob(4), -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom(zeroblob(4), -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom5.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom5.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom5.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Text Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom6.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom6.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom6.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Double Edge -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', 2.0, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', 2.0, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom7.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom7.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom7.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - BLOB Edge -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom8.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom8.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom8.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Text Edge -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', 'edge', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', 'Edge', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changeedgegeom9.testcase Index: test/sql_stmt_lwgeom_22_tests/changeedgegeom9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changeedgegeom9.testcase +++ test/sql_stmt_lwgeom_22_tests/changeedgegeom9.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Int Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changelinkgeom1.testcase Index: test/sql_stmt_lwgeom_22_tests/changelinkgeom1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changelinkgeom1.testcase +++ test/sql_stmt_lwgeom_22_tests/changelinkgeom1.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - NULL Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom(NULL, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom(NULL, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/changelinkgeom2.testcase Index: test/sql_stmt_lwgeom_22_tests/changelinkgeom2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changelinkgeom2.testcase +++ test/sql_stmt_lwgeom_22_tests/changelinkgeom2.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Int Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom(1, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom(1, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changelinkgeom3.testcase Index: test/sql_stmt_lwgeom_22_tests/changelinkgeom3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changelinkgeom3.testcase +++ test/sql_stmt_lwgeom_22_tests/changelinkgeom3.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Double Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom(1.5, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom(1.5, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changelinkgeom4.testcase Index: test/sql_stmt_lwgeom_22_tests/changelinkgeom4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changelinkgeom4.testcase +++ test/sql_stmt_lwgeom_22_tests/changelinkgeom4.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Blob Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom(zeroblob(4), -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom(zeroblob(4), -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changelinkgeom5.testcase Index: test/sql_stmt_lwgeom_22_tests/changelinkgeom5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changelinkgeom5.testcase +++ test/sql_stmt_lwgeom_22_tests/changelinkgeom5.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Text Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/changelinkgeom6.testcase Index: test/sql_stmt_lwgeom_22_tests/changelinkgeom6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changelinkgeom6.testcase +++ test/sql_stmt_lwgeom_22_tests/changelinkgeom6.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Double Link -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom('topology', 2.0, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom('topology', 2.0, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changelinkgeom7.testcase Index: test/sql_stmt_lwgeom_22_tests/changelinkgeom7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changelinkgeom7.testcase +++ test/sql_stmt_lwgeom_22_tests/changelinkgeom7.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - BLOB Link -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom('topology', zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom('topology', zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/changelinkgeom8.testcase Index: test/sql_stmt_lwgeom_22_tests/changelinkgeom8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/changelinkgeom8.testcase +++ test/sql_stmt_lwgeom_22_tests/changelinkgeom8.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Text Link -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom('topology', 'Link', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom('topology', 'Link', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createnetwork1.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork1.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork1.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL Network -:memory: #use in-memory database -SELECT CreateNetwork(NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork(NULL) --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork10.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork10.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork10.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roads2', 1); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads2', 1) -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork11.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork11.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork11.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL Srid -:memory: #use in-memory database -SELECT CreateNetwork('roadsB', 1, NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsB', 1, NULL); -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork12.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork12.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork12.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int Srid -:memory: #use in-memory database -SELECT CreateNetwork('roadsC', 1, 4326); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsC', 1, 4326); -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork13.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork13.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork13.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double Srid -:memory: #use in-memory database -SELECT CreateNetwork('roadsD', 1, 1.5); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsD', 1, 1.5); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork14.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork14.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork14.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Text Srid -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 'alpha'); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork15.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork15.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork15.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Blob Srid -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, zeroblob(4)); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork16.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork16.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork16.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roadsZ', 1, 4326, NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsZ', 1, 4326, NULL); -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork17.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork17.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork17.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roadsX', 1, 4326, 1); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsX', 1, 4326, 1); -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork18.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork18.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork18.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roadsD', 1, 4326, 1.5); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsD', 1, 4326, 1.5); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork19.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork19.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork19.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Text hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 4326, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 4326, 'alpha'); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork2.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork2.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork2.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int Network -:memory: #use in-memory database -SELECT CreateNetwork(1); -1 # rows (not including the header row) -1 # columns -CreateNetwork(1) --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork20.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork20.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork20.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Blob hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 4326, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 4326, zeroblob(4)); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork21.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork21.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork21.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roadsW', 1, 4326, 1, NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsW', 1, 4326, 1, NULL); -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork22.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork22.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork22.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roadsY', 1, 4326, 1, 1); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsY', 1, 4326, 1, 1); -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork23.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork23.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork23.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roadsE', 1, 4326, 1, 1.5); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsE', 1, 4326, 1, 1.5); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork24.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork24.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork24.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork24.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Text allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 4326, 1, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 4326, 1, 'alpha'); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork25.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork25.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork25.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Blob allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 4326, 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 4326, 1, zeroblob(4)); --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork3.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork3.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork3.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double Network -:memory: #use in-memory database -SELECT CreateNetwork(1.1); -1 # rows (not including the header row) -1 # columns -CreateNetwork(1.1) --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork4.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork4.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork4.testcase @@ -1,7 +0,0 @@ -CreateNetwork - BLOB Network -:memory: #use in-memory database -SELECT CreateNetwork(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork(zeroblob(4)) --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork5.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork5.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork5.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Text Network -:memory: #use in-memory database -SELECT CreateNetwork('roads'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads') -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork6.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork6.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork6.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roadsA', NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsA', NULL) -1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork7.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork7.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork7.testcase @@ -1,7 +0,0 @@ -CreateNetwork - BLOB Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roads', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', zeroblob(4)) --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork8.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork8.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork8.testcase @@ -1,7 +0,0 @@ -CreateNetwork - TEXT Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roads', 'beta'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 'beta') --1 DELETED test/sql_stmt_lwgeom_22_tests/createnetwork9.testcase Index: test/sql_stmt_lwgeom_22_tests/createnetwork9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createnetwork9.testcase +++ test/sql_stmt_lwgeom_22_tests/createnetwork9.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roads', 3.1); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 3.1) --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo1.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo1.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo1.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - NULL Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo10.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo10.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo10.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - non existing Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo2.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo2.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo2.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Int Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo3.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo3.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo3.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Double Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo4.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo4.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo4.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - BLOB Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo(zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo5.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo5.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo5.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - NULL GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo6.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo6.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo6.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Int GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', 1); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo7.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo7.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo7.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Double GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', 1.4); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', 1.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo8.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo8.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo8.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Text GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopogeo9.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopogeo9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopogeo9.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopogeo9.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Invalid BLOB GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', zeroblob(100)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', zeroblob(100)) -SQL/MM Spatial exception - not a Geometry. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer1.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer1.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer(NULL, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer(NULL, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer10.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer10.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer10.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - NULL ref-table -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, NULL, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, NULL, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer11.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer11.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer11.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - INT ref-table -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 1, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 1, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer12.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer12.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer12.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double ref-table -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 1.2, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 1.2, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer13.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer13.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer13.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB ref-table -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, zeroblob(4), NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, zeroblob(4), NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer14.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer14.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer14.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Text Column -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'column', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'column', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer15.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer15.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer15.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Int Column -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer16.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer16.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer16.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double Column -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 1.2, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', 1.2, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer17.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer17.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer17.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer18.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer18.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer18.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - NULL TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer19.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer19.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer19.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer2.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer2.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer(1, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer(1, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer20.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer20.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer20.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer21.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer21.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer21.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Text TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer22.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer22.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer22.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer23.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer23.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer23.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - TEXT is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', 'no'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer24.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer24.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer24.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer24.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer25.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer25.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer25.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - NULL is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer26.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer26.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer26.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer26.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Integer is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer3.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer3.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer(1.5, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer(1.5, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer4.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer4.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer(zeroblob(4), NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer(zeroblob(4), NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer5.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer5.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer6.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer6.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', 'a', 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', 'a', 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer7.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer7.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', 1, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', 1, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer8.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer8.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', 1.2, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', 1.2, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopolayer9.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopolayer9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopolayer9.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', zeroblob(4), 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', zeroblob(4), 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/createtopology1.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology1.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology1.testcase @@ -1,7 +0,0 @@ -CreateTopology - NULL Topology -:memory: #use in-memory database -SELECT CreateTopology(NULL); -1 # rows (not including the header row) -1 # columns -CreateTopology(NULL) --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology10.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology10.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology10.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int Srid -:memory: #use in-memory database -SELECT CreateTopology('topo2', 4326); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo2', 4326) -1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology11.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology11.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology11.testcase @@ -1,7 +0,0 @@ -CreateTopology - NULL tolerance -:memory: #use in-memory database -SELECT CreateTopology('topoB', 4326, NULL); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoB', 4326, NULL); -1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology12.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology12.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology12.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int tolerance -:memory: #use in-memory database -SELECT CreateTopology('topoC', 4326, 1); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoC', 4326, 1); -1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology13.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology13.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology13.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double tolerance -:memory: #use in-memory database -SELECT CreateTopology('topoD', 4326, 1.5); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoD', 4326, 1.5); -1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology14.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology14.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology14.testcase @@ -1,7 +0,0 @@ -CreateTopology - Text tolerance -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326, 'alpha'); --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology15.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology15.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology15.testcase @@ -1,7 +0,0 @@ -CreateTopology - Blob tolerance -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326, zeroblob(4)); --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology16.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology16.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology16.testcase @@ -1,7 +0,0 @@ -CreateTopology - NULL hasZ -:memory: #use in-memory database -SELECT CreateTopology('topoZ', 4326, 1, NULL); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoZ', 4326, 1, NULL); -1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology17.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology17.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology17.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int hasZ -:memory: #use in-memory database -SELECT CreateTopology('topoX', 4326, 1, 1); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoX', 4326, 1, 1); -1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology18.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology18.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology18.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double hasZ -:memory: #use in-memory database -SELECT CreateTopology('topoD', 4326, 1, 1.5); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoD', 4326, 1, 1.5); --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology19.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology19.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology19.testcase @@ -1,7 +0,0 @@ -CreateTopology - Text hasZ -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326, 1, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326, 1, 'alpha'); --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology2.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology2.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology2.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int Topology -:memory: #use in-memory database -SELECT CreateTopology(1); -1 # rows (not including the header row) -1 # columns -CreateTopology(1) --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology20.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology20.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology20.testcase @@ -1,7 +0,0 @@ -CreateTopology - Blob hasZ -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326, 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326, 1, zeroblob(4)); --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology3.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology3.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology3.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double Topology -:memory: #use in-memory database -SELECT CreateTopology(1.1); -1 # rows (not including the header row) -1 # columns -CreateTopology(1.1) --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology4.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology4.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology4.testcase @@ -1,7 +0,0 @@ -CreateTopology - BLOB Topology -:memory: #use in-memory database -SELECT CreateTopology(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateTopology(zeroblob(4)) --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology5.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology5.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology5.testcase @@ -1,7 +0,0 @@ -CreateTopology - Text Topology -:memory: #use in-memory database -SELECT CreateTopology('topo1'); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo1') -1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology6.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology6.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology6.testcase @@ -1,7 +0,0 @@ -CreateTopology - NULL Srid -:memory: #use in-memory database -SELECT CreateTopology('topoA', NULL); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoA', NULL) -1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology7.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology7.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology7.testcase @@ -1,7 +0,0 @@ -CreateTopology - BLOB Srid -:memory: #use in-memory database -SELECT CreateTopology('topo', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', zeroblob(4)) --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology8.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology8.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology8.testcase @@ -1,7 +0,0 @@ -CreateTopology - TEXT Srid -:memory: #use in-memory database -SELECT CreateTopology('topo', 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 'alpha') --1 DELETED test/sql_stmt_lwgeom_22_tests/createtopology9.testcase Index: test/sql_stmt_lwgeom_22_tests/createtopology9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/createtopology9.testcase +++ test/sql_stmt_lwgeom_22_tests/createtopology9.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double Srid -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326.1); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326.1) --1 DELETED test/sql_stmt_lwgeom_22_tests/dropnetwork1.testcase Index: test/sql_stmt_lwgeom_22_tests/dropnetwork1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/dropnetwork1.testcase +++ test/sql_stmt_lwgeom_22_tests/dropnetwork1.testcase @@ -1,7 +0,0 @@ -DropNetwork - NULL Network -:memory: #use in-memory database -SELECT DropNetwork(NULL); -1 # rows (not including the header row) -1 # columns -DropNetwork(NULL) --1 DELETED test/sql_stmt_lwgeom_22_tests/dropnetwork2.testcase Index: test/sql_stmt_lwgeom_22_tests/dropnetwork2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/dropnetwork2.testcase +++ test/sql_stmt_lwgeom_22_tests/dropnetwork2.testcase @@ -1,7 +0,0 @@ -DropNetwork - Int Network -:memory: #use in-memory database -SELECT DropNetwork(1); -1 # rows (not including the header row) -1 # columns -DropNetwork(1) --1 DELETED test/sql_stmt_lwgeom_22_tests/dropnetwork3.testcase Index: test/sql_stmt_lwgeom_22_tests/dropnetwork3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/dropnetwork3.testcase +++ test/sql_stmt_lwgeom_22_tests/dropnetwork3.testcase @@ -1,7 +0,0 @@ -DropNetwork - Double Network -:memory: #use in-memory database -SELECT DropNetwork(1.1); -1 # rows (not including the header row) -1 # columns -DropNetwork(1.1) --1 DELETED test/sql_stmt_lwgeom_22_tests/dropnetwork4.testcase Index: test/sql_stmt_lwgeom_22_tests/dropnetwork4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/dropnetwork4.testcase +++ test/sql_stmt_lwgeom_22_tests/dropnetwork4.testcase @@ -1,7 +0,0 @@ -DropNetwork - BLOB Network -:memory: #use in-memory database -SELECT DropNetwork(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -DropNetwork(zeroblob(4)) --1 DELETED test/sql_stmt_lwgeom_22_tests/dropnetwork5.testcase Index: test/sql_stmt_lwgeom_22_tests/dropnetwork5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/dropnetwork5.testcase +++ test/sql_stmt_lwgeom_22_tests/dropnetwork5.testcase @@ -1,7 +0,0 @@ -DropNetwork - Text Network -:memory: #use in-memory database -SELECT DropNetwork('topoW'); -1 # rows (not including the header row) -1 # columns -DropNetwork('topoW') -0 DELETED test/sql_stmt_lwgeom_22_tests/droptopology1.testcase Index: test/sql_stmt_lwgeom_22_tests/droptopology1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/droptopology1.testcase +++ test/sql_stmt_lwgeom_22_tests/droptopology1.testcase @@ -1,7 +0,0 @@ -DropTopology - NULL Topology -:memory: #use in-memory database -SELECT DropTopology(NULL); -1 # rows (not including the header row) -1 # columns -DropTopology(NULL) --1 DELETED test/sql_stmt_lwgeom_22_tests/droptopology2.testcase Index: test/sql_stmt_lwgeom_22_tests/droptopology2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/droptopology2.testcase +++ test/sql_stmt_lwgeom_22_tests/droptopology2.testcase @@ -1,7 +0,0 @@ -DropTopology - Int Topology -:memory: #use in-memory database -SELECT DropTopology(1); -1 # rows (not including the header row) -1 # columns -DropTopology(1) --1 DELETED test/sql_stmt_lwgeom_22_tests/droptopology3.testcase Index: test/sql_stmt_lwgeom_22_tests/droptopology3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/droptopology3.testcase +++ test/sql_stmt_lwgeom_22_tests/droptopology3.testcase @@ -1,7 +0,0 @@ -DropTopology - Double Topology -:memory: #use in-memory database -SELECT DropTopology(1.1); -1 # rows (not including the header row) -1 # columns -DropTopology(1.1) --1 DELETED test/sql_stmt_lwgeom_22_tests/droptopology4.testcase Index: test/sql_stmt_lwgeom_22_tests/droptopology4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/droptopology4.testcase +++ test/sql_stmt_lwgeom_22_tests/droptopology4.testcase @@ -1,7 +0,0 @@ -DropTopology - BLOB Topology -:memory: #use in-memory database -SELECT DropTopology(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -DropTopology(zeroblob(4)) --1 DELETED test/sql_stmt_lwgeom_22_tests/droptopology5.testcase Index: test/sql_stmt_lwgeom_22_tests/droptopology5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/droptopology5.testcase +++ test/sql_stmt_lwgeom_22_tests/droptopology5.testcase @@ -1,7 +0,0 @@ -DropTopology - Text Topology -:memory: #use in-memory database -SELECT DropTopology('topoW'); -1 # rows (not including the header row) -1 # columns -DropTopology('topoW') -0 DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer1.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer1.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer(NULL, 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(NULL, 'topolayer', 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer10.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer10.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer10.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer11.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer11.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer11.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer12.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer12.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer12.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - BLOB output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer13.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer13.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer13.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Text output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer14.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer14.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer14.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer15.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer15.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer15.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Text create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, 'no'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer16.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer16.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer16.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - BLOB create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer17.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer17.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer17.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer18.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer18.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer18.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer19.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer19.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer19.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer2.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer2.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer Topology -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer(1, 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(1, 'topolayer', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer20.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer20.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer20.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - BLOB with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer21.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer21.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer21.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Text with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 'no'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer22.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer22.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer22.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer23.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer23.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer23.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer3.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer3.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer(1.5, 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(1.5, 'topolayer', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer4.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer4.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer(zeroblob(5), 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(zeroblob(5), 'topolayer', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer5.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer5.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer6.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer6.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer7.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer7.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 1.5, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 1.5, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer8.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer8.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/exporttopolayer9.testcase Index: test/sql_stmt_lwgeom_22_tests/exporttopolayer9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/exporttopolayer9.testcase +++ test/sql_stmt_lwgeom_22_tests/exporttopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer1.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer1.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer(NULL, 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(NULL, 'topolayer', 'out', 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer10.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer10.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer10.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Integer output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer11.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer11.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer11.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Double output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 1.2, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer12.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer12.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer12.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - BLOB output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer13.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer13.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer13.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Text output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer14.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer14.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer14.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Double FID -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 'out', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 'out', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer15.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer15.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer15.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Text FID -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 'fid'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 'fid') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer16.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer16.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer16.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - BLOB FID -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer17.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer17.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer17.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - NULL output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer2.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer2.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Integer Topology -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer(1, 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(1, 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer3.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer3.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer(1.5, 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(1.5, 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer4.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer4.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer(zeroblob(5), 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(zeroblob(5), 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer5.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer5.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - NULL TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', NULL, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, NULL, 'out', 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer6.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer6.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Integer TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 1, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 1, 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer7.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer7.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 1.5, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 1.5, 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer8.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer8.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', zeroblob(4), 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, zeroblob(4), 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/featuretopolayer9.testcase Index: test/sql_stmt_lwgeom_22_tests/featuretopolayer9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/featuretopolayer9.testcase +++ test/sql_stmt_lwgeom_22_tests/featuretopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - NULL output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint1.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint1.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint1.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - NULL Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint(NULL, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint(NULL, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint10.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint10.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint10.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', 1.1, 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', 1.1, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint11.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint11.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint11.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', NULL, 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint12.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint12.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint12.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', 'geom', 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', 'geom', 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint13.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint13.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint13.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', zeroblob(4), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', zeroblob(4), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint14.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint14.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint14.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint15.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint15.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint15.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint16.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint16.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint16.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint17.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint17.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint17.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint2.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint2.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint2.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Int Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint(1, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint(1, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint3.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint3.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint3.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Double Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint(1.5, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint(1.5, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint4.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint4.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint4.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Blob Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint(zeroblob(4), MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint(zeroblob(4),MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint5.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint5.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint5.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Text Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint6.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint6.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint6.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint7.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint7.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint7.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint8.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint8.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint8.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgebypoint9.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgebypoint9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgebypoint9.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgebypoint9.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed1.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed1.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed1.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed(NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed(NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed2.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed2.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed2.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed(1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed(1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed3.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed3.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed3.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed(1.2, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed(1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed4.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed4.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed4.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed(zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed(zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed5.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed5.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed5.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed6.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed6.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed6.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - NULL Face -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed7.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed7.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed7.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Double Face -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', 1.3); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed8.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed8.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed8.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Text Face -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', 'face'); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', 'face') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getedgeseed9.testcase Index: test/sql_stmt_lwgeom_22_tests/getedgeseed9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getedgeseed9.testcase +++ test/sql_stmt_lwgeom_22_tests/getedgeseed9.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - BLOB Face -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint1.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint1.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint1.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - NULL Topology -:memory: #use in-memory database -SELECT GetFaceByPoint(NULL, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint(NULL, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint10.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint10.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint10.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', 1.1, 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', 1.1, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint11.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint11.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint11.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', NULL, 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint12.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint12.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint12.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', 'geom', 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', 'geom', 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint13.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint13.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint13.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', zeroblob(4), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', zeroblob(4), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint14.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint14.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint14.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint15.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint15.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint15.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint16.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint16.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint16.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint17.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint17.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint17.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint2.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint2.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint2.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Int Topology -:memory: #use in-memory database -SELECT GetFaceByPoint(1, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint(1, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint3.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint3.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint3.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Double Topology -:memory: #use in-memory database -SELECT GetFaceByPoint(1.5, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint(1.5, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint4.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint4.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint4.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Blob Topology -:memory: #use in-memory database -SELECT GetFaceByPoint(zeroblob(4), MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint(zeroblob(4),MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint5.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint5.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint5.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Text Topology -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint6.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint6.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint6.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint7.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint7.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint7.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint8.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint8.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint8.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacebypoint9.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacebypoint9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacebypoint9.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacebypoint9.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges1.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges1.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges1.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - NULL Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges2.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges2.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges2.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Int Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges(1, -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges3.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges3.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges3.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Double Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges4.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges4.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges4.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Blob Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges5.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges5.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges5.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Text Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges6.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges6.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges6.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Double Face -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges7.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges7.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges7.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - BLOB Face -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges8.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges8.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges8.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Text Face -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', 'node'); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceedges9.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceedges9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceedges9.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceedges9.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - NULL Face -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry1.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry1.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry1.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - NULL Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry(NULL, 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry(NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry2.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry2.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry2.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Int Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry(1, 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry(1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry3.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry3.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry3.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Double Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry(1.2, 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry(1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry4.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry4.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry4.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - BLOB Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry(zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry(zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry5.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry5.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry5.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Text Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry6.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry6.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry6.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - NULL Face -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry7.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry7.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry7.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Double Face -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', 1.3); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry8.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry8.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry8.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Text Face -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', 'face'); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', 'face') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfacegeometry9.testcase Index: test/sql_stmt_lwgeom_22_tests/getfacegeometry9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfacegeometry9.testcase +++ test/sql_stmt_lwgeom_22_tests/getfacegeometry9.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - BLOB Face -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed1.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed1.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed1.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed(NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed(NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed2.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed2.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed2.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed(1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed(1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed3.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed3.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed3.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed(1.2, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed(1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed4.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed4.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed4.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed(zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed(zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed5.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed5.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed5.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed6.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed6.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed6.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - NULL Face -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed7.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed7.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed7.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - Double Face -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', 1.3); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed8.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed8.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed8.testcase @@ -1,7 +0,0 @@ -TopoGeo_GetFaceSeed - Text Face -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', 'face'); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', 'face') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getfaceseed9.testcase Index: test/sql_stmt_lwgeom_22_tests/getfaceseed9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getfaceseed9.testcase +++ test/sql_stmt_lwgeom_22_tests/getfaceseed9.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - BLOB Face -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint1.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint1.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint1.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - NULL Network -:memory: #use in-memory database -SELECT GetLinkByPoint(NULL, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint(NULL, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint10.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint10.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint10.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', 1.1, 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', 1.1, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint11.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint11.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint11.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', NULL, 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint12.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint12.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint12.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', 'geom', 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', 'geom', 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint13.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint13.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint13.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', zeroblob(4), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', zeroblob(4), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint14.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint14.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint14.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint15.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint15.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint15.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint16.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint16.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint16.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint17.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint17.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint17.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint2.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint2.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint2.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Int Network -:memory: #use in-memory database -SELECT GetLinkByPoint(1, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint(1, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint3.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint3.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint3.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Double Network -:memory: #use in-memory database -SELECT GetLinkByPoint(1.5, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint(1.5, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint4.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint4.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint4.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Blob Network -:memory: #use in-memory database -SELECT GetLinkByPoint(zeroblob(4), MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint(zeroblob(4),MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint5.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint5.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint5.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Text Network -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint6.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint6.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint6.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint7.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint7.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint7.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint8.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint8.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint8.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkbypoint9.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkbypoint9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkbypoint9.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkbypoint9.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', -1, 1); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed1.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed1.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed1.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed(NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed(NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed2.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed2.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed2.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - Int Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed(1, 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed(1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed3.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed3.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed3.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - Double Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed(1.2, 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed(1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed4.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed4.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed4.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed(zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed(zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed5.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed5.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed5.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - Text Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed6.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed6.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed6.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - NULL Face -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed7.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed7.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed7.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - Double Face -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', 1.3); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed8.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed8.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed8.testcase @@ -1,7 +0,0 @@ -TopoNet_GetLinkSeed - Text Face -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', 'face'); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', 'face') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getlinkseed9.testcase Index: test/sql_stmt_lwgeom_22_tests/getlinkseed9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getlinkseed9.testcase +++ test/sql_stmt_lwgeom_22_tests/getlinkseed9.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - BLOB Face -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint1.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint1.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint1.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - NULL Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint(NULL, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint(NULL, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint10.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint10.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint10.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', 1.1, 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', 1.1, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint11.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint11.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint11.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', NULL, 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint12.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint12.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint12.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', 'geom', 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', 'geom', 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint13.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint13.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint13.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', zeroblob(4), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', zeroblob(4), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint14.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint14.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint14.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint15.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint15.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint15.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint16.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint16.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint16.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint17.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint17.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint17.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint2.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint2.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint2.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Int Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint(1, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint(1, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint3.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint3.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint3.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Double Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint(1.5, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint(1.5, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint4.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint4.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint4.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Blob Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint(zeroblob(4), MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint(zeroblob(4),MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint5.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint5.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint5.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Text Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint6.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint6.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint6.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint7.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint7.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint7.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint8.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint8.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint8.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnetnodebypoint9.testcase Index: test/sql_stmt_lwgeom_22_tests/getnetnodebypoint9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnetnodebypoint9.testcase +++ test/sql_stmt_lwgeom_22_tests/getnetnodebypoint9.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', -1, 1); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint1.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint1.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint1.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - NULL Topology -:memory: #use in-memory database -SELECT GetNodeByPoint(NULL, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint(NULL, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint10.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint10.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint10.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', 1.1, 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', 1.1, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint11.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint11.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint11.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', NULL, 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint12.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint12.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint12.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', 'geom', 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', 'geom', 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint13.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint13.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint13.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', zeroblob(4), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', zeroblob(4), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint14.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint14.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint14.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint15.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint15.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint15.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint16.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint16.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint16.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint17.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint17.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint17.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint2.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint2.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint2.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Int Topology -:memory: #use in-memory database -SELECT GetNodeByPoint(1, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint(1, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint3.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint3.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint3.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Double Topology -:memory: #use in-memory database -SELECT GetNodeByPoint(1.5, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint(1.5, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint4.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint4.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint4.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Blob Topology -:memory: #use in-memory database -SELECT GetNodeByPoint(zeroblob(4), MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint(zeroblob(4),MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint5.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint5.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint5.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Text Topology -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint6.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint6.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint6.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint7.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint7.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint7.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint8.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint8.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint8.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/getnodebypoint9.testcase Index: test/sql_stmt_lwgeom_22_tests/getnodebypoint9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/getnodebypoint9.testcase +++ test/sql_stmt_lwgeom_22_tests/getnodebypoint9.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer1.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer1.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer(NULL, NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer(NULL, NULL, 'table', 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer10.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer10.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer10.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - NULL ref-table -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer11.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer11.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer11.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - INT ref-table -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer12.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer12.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer12.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Double ref-table -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 1.2, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 1.2, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer13.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer13.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer13.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - BLOB ref-table -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer14.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer14.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer14.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - NULL TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer15.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer15.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer15.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer16.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer16.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer16.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer17.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer17.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer17.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Text TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer2.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer2.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer(1, NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer(1, NULL, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer3.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer3.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer(1.5, NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer(1.5, NULL, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer4.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer4.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer(zeroblob(4), NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer(zeroblob(4), NULL, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer5.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer5.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer6.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer6.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', 'a', 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', 'a', 'table', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer7.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer7.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', 1, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', 1, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer8.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer8.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', 1.2, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', 1.2, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/inittopolayer9.testcase Index: test/sql_stmt_lwgeom_22_tests/inittopolayer9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/inittopolayer9.testcase +++ test/sql_stmt_lwgeom_22_tests/inittopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', zeroblob(4), 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', zeroblob(4), 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed1.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed1.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed1.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed10.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed10.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed10.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - NULL distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed11.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed11.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed11.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - TEXT distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 'dist'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 'dist') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed12.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed12.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed12.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - BLOB distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', zeroblob(5)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', zeroblob(5)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed13.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed13.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed13.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - INT distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed14.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed14.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed14.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - DOUBLE distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 1.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 1.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed15.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed15.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed15.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - point instead of line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('POINT(1 1)'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('POINT((1 1)'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed16.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed16.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed16.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - multilinestring instead of linestring -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('MULTILINESTRING((1 1, 1 2), (2 2, 3 3))'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('MULTILINESTRING((1 1, 1 2), (2 2, 3 3))'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed17.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed17.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed17.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - polygon instead of line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed2.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed2.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed2.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - INT Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed3.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed3.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed3.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - DOUBLE Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 1.1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 1.1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed4.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed4.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed4.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed5.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed5.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed5.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - NULL line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(NULL, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(NULL, 'topo', 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed6.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed6.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed6.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - INT line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(1, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(1, 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed7.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed7.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed7.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - DOUBLE line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(1.1, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(1.1, 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed8.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed8.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed8.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - TEXT line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed('line', 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed('line', 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/linesnapseed9.testcase Index: test/sql_stmt_lwgeom_22_tests/linesnapseed9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/linesnapseed9.testcase +++ test/sql_stmt_lwgeom_22_tests/linesnapseed9.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - invalid BLOB line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(zeroblob(100), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(zeroblob(100), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo1.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo1.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo1.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - NULL Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo(NULL, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo(NULL, 'topology') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo2.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo2.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo2.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Int Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo(1, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo(1, 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo3.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo3.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo3.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Double Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo(1.5, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo(1.5, 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo4.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo4.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo4.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Blob Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo(zeroblob(4), 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo(zeroblob(4), 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo5.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo5.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo5.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Text Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', 'topology') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo6.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo6.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo6.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - NULL Topology -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', NULL); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo7.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo7.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo7.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - INT Topology -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', 1); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo8.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo8.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo8.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Double Topology -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', 1.2); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/loginetfromtgeo9.testcase Index: test/sql_stmt_lwgeom_22_tests/loginetfromtgeo9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/loginetfromtgeo9.testcase +++ test/sql_stmt_lwgeom_22_tests/loginetfromtgeo9.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - BLOB Topology -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal1.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal1.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal1.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - NULL Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal(NULL, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal(NULL, 1, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal10.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal10.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal10.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - NULL Edge #2 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal11.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal11.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal11.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Double Edge #2 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, 2.4); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, 2.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal12.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal12.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal12.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Text Edge #2 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, 'to'); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, 'to') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal13.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal13.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal13.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - BLOB Edge #2 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal2.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal2.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal2.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Int Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal(1, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal(1, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal3.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal3.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal3.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Double Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal(1.2, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal(1.2, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal4.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal4.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal4.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - BLOB Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal(zeroblob(4), 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal(zeroblob(4), 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal5.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal5.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal5.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Text Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, 2) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal6.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal6.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal6.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - NULL Edge #1 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', NULL, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', NULL, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal7.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal7.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal7.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Double Edge #1 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1.3, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1.3, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal8.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal8.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal8.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Text Edge #1 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 'from', 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 'from', 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgeheal9.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgeheal9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgeheal9.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgeheal9.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - BLOB Edge #1 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', zeroblob(4), 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit1.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit1.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit1.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - NULL Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit10.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit10.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit10.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Double Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit11.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit11.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit11.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - NULL Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit12.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit12.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit12.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Text Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', 'face', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', 'face', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit13.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit13.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit13.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', 'face', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', 'face', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit14.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit14.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit14.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Linestring Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit15.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit15.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit15.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Polygon Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit16.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit16.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit16.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit2.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit2.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit2.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Int Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit3.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit3.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit3.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Double Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit4.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit4.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit4.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Blob Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit5.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit5.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit5.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Text Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit6.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit6.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit6.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Double Face -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit7.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit7.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit7.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - BLOB Face -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit8.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit8.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit8.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Text Face -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', 'face', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', 'face', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modedgesplit9.testcase Index: test/sql_stmt_lwgeom_22_tests/modedgesplit9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modedgesplit9.testcase +++ test/sql_stmt_lwgeom_22_tests/modedgesplit9.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Int Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit1.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit1.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit1.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - NULL Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit2.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit2.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit2.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Int Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit3.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit3.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit3.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Double Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit4.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit4.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit4.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Blob Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit5.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit5.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit5.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Text Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit6.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit6.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit6.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Double Link -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit7.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit7.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit7.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - BLOB Link -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit8.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit8.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit8.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Text Link -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', 'link', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', 'link', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modgeolinksplit9.testcase Index: test/sql_stmt_lwgeom_22_tests/modgeolinksplit9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modgeolinksplit9.testcase +++ test/sql_stmt_lwgeom_22_tests/modgeolinksplit9.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Int Geometry -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', -1, 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal1.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal1.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal1.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - NULL Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal(NULL, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal(NULL, 1, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal10.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal10.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal10.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - NULL Link #2 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal11.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal11.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal11.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Double Link #2 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1, 2.4); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1, 2.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal12.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal12.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal12.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Text Link #2 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1, 'to'); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1, 'to') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal13.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal13.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal13.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - BLOB Link #2 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal2.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal2.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal2.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Int Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal(1, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal(1, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal3.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal3.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal3.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Double Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal(1.2, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal(1.2, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal4.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal4.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal4.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - BLOB Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal(zeroblob(4), 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal(zeroblob(4), 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal5.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal5.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal5.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Text Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal('topology', 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('topology', 1, 2) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal6.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal6.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal6.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - NULL Link #1 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', NULL, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', NULL, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal7.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal7.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal7.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Double Link #1 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1.3, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1.3, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal8.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal8.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal8.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Text Link #1 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 'from', 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 'from', 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modlinkheal9.testcase Index: test/sql_stmt_lwgeom_22_tests/modlinkheal9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modlinkheal9.testcase +++ test/sql_stmt_lwgeom_22_tests/modlinkheal9.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - BLOB Link #1 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', zeroblob(4), 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit1.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit1.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit1.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - NULL Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit2.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit2.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit2.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Int Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit(1, -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit3.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit3.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit3.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Double Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit4.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit4.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit4.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Blob Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit5.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit5.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit5.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Text Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', -1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit6.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit6.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit6.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Double Link -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', 2.0); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit7.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit7.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit7.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - BLOB Link -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit8.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit8.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit8.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Text Link -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', 'node'); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/modloglinksplit9.testcase Index: test/sql_stmt_lwgeom_22_tests/modloglinksplit9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/modloglinksplit9.testcase +++ test/sql_stmt_lwgeom_22_tests/modloglinksplit9.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - NULL Link -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', NULL); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode1.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode1.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode1.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - NULL Network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode2.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode2.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode2.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Int Network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode3.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode3.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode3.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Double Network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode4.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode4.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode4.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Blob Network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode5.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode5.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode5.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Double Node -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode('net', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode6.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode6.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode6.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - BLOB Node -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode('net', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode7.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode7.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode7.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Text Node -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', 'node', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode('net', 'node', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode8.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode8.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode8.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - NULL Node -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode('net', NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonetnode9.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonetnode9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonetnode9.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonetnode9.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - invalid network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', 1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNetNode('net', 1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode1.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode1.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode1.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - NULL Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode10.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode10.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode10.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Double Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode11.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode11.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode11.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - NULL Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode12.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode12.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode12.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Text Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', 'face', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', 'face', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode13.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode13.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode13.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', 'face', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', 'face', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode14.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode14.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode14.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Linestring Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode15.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode15.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode15.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Polygon Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode16.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode16.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode16.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode17.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode17.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode17.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - NULL Node -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode2.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode2.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode2.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Int Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode3.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode3.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode3.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Double Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode4.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode4.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode4.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Blob Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode5.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode5.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode5.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Text Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode6.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode6.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode6.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Double Node -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode7.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode7.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode7.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - BLOB Node -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode8.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode8.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode8.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Text Node -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', 'node', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', 'node', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/moveisonode9.testcase Index: test/sql_stmt_lwgeom_22_tests/moveisonode9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/moveisonode9.testcase +++ test/sql_stmt_lwgeom_22_tests/moveisonode9.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Int Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/netexception1.testcase Index: test/sql_stmt_lwgeom_22_tests/netexception1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/netexception1.testcase +++ test/sql_stmt_lwgeom_22_tests/netexception1.testcase @@ -1,7 +0,0 @@ -GetLastNetworkException - NULL Network -:memory: #use in-memory database -SELECT GetLastNetworkException(NULL); -1 # rows (not including the header row) -1 # columns -GetLastNetworkException(NULL) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/netexception2.testcase Index: test/sql_stmt_lwgeom_22_tests/netexception2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/netexception2.testcase +++ test/sql_stmt_lwgeom_22_tests/netexception2.testcase @@ -1,7 +0,0 @@ -GetLastNetworkException - Undefined Network -:memory: #use in-memory database -SELECT GetLastNetworkException('net'); -1 # rows (not including the header row) -1 # columns -GetLastNetworkException('net') -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal1.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal1.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal1.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - NULL Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal(NULL, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal(NULL, 1, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal10.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal10.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal10.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - NULL Edge #2 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal11.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal11.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal11.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Double Edge #2 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, 2.4); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, 2.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal12.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal12.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal12.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Text Edge #2 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, 'to'); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, 'to') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal13.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal13.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal13.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - BLOB Edge #2 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal2.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal2.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal2.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Int Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal(1, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal(1, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal3.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal3.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal3.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Double Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal(1.2, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal(1.2, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal4.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal4.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal4.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - BLOB Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal(zeroblob(4), 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal(zeroblob(4), 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal5.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal5.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal5.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Text Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, 2) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal6.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal6.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal6.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - NULL Edge #1 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', NULL, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', NULL, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal7.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal7.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal7.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Double Edge #1 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1.3, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1.3, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal8.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal8.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal8.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Text Edge #1 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 'from', 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 'from', 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgeheal9.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgeheal9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgeheal9.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgeheal9.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - BLOB Edge #1 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', zeroblob(4), 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit1.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit1.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit1.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - NULL Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit10.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit10.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit10.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Double Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit11.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit11.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit11.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - NULL Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit12.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit12.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit12.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Text Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', 'face', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', 'face', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit13.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit13.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit13.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', 'face', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', 'face', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit14.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit14.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit14.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Linestring Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit15.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit15.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit15.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Polygon Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit16.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit16.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit16.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit2.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit2.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit2.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Int Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit3.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit3.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit3.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Double Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit4.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit4.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit4.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Blob Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit5.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit5.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit5.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Text Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit6.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit6.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit6.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Double Face -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit7.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit7.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit7.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - BLOB Face -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit8.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit8.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit8.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Text Face -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', 'face', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', 'face', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newedgessplit9.testcase Index: test/sql_stmt_lwgeom_22_tests/newedgessplit9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newedgessplit9.testcase +++ test/sql_stmt_lwgeom_22_tests/newedgessplit9.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Int Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit1.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit1.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit1.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - NULL Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit2.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit2.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit2.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Int Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit3.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit3.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit3.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Double Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit4.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit4.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit4.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Blob Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit5.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit5.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit5.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Text Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit6.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit6.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit6.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Double Link -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit7.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit7.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit7.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - BLOB Link -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit8.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit8.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit8.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Text Link -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', 'link', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', 'link', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newgeolinksplit9.testcase Index: test/sql_stmt_lwgeom_22_tests/newgeolinksplit9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newgeolinksplit9.testcase +++ test/sql_stmt_lwgeom_22_tests/newgeolinksplit9.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Int Geometry -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', -1, 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal1.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal1.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal1.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - NULL Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal(NULL, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal(NULL, 1, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal10.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal10.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal10.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - NULL Link #2 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal11.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal11.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal11.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Double Link #2 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1, 2.4); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1, 2.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal12.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal12.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal12.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Text Link #2 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1, 'to'); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1, 'to') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal13.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal13.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal13.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - BLOB Link #2 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal2.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal2.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal2.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Int Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal(1, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal(1, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal3.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal3.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal3.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Double Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal(1.2, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal(1.2, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal4.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal4.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal4.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - BLOB Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal(zeroblob(4), 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal(zeroblob(4), 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal5.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal5.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal5.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Text Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal('topology', 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('topology', 1, 2) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal6.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal6.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal6.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - NULL Link #1 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', NULL, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', NULL, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal7.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal7.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal7.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Double Link #1 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1.3, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1.3, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal8.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal8.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal8.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Text Link #1 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 'from', 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 'from', 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newlinkheal9.testcase Index: test/sql_stmt_lwgeom_22_tests/newlinkheal9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newlinkheal9.testcase +++ test/sql_stmt_lwgeom_22_tests/newlinkheal9.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - BLOB Link #1 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', zeroblob(4), 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit1.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit1.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit1.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - NULL Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit2.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit2.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit2.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Int Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit(1, -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit3.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit3.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit3.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Double Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit4.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit4.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit4.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Blob Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit5.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit5.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit5.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Text Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', -1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit6.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit6.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit6.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Double Link -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', 2.0); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit7.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit7.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit7.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - BLOB Link -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit8.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit8.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit8.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Text Link -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', 'node'); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/newloglinksplit9.testcase Index: test/sql_stmt_lwgeom_22_tests/newloglinksplit9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/newloglinksplit9.testcase +++ test/sql_stmt_lwgeom_22_tests/newloglinksplit9.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - NULL Link -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', NULL); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed1.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed1.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed1.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed10.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed10.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed10.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - NULL distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed11.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed11.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed11.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - TEXT distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 'dist'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 'dist') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed12.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed12.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed12.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - BLOB distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', zeroblob(5)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', zeroblob(5)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed13.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed13.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed13.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - INT distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed14.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed14.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed14.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - DOUBLE distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 1.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 1.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed15.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed15.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed15.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - linestring instead of point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(ST_GeomFromText('LINESTRING(1 1, 2 2)'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(ST_GeomFromText('LINESTRING(1 1, 2 2)'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed16.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed16.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed16.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - multipoint instead of point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(ST_GeomFromText('MULTIPOINT(1 1, 1 2)'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(ST_GeomFromText('MULTIPOINT(1 1, 1 2)'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed17.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed17.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed17.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - polygon instead of point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(ST_GeomFromText('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(ST_GeomFromText('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed2.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed2.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed2.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - INT Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed3.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed3.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed3.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - DOUBLE Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 1.1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 1.1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed4.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed4.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed4.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed5.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed5.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed5.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - NULL point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(NULL, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(NULL, 'topo', 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed6.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed6.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed6.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - INT point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(1, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(1, 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed7.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed7.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed7.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - DOUBLE point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(1.1, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(1.1, 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed8.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed8.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed8.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - TEXT point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed('point', 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed('point', 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/pointsnapseed9.testcase Index: test/sql_stmt_lwgeom_22_tests/pointsnapseed9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/pointsnapseed9.testcase +++ test/sql_stmt_lwgeom_22_tests/pointsnapseed9.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - invalid BLOB point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(zeroblob(100), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(zeroblob(100), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface1.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface1.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface1.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - NULL Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface2.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface2.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface2.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Int Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface3.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface3.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface3.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Double Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface4.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface4.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface4.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Blob Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface5.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface5.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface5.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Text Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface6.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface6.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface6.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Double Edge -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface7.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface7.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface7.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - BLOB Edge -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface8.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface8.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface8.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Text Edge -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', 'edge'); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', 'edge') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgemodface9.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgemodface9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgemodface9.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgemodface9.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - NULL Edge -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface1.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface1.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface1.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - NULL Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface2.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface2.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface2.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Int Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface3.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface3.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface3.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Double Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface4.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface4.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface4.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Blob Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface5.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface5.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface5.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Text Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface6.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface6.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface6.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Double Edge -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface7.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface7.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface7.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - BLOB Edge -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface8.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface8.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface8.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Text Edge -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', 'edge'); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', 'edge') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remedgenewface9.testcase Index: test/sql_stmt_lwgeom_22_tests/remedgenewface9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remedgenewface9.testcase +++ test/sql_stmt_lwgeom_22_tests/remedgenewface9.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - NULL Edge -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge1.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge1.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge1.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - NULL Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge2.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge2.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge2.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Int Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge3.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge3.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge3.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Double Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge4.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge4.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge4.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Blob Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge5.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge5.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge5.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Text Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge6.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge6.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge6.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Double Edge -:memory: #use in-memory database -SELECT ST_RemIsoEdge('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge7.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge7.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge7.testcase @@ -1,7 +0,0 @@ -RemIsoNode - BLOB RemIsoEdge -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge8.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge8.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge8.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Text Edge -:memory: #use in-memory database -SELECT ST_RemIsoEdge('topology', 'node'); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge('topology', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisoedge9.testcase Index: test/sql_stmt_lwgeom_22_tests/remisoedge9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisoedge9.testcase +++ test/sql_stmt_lwgeom_22_tests/remisoedge9.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - NULL Edge -:memory: #use in-memory database -SELECT ST_RemIsoEdge('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode1.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode1.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode1.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - NULL Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode2.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode2.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode2.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Int Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode3.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode3.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode3.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Double Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode4.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode4.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode4.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Blob Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode5.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode5.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode5.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Text Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', -1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode6.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode6.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode6.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Double Node -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode7.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode7.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode7.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - BLOB Node -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode8.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode8.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode8.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Text Node -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', 'node'); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonetnode9.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonetnode9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonetnode9.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonetnode9.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - NULL Node -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonode1.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode1.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode1.testcase @@ -1,7 +0,0 @@ -RemIsoNode - NULL Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonode2.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode2.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode2.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Int Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonode3.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode3.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode3.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Double Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonode4.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode4.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode4.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Blob Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonode5.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode5.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode5.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Text Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/remisonode6.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode6.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode6.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Double Node -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonode7.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode7.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode7.testcase @@ -1,7 +0,0 @@ -RemIsoNode - BLOB Node -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonode8.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode8.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode8.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Text Node -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', 'node'); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remisonode9.testcase Index: test/sql_stmt_lwgeom_22_tests/remisonode9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remisonode9.testcase +++ test/sql_stmt_lwgeom_22_tests/remisonode9.testcase @@ -1,7 +0,0 @@ -RemIsoNode - NULL Node -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remlink1.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink1.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink1.testcase @@ -1,7 +0,0 @@ -RemoveLink - NULL Network -:memory: #use in-memory database -SELECT ST_RemoveLink(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/remlink2.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink2.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink2.testcase @@ -1,7 +0,0 @@ -RemoveLink - Int Network -:memory: #use in-memory database -SELECT ST_RemoveLink(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remlink3.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink3.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink3.testcase @@ -1,7 +0,0 @@ -RemoveLink - Double Network -:memory: #use in-memory database -SELECT ST_RemoveLink(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remlink4.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink4.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink4.testcase @@ -1,7 +0,0 @@ -RemoveLink - Blob Network -:memory: #use in-memory database -SELECT ST_RemoveLink(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remlink5.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink5.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink5.testcase @@ -1,7 +0,0 @@ -RemoveLink - Text Network -:memory: #use in-memory database -SELECT ST_RemoveLink('net', -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', -1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/remlink6.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink6.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink6.testcase @@ -1,7 +0,0 @@ -RemoveLink - Double Link -:memory: #use in-memory database -SELECT ST_RemoveLink('net', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remlink7.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink7.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink7.testcase @@ -1,7 +0,0 @@ -RemoveLink - BLOB Link -:memory: #use in-memory database -SELECT ST_RemoveLink('net', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remlink8.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink8.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink8.testcase @@ -1,7 +0,0 @@ -RemoveLink - Text Link -:memory: #use in-memory database -SELECT ST_RemoveLink('net', 'node'); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', 'link') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/remlink9.testcase Index: test/sql_stmt_lwgeom_22_tests/remlink9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/remlink9.testcase +++ test/sql_stmt_lwgeom_22_tests/remlink9.testcase @@ -1,7 +0,0 @@ -RemoveLink - NULL Link -:memory: #use in-memory database -SELECT ST_RemoveLink('net', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer1.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer1.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer(NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer(NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer2.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer2.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer(1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer(1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer3.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer3.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer(1.5, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer(1.5, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer4.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer4.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer(zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer(zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer5.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer5.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer6.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer6.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - TEXT TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer7.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer7.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - INT TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer8.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer8.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/removetopolayer9.testcase Index: test/sql_stmt_lwgeom_22_tests/removetopolayer9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/removetopolayer9.testcase +++ test/sql_stmt_lwgeom_22_tests/removetopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom1.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom1.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom1.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - NULL Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom10.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom10.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom10.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - non existing Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom2.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom2.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom2.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Int Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom3.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom3.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom3.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Double Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom4.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom4.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom4.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - BLOB Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom(zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom5.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom5.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom5.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - NULL GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', NULL); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom6.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom6.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom6.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Int GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', 1); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom7.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom7.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom7.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Double GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', 1.4); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', 1.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom8.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom8.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom8.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Text GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromgeom9.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromgeom9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromgeom9.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromgeom9.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Invalid BLOB GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', zeroblob(100)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', zeroblob(100)) -SQL/MM Spatial exception - not a Geometry. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo1.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo1.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo1.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - NULL Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo(NULL, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo(NULL, 'topology') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo2.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo2.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo2.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Int Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo(1, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo(1, 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo3.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo3.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo3.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Double Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo(1.5, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo(1.5, 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo4.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo4.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo4.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Blob Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo(zeroblob(4), 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo(zeroblob(4), 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo5.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo5.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo5.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Text Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', 'topology') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo6.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo6.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo6.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - NULL Topology -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', NULL); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo7.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo7.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo7.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - INT Topology -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', 1); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo8.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo8.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo8.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Double Topology -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', 1.2); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo9.testcase Index: test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo9.testcase +++ test/sql_stmt_lwgeom_22_tests/spatnetfromtgeo9.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - BLOB Topology -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topoexception1.testcase Index: test/sql_stmt_lwgeom_22_tests/topoexception1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topoexception1.testcase +++ test/sql_stmt_lwgeom_22_tests/topoexception1.testcase @@ -1,7 +0,0 @@ -GetLastTopologyException - NULL Topology -:memory: #use in-memory database -SELECT GetLastTopologyException(NULL); -1 # rows (not including the header row) -1 # columns -GetLastTopologyException(NULL) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topoexception2.testcase Index: test/sql_stmt_lwgeom_22_tests/topoexception2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topoexception2.testcase +++ test/sql_stmt_lwgeom_22_tests/topoexception2.testcase @@ -1,7 +0,0 @@ -GetLastTopologyException - Undefined Topology -:memory: #use in-memory database -SELECT GetLastTopologyException('topo'); -1 # rows (not including the header row) -1 # columns -GetLastTopologyException('topo') -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline1.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString(NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString(NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline10.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Double Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', 1.1, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', 1.1, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline11.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline11.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline11.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - NULL Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline12.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline12.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline12.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Text Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', 'geom', 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', 'geom', 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline13.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline13.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline13.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', zeroblob(4), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', zeroblob(4), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline14.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline14.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline14.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Point Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', MakePoint(0, 1, 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', MakePoint(0, 1, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline15.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline15.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline15.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Polygon Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline16.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline16.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline16.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - MULTILINESTRING Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('MULTILINESTRING((0 0, 1 1), (2 2, 3 3))', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('MULTILINESTRING((0 0, 1 1), (2 2, 3 3))', 4326), 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline17.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline17.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline17.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - NULL Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline2.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString(1, GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString(1, GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline3.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString(1.5, GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString(1.5, GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline4.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString(zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString(zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline5.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline6.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Double Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline7.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - BLOB Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline8.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Text Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddline9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddline9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddline9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddline9.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Int Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint1.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint(NULL, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint(NULL, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint10.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Double Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', 1.1, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', 1.1, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint11.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint11.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint11.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - NULL Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint12.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint12.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint12.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Text Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', 'geom', 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', 'geom', 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint13.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint13.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint13.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', zeroblob(4), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', zeroblob(4), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint14.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint14.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint14.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Linestring Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint15.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint15.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint15.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Polygon Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint16.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint16.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint16.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326), 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint17.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint17.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint17.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - NULL Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint2.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint(1, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint(1, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint3.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint(1.5, MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint(1.5, MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint4.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint(zeroblob(4), MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint(zeroblob(4),MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint5.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint6.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Double Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint7.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint8.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Text Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoaddpoint9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoaddpoint9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoaddpoint9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoaddpoint9.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Int Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone1.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - NULL Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone('a', NULL, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone('a', NULL, 'destination') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone10.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Double db-prefix -:memory: #use in-memory database -SELECT TopoGeo_Clone(1.5, 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone11.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone11.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone11.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - BLOB db-prefix -:memory: #use in-memory database -SELECT TopoGeo_Clone(zeroblob(4), 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(zeroblob(4), 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone12.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone12.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone12.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Integer db-prefix -:memory: #use in-memory database -SELECT TopoGeo_Clone(1, 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(1, 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone2.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Int Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone('a', 1, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone('a', 1, 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone3.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Double Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 1.5, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 1.5, 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone4.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Blob Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, zeroblob(4), 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, zeroblob(4), 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone5.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Text Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'topology', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'topology', 'destination') -SQL/MM Spatial exception - invalid topology name (origin). DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone6.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - NULL Topology (destination) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'origin', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone7.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - INT Topology (destination) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'origin', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone8.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Double Topology (destination) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'origin', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoclone9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoclone9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoclone9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoclone9.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - BLOB Topology (destination) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'origin', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext1.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt(NULL, NULL, 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt(NULL, NULL, 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext10.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, NULL, NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, NULL, NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext11.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext11.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext11.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - INT table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 1, NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 1, NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext12.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext12.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext12.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 1.2, NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 1.2, NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext13.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext13.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext13.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, zeroblob(4), NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, zeroblob(4), NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext14.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext14.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext14.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', 'column', 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', 'column', 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext15.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext15.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext15.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Int Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', 1, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', 1, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext16.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext16.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext16.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', 1.2, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', 1.2, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext17.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext17.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext17.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', zeroblob(4), 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', zeroblob(4), 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext18.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext18.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext18.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext19.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext19.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext19.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'zero', 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'zero', 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext2.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt(1, NULL, 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt(1, NULL, 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext20.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext20.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext20.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, zeroblob(4), 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, zeroblob(4), 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext21.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext21.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext21.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext22.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext22.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext22.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext23.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext23.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext23.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', 1.5, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', 1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext24.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext24.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext24.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext24.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', 'abc', -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', 'abc', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext25.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext25.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext25.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext26.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext26.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext26.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext26.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Integer line-max-points / Integer max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext27.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext27.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext27.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext27.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext28.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext28.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext28.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext28.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext29.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext29.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext29.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext29.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext3.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt(1.5, NULL, 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt(1.5, NULL, 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext30.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext30.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext30.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext30.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, 5000.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview', -1, 5000.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext31.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext31.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext31.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext31.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, NULL, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, NULL, 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext32.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext32.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext32.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext32.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - INT dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 1, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 1, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext33.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext33.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext33.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext33.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - DOUBLE dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 1.2, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 1.2, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext34.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext34.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext34.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext34.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - DOUBLE dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 1.2, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 1.2, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext35.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext35.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext35.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext35.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, zeroblob(5), 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, zeroblob(5), 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext36.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext36.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext36.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext36.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 'dustbin', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, NULL, 'dustbin') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext37.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext37.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext37.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext37.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - INT dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 'dustbin', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 1, 'dustbin') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext38.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext38.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext38.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext38.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - DOUBLE dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 'dustbin', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 1.2, 'dustbin') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext39.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext39.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext39.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext39.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 'dustbin', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0.001, 'dustbin', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext4.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt(zeroblob(4), NULL, 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt(zeroblob(4), NULL, 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext5.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext6.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', 'a', 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', 'a', 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext7.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', 1, 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', 1, 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext8.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', 1.2, 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', 1.2, 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromext9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromext9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromext9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromext9.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', zeroblob(4), 'table', NULL, 0, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', zeroblob(4), 'table', NULL, 0, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable1.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable(NULL, NULL, 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable(NULL, NULL, 'table', NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable10.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, NULL, NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, NULL, NULL, 0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable11.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable11.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable11.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - INT table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 1, NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 1, NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable12.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable12.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable12.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 1.2, NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 1.2, NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable13.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable13.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable13.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, zeroblob(4), NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, zeroblob(4), NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable14.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable14.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable14.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', 'column', 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', 'column', 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable15.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable15.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable15.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Int Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', 1, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', 1, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable16.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable16.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable16.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', 1.2, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', 1.2, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable17.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable17.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable17.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', zeroblob(4), 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', zeroblob(4), 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable18.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable18.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable18.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable19.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable19.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable19.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 'zero'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 'zero') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable2.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable(1, NULL, 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable(1, NULL, 'table', NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable20.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable20.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable20.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable21.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable21.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable21.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0.001); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0.001) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable22.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable22.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable22.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, NULL, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable23.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable23.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable23.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, 1.5, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, 1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable24.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable24.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable24.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable24.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, 'abc', -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, 'abc', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable25.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable25.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable25.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable26.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable26.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable26.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable26.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Integer line-max-points / Integer max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable27.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable27.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable27.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable27.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable28.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable28.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable28.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable28.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable29.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable29.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable29.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable29.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable3.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable(1.5, NULL, 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable(1.5, NULL, 'table', NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable30.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable30.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable30.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable30.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, 5000.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0, -1, 5000.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable4.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable(zeroblob(4), NULL, 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable(zeroblob(4), NULL, 'table', NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable5.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable6.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', 'a', 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', 'a', 'table', NULL, 0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable7.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', 1, 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', 1, 'table', NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable8.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', 1.2, 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', 1.2, 'table', NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeofromtable9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeofromtable9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeofromtable9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeofromtable9.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', zeroblob(4), 'table', NULL, 0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', zeroblob(4), 'table', NULL, 0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremoveedges1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremoveedges1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremoveedges1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremoveedges1.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges (NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges (NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremoveedges2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremoveedges2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremoveedges2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremoveedges2.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremoveedges3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremoveedges3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremoveedges3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremoveedges3.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges(1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremoveedges4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremoveedges4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremoveedges4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremoveedges4.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremoveedges5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremoveedges5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremoveedges5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremoveedges5.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges('topology'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovenodes1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovenodes1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovenodes1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovenodes1.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes (NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes (NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovenodes2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovenodes2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovenodes2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovenodes2.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovenodes3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovenodes3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovenodes3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovenodes3.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes(1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovenodes4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovenodes4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovenodes4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovenodes4.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovenodes5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovenodes5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovenodes5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovenodes5.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes('topology'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall1.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces (NULL, 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces (NULL, 0.1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall2.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces(1, 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces(1, NULL, 0.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall3.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces(1.5, 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces(1.5, 0.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall4.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces(zeroblob(4), 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces(zeroblob(4), 0.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall5.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', 0.1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall6.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - TEXT min-area -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', 'a'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', 'a') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall7.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - INT min-area -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall8.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - NULL min-area -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoremovesmall9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoremovesmall9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoremovesmall9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoremovesmall9.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline1.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Ok #1 -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 1, 2 3)', 4326), 512, -1)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 1, 2 3)', 4326), 512, -1)) -MULTILINESTRING((0 1, 2 3)) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline10.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Text max points -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'alpha', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'alpha', 1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline11.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline11.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline11.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - BLOB max points -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4), -1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline12.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline12.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline12.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - NULL max-length -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), -1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), -1, NULL) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline13.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline13.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline13.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - TEXT max-length -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), -1, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), -1, 'abc') -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline14.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline14.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline14.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - BLOB max-length -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), -1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), -1, zeroblob(4)) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline15.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline15.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline15.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Int max-length -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGM(1 2 3, 4 5 6)', 4326), -1, 1000)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGM(1 2 3, 4 5 6)', 4326), -1, 1000)) -MULTILINESTRING M((1 2 3, 4 5 6)) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline16.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline16.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline16.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Double max-length -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZM(1 2 3 4, 5 6 7 8)', 4326), -1, 1000.0)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZM(1 2 3 4, 5 6 7 8)', 4326), -1, 1000.0)) -MULTILINESTRING ZM((1 2 3 4, 5 6 7 8)) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline2.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Ok #2 -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZ(1 2 3, 4 5 6)', 4326), -1, -1)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZ(1 2 3, 4 5 6)', 4326), -1, -1)) -MULTILINESTRING Z((1 2 3, 4 5 6)) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline3.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - NULL Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(NULL, -1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(NULL, -1, -1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline4.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Integer Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(1, -1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(1, -1, -1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline5.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Double Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(1.2, -1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(1.2, -1, -1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline6.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Text Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines('alpha', -1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines('alpha', -1, -1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline7.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - invalid BLOB Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(zeroblob(100), -1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(zeroblob(100), -1, -1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline8.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - NULL max points -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL, -1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeosplitline9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeosplitline9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeosplitline9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeosplitline9.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Double max points -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 1.5, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 1.5, -1) -(NULL) DELETED test/sql_stmt_lwgeom_22_tests/topogeototable1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable1.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable(NULL, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable(NULL, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable10.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - NULL ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, NULL, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, NULL, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable11.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable11.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable11.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - INT ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 1, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 1, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable12.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable12.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable12.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 1.2, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 1.2, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable13.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable13.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable13.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, zeroblob(4), NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, zeroblob(4), NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable14.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable14.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable14.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Text Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', 'column', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', 'column', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable15.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable15.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable15.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Int Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable16.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable16.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable16.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', 1.2, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', 1.2, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable17.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable17.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable17.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable18.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable18.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable18.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - NULL out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable19.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable19.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable19.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable2.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable(1, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable(1, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable20.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable20.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable20.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable21.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable21.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable21.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Text out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable22.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable22.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable22.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Text with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 'tol'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable23.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable23.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable23.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable24.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable24.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable24.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable24.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable25.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable25.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable25.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - NULL with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable26.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable26.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable26.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable26.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Integer with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable3.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable(1.5, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable(1.5, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable4.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable(zeroblob(4), NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable(zeroblob(4), NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable5.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable6.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', 'a', 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', 'a', 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable7.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', 1, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', 1, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable8.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', 1.2, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', 1.2, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototable9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototable9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototable9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototable9.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', zeroblob(4), 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', zeroblob(4), 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen1.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize(NULL, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize(NULL, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen10.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, NULL, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, NULL, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen11.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen11.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen11.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - INT ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 1, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 1, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen12.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen12.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen12.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 1.2, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 1.2, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen13.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen13.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen13.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, zeroblob(4), NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, zeroblob(4), NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen14.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen14.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen14.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 'column', 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 'column', 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen15.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen15.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen15.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Int Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 1, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 1, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen16.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen16.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen16.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 1.2, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 1.2, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen17.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen17.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen17.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', zeroblob(4), 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', zeroblob(4), 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen18.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen18.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen18.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, NULL, 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, NULL, 10.0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen19.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen19.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen19.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 1.2, 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 1.2, 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen2.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize(1, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize(1, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen20.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen20.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen20.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, zeroblob(4), 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, zeroblob(4), 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen21.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen21.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen21.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen22.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen22.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen22.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 'no', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 'no', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen23.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen23.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen23.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB toleramce -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen24.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen24.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen24.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen24.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double toleramce -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen25.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen25.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen25.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL toleramce -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen26.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen26.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen26.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen26.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Integer tolerance -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen27.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen27.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen27.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen27.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 'no'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen28.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen28.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen28.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen28.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen29.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen29.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen29.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen29.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen3.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize(1.5, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize(1.5, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen30.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen30.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen30.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen30.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen31.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen31.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen31.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen31.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Integer with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen4.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize(zeroblob(4), NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize(zeroblob(4), NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen5.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen6.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', 'a', 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', 'a', 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen7.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', 1, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', 1, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen8.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', 1.2, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', 1.2, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeototablegen9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeototablegen9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeototablegen9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeototablegen9.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', zeroblob(4), 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', zeroblob(4), 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds1.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds1.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds1.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds(NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds10.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds10.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds10.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Text mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', 'mode'); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', 'mode') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds2.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds2.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds2.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds3.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds3.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds3.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds(1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds4.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds4.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds4.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds5.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds5.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds5.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology'); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds6.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds6.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds6.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - NULL mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds7.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds7.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds7.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Int mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds8.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds8.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds8.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Double mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds9.testcase Index: test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds9.testcase +++ test/sql_stmt_lwgeom_22_tests/topogeoupdateseeds9.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Blob mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/topomettotable25.testcase Index: test/sql_stmt_lwgeom_22_tests/topomettotable25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/topomettotable25.testcase +++ test/sql_stmt_lwgeom_22_tests/topomettotable25.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - NULL with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone1.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone1.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone1.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - NULL Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, NULL, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, NULL, 'destination') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone10.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone10.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone10.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Double db-prefix -:memory: #use in-memory database -SELECT TopoNet_Clone(1.5, 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(1.5, 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone11.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone11.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone11.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Integer db-prefix -:memory: #use in-memory database -SELECT TopoNet_Clone(1, 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(1, 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone12.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone12.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone12.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - BLOB db-prefix -:memory: #use in-memory database -SELECT TopoNet_Clone(zeroblob(4), 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(zeroblob(4), 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone2.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone2.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone2.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Int Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone("a", 1, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone("a", 1, 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone3.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone3.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone3.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Double Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone("a", 1.5, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone("a", 1.5, 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone4.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone4.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone4.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Blob Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, zeroblob(4), 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, zeroblob(4), 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone5.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone5.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone5.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Text Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'topology', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'topology', 'destination') -SQL/MM Spatial exception - invalid network name (origin). DELETED test/sql_stmt_lwgeom_22_tests/toponetclone6.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone6.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone6.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - NULL Network (destination) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'origin', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'origin', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone7.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone7.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone7.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - INT Network (destination) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'origin', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'origin', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone8.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone8.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone8.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Double Network (destination) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'origin', 1.2); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'origin', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetclone9.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetclone9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetclone9.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetclone9.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - BLOB Network (destination) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'origin', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'origin', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable1.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable1.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable1.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - NULL Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable(NULL, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable(NULL, NULL, 'table', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable10.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable10.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable10.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - NULL table -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, NULL, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable11.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable11.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable11.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - INT table -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 1, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable12.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable12.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable12.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Double table -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 1.2, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 1.2, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable13.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable13.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable13.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - BLOB table -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, zeroblob(4), NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, zeroblob(4), NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable14.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable14.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable14.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Text Column -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', 'column'); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', 'column') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable15.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable15.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable15.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Int Column -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable16.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable16.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable16.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Double Column -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', 1.2); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable17.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable17.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable17.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - BLOB Column -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable2.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable2.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable2.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Int Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable(1, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable(1, NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable3.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable3.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable3.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Double Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable(1.5, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable(1.5, NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable4.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable4.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable4.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Blob Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable(zeroblob(4), NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable(zeroblob(4), NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable5.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable5.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable5.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Text Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', NULL) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable6.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable6.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable6.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - TEXT prefix -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', 'a', 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', 'a', 'table', NULL) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable7.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable7.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable7.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - INT prefix -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', 1, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', 1, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable8.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable8.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable8.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Double prefix -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', 1.2, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', 1.2, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetfromtable9.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetfromtable9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetfromtable9.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetfromtable9.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - BLOB prefix -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', zeroblob(4), 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', zeroblob(4), 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable1.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable1.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable1.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - NULL Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable(NULL, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable(NULL, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable10.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable10.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable10.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - NULL ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, NULL, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, NULL, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable11.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable11.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable11.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - INT ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 1, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 1, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable12.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable12.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable12.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 1.2, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 1.2, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable13.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable13.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable13.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, zeroblob(4), NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, zeroblob(4), NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable14.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable14.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable14.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Text Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', 'column', 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', 'column', 'out') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable15.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable15.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable15.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Int Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable16.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable16.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable16.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', 1.2, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', 1.2, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable17.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable17.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable17.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable18.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable18.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable18.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - NULL out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable19.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable19.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable19.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('topology', NULL, 'table', NULL, 1.2); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('topology', NULL, 'table', NULL, 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable2.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable2.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable2.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Int Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable(1, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable(1, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable20.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable20.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable20.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable21.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable21.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable21.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Text out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable22.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable22.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable22.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Text with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 'no'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable23.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable23.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable23.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable24.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable24.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable24.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable24.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 1.1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable25.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable25.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable25.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL with-spatial-index -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable26.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable26.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable26.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable26.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Integer with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable3.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable3.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable3.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable(1.5, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable(1.5, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable4.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable4.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable4.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Blob Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable(zeroblob(4), NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable(zeroblob(4), NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable5.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable5.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable5.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Text Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable6.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable6.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable6.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - TEXT prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', 'a', 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', 'a', 'table', NULL, 'out') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable7.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable7.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable7.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - INT prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', 1, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', 1, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable8.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable8.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable8.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', 1.2, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', 1.2, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotable9.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotable9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotable9.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotable9.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', zeroblob(4), 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', zeroblob(4), 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen1.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen1.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen1.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize(NULL, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize(NULL, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen10.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen10.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen10.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, NULL, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, NULL, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen11.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen11.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen11.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen11.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - INT ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 1, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 1, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen12.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen12.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen12.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen12.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 1.2, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 1.2, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen13.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen13.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen13.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen13.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, zeroblob(4), NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, zeroblob(4), NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen14.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen14.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen14.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen14.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 'column', 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 'column', 'out', 10.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen15.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen15.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen15.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen15.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Int Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 1, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 1, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen16.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen16.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen16.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen16.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 1.2, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 1.2, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen17.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen17.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen17.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen17.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', zeroblob(4), 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', zeroblob(4), 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen18.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen18.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen18.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen18.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, NULL, 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, NULL, 10.0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen19.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen19.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen19.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen19.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 1.2, 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 1.2, 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen2.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen2.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen2.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Int Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize(1, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize(1, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen20.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen20.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen20.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen20.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, zeroblob(4), 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, zeroblob(4), 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen21.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen21.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen21.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen21.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen22.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen22.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen22.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen22.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 'tol'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen23.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen23.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen23.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen23.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen24.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen24.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen24.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen24.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 1.1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 1.1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen25.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen25.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen25.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen25.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen26.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen26.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen26.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen26.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Integer tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen27.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen27.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen27.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen27.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 'no'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen28.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen28.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen28.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen28.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen29.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen29.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen29.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen29.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 1.1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen3.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen3.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen3.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize(1.5, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize(1.5, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen30.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen30.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen30.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen30.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Integer with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen31.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen31.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen31.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen31.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen4.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen4.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen4.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Blob Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize(zeroblob(4), NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize(zeroblob(4), NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen5.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen5.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen5.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen6.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen6.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen6.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - TEXT prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', 'a', 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', 'a', 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen7.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen7.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen7.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - INT prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', 1, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', 1, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen8.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen8.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen8.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', 1.2, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', 1.2, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponettotablegen9.testcase Index: test/sql_stmt_lwgeom_22_tests/toponettotablegen9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponettotablegen9.testcase +++ test/sql_stmt_lwgeom_22_tests/toponettotablegen9.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', zeroblob(4), 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', zeroblob(4), 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds1.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds1.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds1.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - NULL Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds(NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds10.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds10.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds10.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds10.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Text mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', 'mode'); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', 'mode') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds2.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds2.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds2.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Int Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds(1); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds3.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds3.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds3.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Double Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds(1.5); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds4.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds4.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds4.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Blob Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds5.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds5.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds5.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Text Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network'); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds6.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds6.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds6.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds6.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - NULL mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds7.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds7.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds7.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds7.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Int mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds8.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds8.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds8.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds8.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Double mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', 1.5); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/toponetupdateseeds9.testcase Index: test/sql_stmt_lwgeom_22_tests/toponetupdateseeds9.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/toponetupdateseeds9.testcase +++ test/sql_stmt_lwgeom_22_tests/toponetupdateseeds9.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Blob mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validatetopogeo1.testcase Index: test/sql_stmt_lwgeom_22_tests/validatetopogeo1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validatetopogeo1.testcase +++ test/sql_stmt_lwgeom_22_tests/validatetopogeo1.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - NULL Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo(NULL); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/validatetopogeo2.testcase Index: test/sql_stmt_lwgeom_22_tests/validatetopogeo2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validatetopogeo2.testcase +++ test/sql_stmt_lwgeom_22_tests/validatetopogeo2.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - Int Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo(1); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validatetopogeo3.testcase Index: test/sql_stmt_lwgeom_22_tests/validatetopogeo3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validatetopogeo3.testcase +++ test/sql_stmt_lwgeom_22_tests/validatetopogeo3.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - Double Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo(1.5); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validatetopogeo4.testcase Index: test/sql_stmt_lwgeom_22_tests/validatetopogeo4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validatetopogeo4.testcase +++ test/sql_stmt_lwgeom_22_tests/validatetopogeo4.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - Blob Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validatetopogeo5.testcase Index: test/sql_stmt_lwgeom_22_tests/validatetopogeo5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validatetopogeo5.testcase +++ test/sql_stmt_lwgeom_22_tests/validatetopogeo5.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - Text Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo('topology'); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_lwgeom_22_tests/validlogicalnet1.testcase Index: test/sql_stmt_lwgeom_22_tests/validlogicalnet1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validlogicalnet1.testcase +++ test/sql_stmt_lwgeom_22_tests/validlogicalnet1.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - NULL Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet(NULL); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/validlogicalnet2.testcase Index: test/sql_stmt_lwgeom_22_tests/validlogicalnet2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validlogicalnet2.testcase +++ test/sql_stmt_lwgeom_22_tests/validlogicalnet2.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - Int Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet(1); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validlogicalnet3.testcase Index: test/sql_stmt_lwgeom_22_tests/validlogicalnet3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validlogicalnet3.testcase +++ test/sql_stmt_lwgeom_22_tests/validlogicalnet3.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - Double Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet(1.5); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validlogicalnet4.testcase Index: test/sql_stmt_lwgeom_22_tests/validlogicalnet4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validlogicalnet4.testcase +++ test/sql_stmt_lwgeom_22_tests/validlogicalnet4.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - Blob Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validlogicalnet5.testcase Index: test/sql_stmt_lwgeom_22_tests/validlogicalnet5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validlogicalnet5.testcase +++ test/sql_stmt_lwgeom_22_tests/validlogicalnet5.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - Text Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet('network'); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet('network') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_lwgeom_22_tests/validspatialnet1.testcase Index: test/sql_stmt_lwgeom_22_tests/validspatialnet1.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validspatialnet1.testcase +++ test/sql_stmt_lwgeom_22_tests/validspatialnet1.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - NULL Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet(NULL); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_lwgeom_22_tests/validspatialnet2.testcase Index: test/sql_stmt_lwgeom_22_tests/validspatialnet2.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validspatialnet2.testcase +++ test/sql_stmt_lwgeom_22_tests/validspatialnet2.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - Int Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet(1); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validspatialnet3.testcase Index: test/sql_stmt_lwgeom_22_tests/validspatialnet3.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validspatialnet3.testcase +++ test/sql_stmt_lwgeom_22_tests/validspatialnet3.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - Double Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet(1.5); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validspatialnet4.testcase Index: test/sql_stmt_lwgeom_22_tests/validspatialnet4.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validspatialnet4.testcase +++ test/sql_stmt_lwgeom_22_tests/validspatialnet4.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - Blob Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_lwgeom_22_tests/validspatialnet5.testcase Index: test/sql_stmt_lwgeom_22_tests/validspatialnet5.testcase ================================================================== --- test/sql_stmt_lwgeom_22_tests/validspatialnet5.testcase +++ test/sql_stmt_lwgeom_22_tests/validspatialnet5.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - Text Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet('network'); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet('network') -SQL/MM Spatial exception - invalid network name. ADDED test/sql_stmt_lwgeom_tests/3ddistance1.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance1.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance1.testcase @@ -0,0 +1,8 @@ +3DDistance - two 2D points +:memory: #use in-memory database +SELECT ST_3DDistance(MakePoint(1, 2), MakePoint(4, 6)) +1 # rows (not including the header row) +1 # columns +ST_3DDistance(MakePoint(1, 2), MakePoint(4, 6)) +5.0 + ADDED test/sql_stmt_lwgeom_tests/3ddistance10.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance10.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance10.testcase @@ -0,0 +1,8 @@ +3DDistance - two 3D linestring +:memory: #use in-memory database +SELECT ST_3DDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); +1 # rows (not including the header row) +1 # columns +ST_3DDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); +1.262388:6 + ADDED test/sql_stmt_lwgeom_tests/3ddistance2.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance2.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance2.testcase @@ -0,0 +1,8 @@ +3DDistance - two 2D identical points +:memory: #use in-memory database +SELECT ST_3DDistance(MakePoint(1, 2), MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_3DDistance(MakePoint(1, 2), MakePoint(1, 2)) +0.0 + ADDED test/sql_stmt_lwgeom_tests/3ddistance3.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance3.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance3.testcase @@ -0,0 +1,8 @@ +3DDistance - bad blob first arg +:memory: #use in-memory database +SELECT ST_3DDistance(zeroblob(100), MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_3DDistance(zeroblob(100), MakePoint(1, 2)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/3ddistance4.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance4.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance4.testcase @@ -0,0 +1,8 @@ +3DDistance - bad blob second arg +:memory: #use in-memory database +SELECT ST_3DDistance(MakePoint(1, 2), zeroblob(100)) +1 # rows (not including the header row) +1 # columns +ST_3DDistance(MakePoint(1, 2), zeroblob(100)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/3ddistance5.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance5.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance5.testcase @@ -0,0 +1,8 @@ +3DDistance - non-blob first arg +:memory: #use in-memory database +SELECT ST_3DDistance(3, MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_3DDistance(3, MakePoint(1, 2)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/3ddistance6.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance6.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance6.testcase @@ -0,0 +1,8 @@ +3DDistance - bad blob second arg +:memory: #use in-memory database +SELECT ST_3DDistance(MakePoint(1, 2), "hello") +1 # rows (not including the header row) +1 # columns +ST_3DDistance(MakePoint(1, 2), "hello") +(NULL) + ADDED test/sql_stmt_lwgeom_tests/3ddistance7.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance7.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance7.testcase @@ -0,0 +1,8 @@ +3DDistance - parallel 2D lines +:memory: #use in-memory database +SELECT ST_3DDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) +1 # rows (not including the header row) +1 # columns +ST_3DDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) +2.0 + ADDED test/sql_stmt_lwgeom_tests/3ddistance8.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance8.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance8.testcase @@ -0,0 +1,8 @@ +3DDistance - intersecting 2D lines +:memory: #use in-memory database +SELECT ST_3DDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) +1 # rows (not including the header row) +1 # columns +ST_3DDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) +0.0 + ADDED test/sql_stmt_lwgeom_tests/3ddistance9.testcase Index: test/sql_stmt_lwgeom_tests/3ddistance9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3ddistance9.testcase +++ test/sql_stmt_lwgeom_tests/3ddistance9.testcase @@ -0,0 +1,8 @@ +3DDistance - two 3D points +:memory: #use in-memory database +SELECT ST_3DDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)); +1 # rows (not including the header row) +1 # columns +ST_3DDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)) +5.385164:6 + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance1.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance1.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance1.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - two 2D points +:memory: #use in-memory database +SELECT ST_3DMaxDistance(MakePoint(1, 2), MakePoint(4, 6)) +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(MakePoint(1, 2), MakePoint(4, 6)) +5.0 + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance10.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance10.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance10.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - two 3D linestring +:memory: #use in-memory database +SELECT ST_3DMaxDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); +10.862780:6 + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance2.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance2.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance2.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - two 2D identical points +:memory: #use in-memory database +SELECT ST_3DMaxDistance(MakePoint(1, 2), MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(MakePoint(1, 2), MakePoint(1, 2)) +0.0 + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance3.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance3.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance3.testcase @@ -0,0 +1,8 @@ +MaxDistance - bad blob first arg +:memory: #use in-memory database +SELECT ST_MaxDistance(zeroblob(100), MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(zeroblob(100), MakePoint(1, 2)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance4.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance4.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance4.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - bad blob second arg +:memory: #use in-memory database +SELECT ST_3DMaxDistance(MakePoint(1, 2), zeroblob(100)) +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(MakePoint(1, 2), zeroblob(100)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance5.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance5.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance5.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - non-blob first arg +:memory: #use in-memory database +SELECT ST_3DMaxDistance(3, MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(3, MakePoint(1, 2)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance6.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance6.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance6.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - bad blob second arg +:memory: #use in-memory database +SELECT ST_3DMaxDistance(MakePoint(1, 2), "hello") +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(MakePoint(1, 2), "hello") +(NULL) + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance7.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance7.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance7.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - parallel 2D lines +:memory: #use in-memory database +SELECT ST_3DMaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) +10.198039:6 + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance8.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance8.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance8.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - intersecting 2D lines +:memory: #use in-memory database +SELECT ST_3DMaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) +11.180339:6 + ADDED test/sql_stmt_lwgeom_tests/3dmaxdistance9.testcase Index: test/sql_stmt_lwgeom_tests/3dmaxdistance9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/3dmaxdistance9.testcase +++ test/sql_stmt_lwgeom_tests/3dmaxdistance9.testcase @@ -0,0 +1,8 @@ +3DMaxDistance - two 3D points +:memory: #use in-memory database +SELECT ST_3DMaxDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)); +1 # rows (not including the header row) +1 # columns +ST_3DMaxDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)) +5.385164:6 + ADDED test/sql_stmt_lwgeom_tests/Makefile.am Index: test/sql_stmt_lwgeom_tests/Makefile.am ================================================================== --- test/sql_stmt_lwgeom_tests/Makefile.am +++ test/sql_stmt_lwgeom_tests/Makefile.am @@ -0,0 +1,290 @@ + +EXTRA_DIST = 3ddistance10.testcase \ + 3ddistance1.testcase \ + 3ddistance2.testcase \ + 3ddistance3.testcase \ + 3ddistance4.testcase \ + 3ddistance5.testcase \ + 3ddistance6.testcase \ + 3ddistance7.testcase \ + 3ddistance8.testcase \ + 3ddistance9.testcase \ + 3dmaxdistance10.testcase \ + 3dmaxdistance1.testcase \ + 3dmaxdistance2.testcase \ + 3dmaxdistance3.testcase \ + 3dmaxdistance4.testcase \ + 3dmaxdistance5.testcase \ + 3dmaxdistance6.testcase \ + 3dmaxdistance7.testcase \ + 3dmaxdistance8.testcase \ + 3dmaxdistance9.testcase \ + maxdistance10.testcase \ + maxdistance1.testcase \ + maxdistance2.testcase \ + maxdistance3.testcase \ + maxdistance4.testcase \ + maxdistance5.testcase \ + maxdistance6.testcase \ + maxdistance7.testcase \ + maxdistance8.testcase \ + maxdistance9.testcase \ + st_asx3d10.testcase \ + st_asx3d11.testcase \ + st_asx3d12.testcase \ + st_asx3d13.testcase \ + st_asx3d14.testcase \ + st_asx3d15.testcase \ + st_asx3d16.testcase \ + st_asx3d17.testcase \ + st_asx3d18.testcase \ + st_asx3d19.testcase \ + st_asx3d1.testcase \ + st_asx3d20.testcase \ + st_asx3d21.testcase \ + st_asx3d22.testcase \ + st_asx3d23.testcase \ + st_asx3d24.testcase \ + st_asx3d25.testcase \ + st_asx3d26.testcase \ + st_asx3d27.testcase \ + st_asx3d28.testcase \ + st_asx3d29.testcase \ + st_asx3d2.testcase \ + st_asx3d30.testcase \ + st_asx3d3.testcase \ + st_asx3d4.testcase \ + st_asx3d5.testcase \ + st_asx3d6.testcase \ + st_asx3d7.testcase \ + st_asx3d8.testcase \ + st_asx3d9.testcase \ + st_area10.testcase \ + st_area11.testcase \ + st_area12.testcase \ + st_area13.testcase \ + st_area14.testcase \ + st_area15.testcase \ + st_area16.testcase \ + st_area17.testcase \ + st_area18.testcase \ + st_azimuth11.testcase \ + st_azimuth12.testcase \ + st_azimuth13.testcase \ + st_azimuth14.testcase \ + st_azimuth15.testcase \ + st_azimuth16.testcase \ + st_azimuth17.testcase \ + st_azimuth1.testcase \ + st_azimuth2.testcase \ + st_azimuth3.testcase \ + st_azimuth4.testcase \ + st_azimuth5.testcase \ + st_azimuth6.testcase \ + st_azimuth7.testcase \ + st_azimuth8.testcase \ + st_azimuth9.testcase \ + st_geohash10.testcase \ + st_geohash1.testcase \ + st_geohash2.testcase \ + st_geohash3.testcase \ + st_geohash4.testcase \ + st_geohash5.testcase \ + st_geohash6.testcase \ + st_geohash7.testcase \ + st_geohash8.testcase \ + st_geohash9.testcase \ + st_makevalid1.testcase \ + st_makevalid2.testcase \ + st_makevalid3.testcase \ + st_makevalid4.testcase \ + st_makevalid5.testcase \ + st_makevalid6.testcase \ + st_makevalid7.testcase \ + st_makevalid8.testcase \ + st_makevaliddiscarded1.testcase \ + st_makevaliddiscarded2.testcase \ + st_makevaliddiscarded3.testcase \ + st_makevaliddiscarded4.testcase \ + st_makevaliddiscarded5.testcase \ + st_makevaliddiscarded6.testcase \ + st_makevaliddiscarded7.testcase \ + st_makevaliddiscarded8.testcase \ + st_project1.testcase \ + st_project2.testcase \ + st_project3.testcase \ + st_project4.testcase \ + st_project5.testcase \ + st_project6.testcase \ + st_project7.testcase \ + st_project8.testcase \ + st_project9.testcase \ + st_project10.testcase \ + st_project11.testcase \ + st_project12.testcase \ + st_project13.testcase \ + st_project14.testcase \ + st_segmentize10.testcase \ + st_segmentize11.testcase \ + st_segmentize12.testcase \ + st_segmentize13.testcase \ + st_segmentize14.testcase \ + st_segmentize15.testcase \ + st_segmentize16.testcase \ + st_segmentize17.testcase \ + st_segmentize18.testcase \ + st_segmentize19.testcase \ + st_segmentize1.testcase \ + st_segmentize20.testcase \ + st_segmentize21.testcase \ + st_segmentize22.testcase \ + st_segmentize23.testcase \ + st_segmentize24.testcase \ + st_segmentize25.testcase \ + st_segmentize26.testcase \ + st_segmentize27.testcase \ + st_segmentize28.testcase \ + st_segmentize29.testcase \ + st_segmentize2.testcase \ + st_segmentize30.testcase \ + st_segmentize31.testcase \ + st_segmentize3.testcase \ + st_segmentize4.testcase \ + st_segmentize5.testcase \ + st_segmentize6.testcase \ + st_segmentize7.testcase \ + st_segmentize8.testcase \ + st_segmentize9.testcase \ + st_snaptogrid10.testcase \ + st_snaptogrid11.testcase \ + st_snaptogrid12.testcase \ + st_snaptogrid13.testcase \ + st_snaptogrid14.testcase \ + st_snaptogrid15.testcase \ + st_snaptogrid16.testcase \ + st_snaptogrid17.testcase \ + st_snaptogrid18.testcase \ + st_snaptogrid19.testcase \ + st_snaptogrid1.testcase \ + st_snaptogrid20.testcase \ + st_snaptogrid21.testcase \ + st_snaptogrid22.testcase \ + st_snaptogrid23.testcase \ + st_snaptogrid24.testcase \ + st_snaptogrid25.testcase \ + st_snaptogrid26.testcase \ + st_snaptogrid27.testcase \ + st_snaptogrid28.testcase \ + st_snaptogrid29.testcase \ + st_snaptogrid2.testcase \ + st_snaptogrid30.testcase \ + st_snaptogrid31.testcase \ + st_snaptogrid32.testcase \ + st_snaptogrid33.testcase \ + st_snaptogrid34.testcase \ + st_snaptogrid35.testcase \ + st_snaptogrid36.testcase \ + st_snaptogrid37.testcase \ + st_snaptogrid38.testcase \ + st_snaptogrid39.testcase \ + st_snaptogrid3.testcase \ + st_snaptogrid40.testcase \ + st_snaptogrid41.testcase \ + st_snaptogrid42.testcase \ + st_snaptogrid43.testcase \ + st_snaptogrid44.testcase \ + st_snaptogrid45.testcase \ + st_snaptogrid46.testcase \ + st_snaptogrid47.testcase \ + st_snaptogrid48.testcase \ + st_snaptogrid49.testcase \ + st_snaptogrid4.testcase \ + st_snaptogrid50.testcase \ + st_snaptogrid51.testcase \ + st_snaptogrid52.testcase \ + st_snaptogrid53.testcase \ + st_snaptogrid54.testcase \ + st_snaptogrid55.testcase \ + st_snaptogrid56.testcase \ + st_snaptogrid57.testcase \ + st_snaptogrid58.testcase \ + st_snaptogrid59.testcase \ + st_snaptogrid5.testcase \ + st_snaptogrid60.testcase \ + st_snaptogrid61.testcase \ + st_snaptogrid62.testcase \ + st_snaptogrid63.testcase \ + st_snaptogrid64.testcase \ + st_snaptogrid65.testcase \ + st_snaptogrid6.testcase \ + st_snaptogrid7.testcase \ + st_snaptogrid8.testcase \ + st_snaptogrid9.testcase \ + st_split10.testcase \ + st_split11.testcase \ + st_split12.testcase \ + st_split13.testcase \ + st_split14.testcase \ + st_split15.testcase \ + st_split16.testcase \ + st_split17.testcase \ + st_split18.testcase \ + st_split19.testcase \ + st_split1.testcase \ + st_split20.testcase \ + st_split21.testcase \ + st_split22.testcase \ + st_split23.testcase \ + st_split24.testcase \ + st_split25.testcase \ + st_split26.testcase \ + st_split27.testcase \ + st_split28.testcase \ + st_split29.testcase \ + st_split2.testcase \ + st_split30.testcase \ + st_split31.testcase \ + st_split32.testcase \ + st_split33.testcase \ + st_split34.testcase \ + st_split35.testcase \ + st_split36.testcase \ + st_split37.testcase \ + st_split38.testcase \ + st_split39.testcase \ + st_split3.testcase \ + st_split40.testcase \ + st_split41.testcase \ + st_split42.testcase \ + st_split43.testcase \ + st_split44.testcase \ + st_split45.testcase \ + st_split46.testcase \ + st_split47.testcase \ + st_split48.testcase \ + st_split49.testcase \ + st_split4.testcase \ + st_split5.testcase \ + st_split6.testcase \ + st_split7.testcase \ + st_split8.testcase \ + st_split9.testcase \ + st_node1.testcase \ + st_node2.testcase \ + st_node3.testcase \ + st_node4.testcase \ + st_node5.testcase \ + st_node6.testcase \ + st_node7.testcase \ + st_node8.testcase \ + st_node9.testcase \ + st_self1.testcase \ + st_self2.testcase \ + st_self3.testcase \ + st_self4.testcase \ + st_self5.testcase \ + st_self6.testcase \ + st_self7.testcase \ + st_self8.testcase \ + st_self9.testcase + ADDED test/sql_stmt_lwgeom_tests/Makefile.in Index: test/sql_stmt_lwgeom_tests/Makefile.in ================================================================== --- test/sql_stmt_lwgeom_tests/Makefile.in +++ test/sql_stmt_lwgeom_tests/Makefile.in @@ -0,0 +1,725 @@ +# Makefile.in generated by automake 1.14.1 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2013 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +VPATH = @srcdir@ +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = test/sql_stmt_lwgeom_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GEOSCONFIG = @GEOSCONFIG@ +GEOS_CFLAGS = @GEOS_CFLAGS@ +GEOS_LDFLAGS = @GEOS_LDFLAGS@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ +LIBXML2_LIBS = @LIBXML2_LIBS@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +EXTRA_DIST = 3ddistance10.testcase \ + 3ddistance1.testcase \ + 3ddistance2.testcase \ + 3ddistance3.testcase \ + 3ddistance4.testcase \ + 3ddistance5.testcase \ + 3ddistance6.testcase \ + 3ddistance7.testcase \ + 3ddistance8.testcase \ + 3ddistance9.testcase \ + 3dmaxdistance10.testcase \ + 3dmaxdistance1.testcase \ + 3dmaxdistance2.testcase \ + 3dmaxdistance3.testcase \ + 3dmaxdistance4.testcase \ + 3dmaxdistance5.testcase \ + 3dmaxdistance6.testcase \ + 3dmaxdistance7.testcase \ + 3dmaxdistance8.testcase \ + 3dmaxdistance9.testcase \ + maxdistance10.testcase \ + maxdistance1.testcase \ + maxdistance2.testcase \ + maxdistance3.testcase \ + maxdistance4.testcase \ + maxdistance5.testcase \ + maxdistance6.testcase \ + maxdistance7.testcase \ + maxdistance8.testcase \ + maxdistance9.testcase \ + st_asx3d10.testcase \ + st_asx3d11.testcase \ + st_asx3d12.testcase \ + st_asx3d13.testcase \ + st_asx3d14.testcase \ + st_asx3d15.testcase \ + st_asx3d16.testcase \ + st_asx3d17.testcase \ + st_asx3d18.testcase \ + st_asx3d19.testcase \ + st_asx3d1.testcase \ + st_asx3d20.testcase \ + st_asx3d21.testcase \ + st_asx3d22.testcase \ + st_asx3d23.testcase \ + st_asx3d24.testcase \ + st_asx3d25.testcase \ + st_asx3d26.testcase \ + st_asx3d27.testcase \ + st_asx3d28.testcase \ + st_asx3d29.testcase \ + st_asx3d2.testcase \ + st_asx3d30.testcase \ + st_asx3d3.testcase \ + st_asx3d4.testcase \ + st_asx3d5.testcase \ + st_asx3d6.testcase \ + st_asx3d7.testcase \ + st_asx3d8.testcase \ + st_asx3d9.testcase \ + st_area10.testcase \ + st_area11.testcase \ + st_area12.testcase \ + st_area13.testcase \ + st_area14.testcase \ + st_area15.testcase \ + st_area16.testcase \ + st_area17.testcase \ + st_area18.testcase \ + st_azimuth11.testcase \ + st_azimuth12.testcase \ + st_azimuth13.testcase \ + st_azimuth14.testcase \ + st_azimuth15.testcase \ + st_azimuth16.testcase \ + st_azimuth17.testcase \ + st_azimuth1.testcase \ + st_azimuth2.testcase \ + st_azimuth3.testcase \ + st_azimuth4.testcase \ + st_azimuth5.testcase \ + st_azimuth6.testcase \ + st_azimuth7.testcase \ + st_azimuth8.testcase \ + st_azimuth9.testcase \ + st_geohash10.testcase \ + st_geohash1.testcase \ + st_geohash2.testcase \ + st_geohash3.testcase \ + st_geohash4.testcase \ + st_geohash5.testcase \ + st_geohash6.testcase \ + st_geohash7.testcase \ + st_geohash8.testcase \ + st_geohash9.testcase \ + st_makevalid1.testcase \ + st_makevalid2.testcase \ + st_makevalid3.testcase \ + st_makevalid4.testcase \ + st_makevalid5.testcase \ + st_makevalid6.testcase \ + st_makevalid7.testcase \ + st_makevalid8.testcase \ + st_makevaliddiscarded1.testcase \ + st_makevaliddiscarded2.testcase \ + st_makevaliddiscarded3.testcase \ + st_makevaliddiscarded4.testcase \ + st_makevaliddiscarded5.testcase \ + st_makevaliddiscarded6.testcase \ + st_makevaliddiscarded7.testcase \ + st_makevaliddiscarded8.testcase \ + st_project1.testcase \ + st_project2.testcase \ + st_project3.testcase \ + st_project4.testcase \ + st_project5.testcase \ + st_project6.testcase \ + st_project7.testcase \ + st_project8.testcase \ + st_project9.testcase \ + st_project10.testcase \ + st_project11.testcase \ + st_project12.testcase \ + st_project13.testcase \ + st_project14.testcase \ + st_segmentize10.testcase \ + st_segmentize11.testcase \ + st_segmentize12.testcase \ + st_segmentize13.testcase \ + st_segmentize14.testcase \ + st_segmentize15.testcase \ + st_segmentize16.testcase \ + st_segmentize17.testcase \ + st_segmentize18.testcase \ + st_segmentize19.testcase \ + st_segmentize1.testcase \ + st_segmentize20.testcase \ + st_segmentize21.testcase \ + st_segmentize22.testcase \ + st_segmentize23.testcase \ + st_segmentize24.testcase \ + st_segmentize25.testcase \ + st_segmentize26.testcase \ + st_segmentize27.testcase \ + st_segmentize28.testcase \ + st_segmentize29.testcase \ + st_segmentize2.testcase \ + st_segmentize30.testcase \ + st_segmentize31.testcase \ + st_segmentize3.testcase \ + st_segmentize4.testcase \ + st_segmentize5.testcase \ + st_segmentize6.testcase \ + st_segmentize7.testcase \ + st_segmentize8.testcase \ + st_segmentize9.testcase \ + st_snaptogrid10.testcase \ + st_snaptogrid11.testcase \ + st_snaptogrid12.testcase \ + st_snaptogrid13.testcase \ + st_snaptogrid14.testcase \ + st_snaptogrid15.testcase \ + st_snaptogrid16.testcase \ + st_snaptogrid17.testcase \ + st_snaptogrid18.testcase \ + st_snaptogrid19.testcase \ + st_snaptogrid1.testcase \ + st_snaptogrid20.testcase \ + st_snaptogrid21.testcase \ + st_snaptogrid22.testcase \ + st_snaptogrid23.testcase \ + st_snaptogrid24.testcase \ + st_snaptogrid25.testcase \ + st_snaptogrid26.testcase \ + st_snaptogrid27.testcase \ + st_snaptogrid28.testcase \ + st_snaptogrid29.testcase \ + st_snaptogrid2.testcase \ + st_snaptogrid30.testcase \ + st_snaptogrid31.testcase \ + st_snaptogrid32.testcase \ + st_snaptogrid33.testcase \ + st_snaptogrid34.testcase \ + st_snaptogrid35.testcase \ + st_snaptogrid36.testcase \ + st_snaptogrid37.testcase \ + st_snaptogrid38.testcase \ + st_snaptogrid39.testcase \ + st_snaptogrid3.testcase \ + st_snaptogrid40.testcase \ + st_snaptogrid41.testcase \ + st_snaptogrid42.testcase \ + st_snaptogrid43.testcase \ + st_snaptogrid44.testcase \ + st_snaptogrid45.testcase \ + st_snaptogrid46.testcase \ + st_snaptogrid47.testcase \ + st_snaptogrid48.testcase \ + st_snaptogrid49.testcase \ + st_snaptogrid4.testcase \ + st_snaptogrid50.testcase \ + st_snaptogrid51.testcase \ + st_snaptogrid52.testcase \ + st_snaptogrid53.testcase \ + st_snaptogrid54.testcase \ + st_snaptogrid55.testcase \ + st_snaptogrid56.testcase \ + st_snaptogrid57.testcase \ + st_snaptogrid58.testcase \ + st_snaptogrid59.testcase \ + st_snaptogrid5.testcase \ + st_snaptogrid60.testcase \ + st_snaptogrid61.testcase \ + st_snaptogrid62.testcase \ + st_snaptogrid63.testcase \ + st_snaptogrid64.testcase \ + st_snaptogrid65.testcase \ + st_snaptogrid6.testcase \ + st_snaptogrid7.testcase \ + st_snaptogrid8.testcase \ + st_snaptogrid9.testcase \ + st_split10.testcase \ + st_split11.testcase \ + st_split12.testcase \ + st_split13.testcase \ + st_split14.testcase \ + st_split15.testcase \ + st_split16.testcase \ + st_split17.testcase \ + st_split18.testcase \ + st_split19.testcase \ + st_split1.testcase \ + st_split20.testcase \ + st_split21.testcase \ + st_split22.testcase \ + st_split23.testcase \ + st_split24.testcase \ + st_split25.testcase \ + st_split26.testcase \ + st_split27.testcase \ + st_split28.testcase \ + st_split29.testcase \ + st_split2.testcase \ + st_split30.testcase \ + st_split31.testcase \ + st_split32.testcase \ + st_split33.testcase \ + st_split34.testcase \ + st_split35.testcase \ + st_split36.testcase \ + st_split37.testcase \ + st_split38.testcase \ + st_split39.testcase \ + st_split3.testcase \ + st_split40.testcase \ + st_split41.testcase \ + st_split42.testcase \ + st_split43.testcase \ + st_split44.testcase \ + st_split45.testcase \ + st_split46.testcase \ + st_split47.testcase \ + st_split48.testcase \ + st_split49.testcase \ + st_split4.testcase \ + st_split5.testcase \ + st_split6.testcase \ + st_split7.testcase \ + st_split8.testcase \ + st_split9.testcase \ + st_node1.testcase \ + st_node2.testcase \ + st_node3.testcase \ + st_node4.testcase \ + st_node5.testcase \ + st_node6.testcase \ + st_node7.testcase \ + st_node8.testcase \ + st_node9.testcase \ + st_self1.testcase \ + st_self2.testcase \ + st_self3.testcase \ + st_self4.testcase \ + st_self5.testcase \ + st_self6.testcase \ + st_self7.testcase \ + st_self8.testcase \ + st_self9.testcase + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_lwgeom_tests/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign test/sql_stmt_lwgeom_tests/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: ADDED test/sql_stmt_lwgeom_tests/maxdistance1.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance1.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance1.testcase @@ -0,0 +1,8 @@ +MaxDistance - two 2D points +:memory: #use in-memory database +SELECT ST_MaxDistance(MakePoint(1, 2), MakePoint(4, 6)) +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(MakePoint(1, 2), MakePoint(4, 6)) +5.0 + ADDED test/sql_stmt_lwgeom_tests/maxdistance10.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance10.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance10.testcase @@ -0,0 +1,8 @@ +MaxDistance - two 3D linestring +:memory: #use in-memory database +SELECT ST_MaxDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); +10.440306:6 + ADDED test/sql_stmt_lwgeom_tests/maxdistance2.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance2.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance2.testcase @@ -0,0 +1,8 @@ +MaxDistance - two 2D identical points +:memory: #use in-memory database +SELECT ST_MaxDistance(MakePoint(1, 2), MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(MakePoint(1, 2), MakePoint(1, 2)) +0.0 + ADDED test/sql_stmt_lwgeom_tests/maxdistance3.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance3.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance3.testcase @@ -0,0 +1,8 @@ +MaxDistance - bad blob first arg +:memory: #use in-memory database +SELECT ST_MaxDistance(zeroblob(100), MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(zeroblob(100), MakePoint(1, 2)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/maxdistance4.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance4.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance4.testcase @@ -0,0 +1,8 @@ +MaxDistance - bad blob second arg +:memory: #use in-memory database +SELECT ST_MaxDistance(MakePoint(1, 2), zeroblob(100)) +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(MakePoint(1, 2), zeroblob(100)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/maxdistance5.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance5.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance5.testcase @@ -0,0 +1,8 @@ +MaxDistance - non-blob first arg +:memory: #use in-memory database +SELECT ST_MaxDistance(3, MakePoint(1, 2)) +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(3, MakePoint(1, 2)) +(NULL) + ADDED test/sql_stmt_lwgeom_tests/maxdistance6.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance6.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance6.testcase @@ -0,0 +1,8 @@ +MaxDistance - bad blob second arg +:memory: #use in-memory database +SELECT ST_MaxDistance(MakePoint(1, 2), "hello") +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(MakePoint(1, 2), "hello") +(NULL) + ADDED test/sql_stmt_lwgeom_tests/maxdistance7.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance7.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance7.testcase @@ -0,0 +1,8 @@ +MaxDistance - parallel 2D lines +:memory: #use in-memory database +SELECT ST_MaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) +10.198039:6 + ADDED test/sql_stmt_lwgeom_tests/maxdistance8.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance8.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance8.testcase @@ -0,0 +1,8 @@ +MaxDistance - intersecting 2D lines +:memory: #use in-memory database +SELECT ST_MaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) +11.180339:6 + ADDED test/sql_stmt_lwgeom_tests/maxdistance9.testcase Index: test/sql_stmt_lwgeom_tests/maxdistance9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/maxdistance9.testcase +++ test/sql_stmt_lwgeom_tests/maxdistance9.testcase @@ -0,0 +1,8 @@ +MaxDistance - two 3D points +:memory: #use in-memory database +SELECT ST_MaxDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)); +1 # rows (not including the header row) +1 # columns +ST_MaxDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)) +5.0 + ADDED test/sql_stmt_lwgeom_tests/st_area10.testcase Index: test/sql_stmt_lwgeom_tests/st_area10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area10.testcase +++ test/sql_stmt_lwgeom_tests/st_area10.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - valid Polygon - Sphere/Equator +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 0); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 0) +189884187084.89:2 ADDED test/sql_stmt_lwgeom_tests/st_area11.testcase Index: test/sql_stmt_lwgeom_tests/st_area11.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area11.testcase +++ test/sql_stmt_lwgeom_tests/st_area11.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - valid Polygon - Ellipsoid/Equator +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 1); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 1) +189884187084.89:2 ADDED test/sql_stmt_lwgeom_tests/st_area12.testcase Index: test/sql_stmt_lwgeom_tests/st_area12.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area12.testcase +++ test/sql_stmt_lwgeom_tests/st_area12.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - valid Polygon - Sphere +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))"), 0); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))"), 0) +67724290215.61:2 ADDED test/sql_stmt_lwgeom_tests/st_area13.testcase Index: test/sql_stmt_lwgeom_tests/st_area13.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area13.testcase +++ test/sql_stmt_lwgeom_tests/st_area13.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - valid Polygon - Ellipsoid +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))"), 1); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))"), 1) +67989516071.49:2 ADDED test/sql_stmt_lwgeom_tests/st_area14.testcase Index: test/sql_stmt_lwgeom_tests/st_area14.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area14.testcase +++ test/sql_stmt_lwgeom_tests/st_area14.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - Point - Ellipsoid +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POINT(50.4 50.4)"), 1); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POINT(50.4 50.4)"), 1) +0.0 ADDED test/sql_stmt_lwgeom_tests/st_area15.testcase Index: test/sql_stmt_lwgeom_tests/st_area15.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area15.testcase +++ test/sql_stmt_lwgeom_tests/st_area15.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - planar Polygon - Sphere +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))", 32632), 0); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))", 32632), 0) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_area16.testcase Index: test/sql_stmt_lwgeom_tests/st_area16.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area16.testcase +++ test/sql_stmt_lwgeom_tests/st_area16.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - DOUBLE use_ellipsoid +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 0.5); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_area17.testcase Index: test/sql_stmt_lwgeom_tests/st_area17.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area17.testcase +++ test/sql_stmt_lwgeom_tests/st_area17.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - TEXT use_ellipsoid +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_area18.testcase Index: test/sql_stmt_lwgeom_tests/st_area18.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_area18.testcase +++ test/sql_stmt_lwgeom_tests/st_area18.testcase @@ -0,0 +1,7 @@ +ST_Area Geodesic - BLOB use_ellipsoid +:memory: #use in-memory database +SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d1.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d1.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d1.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - NULL geometry +:memory: #use in-memory database +SELECT ST_AsX3D(NULL); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d10.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d10.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d10.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 2D multipoint +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('MULTIPOINT(10 10, 11 10, 11 11)')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('MULTIPOINT(10 10, 11 10, 11 11)')) +:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d11.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d11.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d11.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d11.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D multipoint +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('MULTIPOINTZ(10 10 101, 11 10 102, 11 11 103)')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('MULTIPOINTZ(10 10 101, 11 10 102, 11 11 103)')) +:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d12.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d12.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d12.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d12.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 2D multilinestring +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('MULTILINESTRING((10 10, 11 10, 11 11), (20 20, 21 20, 21 21))')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('MULTILINESTRING((10 10, 11 10, 11 11), (20 20, 21 20, 21 21))')) +10 10 11 10 11 11 20 20 21 20 21 21 ' />:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d13.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d13.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d13.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d13.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D multilinestring +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('MULTILINESTRINGZ((10 10 1, 11 10 2, 11 11 2), (20 20 4, 21 20 5, 21 21 6))')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('MULTILINESTRINGZ((10 10 1, 11 10 2, 11 11 2), (20 20 4, 21 20 5, 21 21 6))')) +:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d14.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d14.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d14.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d14.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 2D multipolygon +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('MULTIPOLYGON(((10 10, 11 10, 11 11, 10 11, 10 10)), ((20 20, 21 20, 21 21, 20 21, 20 20)))')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('MULTIPOLYGON(((10 10, 11 10, 11 11, 10 11, 10 10)), ((20 20, 21 20, 21 21, 20 21, 20 20)))')) +10 10 11 10 11 11 10 11 20 20 21 20 21 21 20 21 ' />:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d15.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d15.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d15.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d15.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D multipolygon +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('MULTIPOLYGONZ(((10 10 1, 11 10 2, 11 11 3, 10 11 4, 10 10 1)), ((20 20 5, 21 20 6, 21 21 7, 20 21 8, 20 20 5)))')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('MULTIPOLYGONZ(((10 10 1, 11 10 2, 11 11 3, 10 11 4, 10 10 1)), ((20 20 5, 21 20 6, 21 21 7, 20 21 8, 20 20 5)))')) +:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d16.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d16.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d16.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d16.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring NULL precision +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), NULL); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d17.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d17.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d17.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d17.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring TEXT precision +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d18.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d18.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d18.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d18.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring BLOB precision +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d19.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d19.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d19.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d19.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring DOUBLE precision +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), 0.5); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d2.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d2.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d2.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - text geometry +:memory: #use in-memory database +SELECT ST_AsX3D('alpha'); +1 # rows (not including the header row) +1 # columns +ST_AsX3D('alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d20.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d20.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d20.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d20.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6) +:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d21.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d21.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d21.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d21.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, NULL options +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, NULL); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d22.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d22.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d22.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d22.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, text options +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d23.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d23.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d23.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d23.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, blob options +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d24.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d24.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d24.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d24.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, double options +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, 0.5); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d25.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d25.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d25.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d25.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, short SRS +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 0); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 0) +15.123457 14.765432 7.654321:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d26.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d26.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d26.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d26.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, long SRS +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1) +15.123457 14.765432 7.654321:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d27.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d27.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d27.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d27.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, long SRS, NULL refid +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, NULL); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d28.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d28.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d28.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d28.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, long SRS, int refid +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 1); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d29.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d29.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d29.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d29.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, long SRS, BLOB refid +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d3.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d3.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d3.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - int geometry +:memory: #use in-memory database +SELECT ST_AsX3D(1); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_asx3d30.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d30.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d30.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d30.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring, 6 digit precision, long SRS, refid +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 'test_'); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 'test_') +15.123457 14.765432 7.654321:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d4.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d4.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d4.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 2D point +:memory: #use in-memory database +SELECT ST_AsX3D(MakePoint(12, 21)); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(MakePoint(12, 21)) +12 21 ADDED test/sql_stmt_lwgeom_tests/st_asx3d5.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d5.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d5.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D point +:memory: #use in-memory database +SELECT ST_AsX3D(MakePointZ(12, 21, 101)); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(MakePointZ(12, 21, 101)) +12 21 101 ADDED test/sql_stmt_lwgeom_tests/st_asx3d6.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d6.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d6.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 2D linestring +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRING(10 10, 11 10, 11 11)')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRING(10 10, 11 10, 11 11)')) +:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d7.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d7.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d7.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D linestring +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)')) +:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d8.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d8.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d8.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 2D polygon +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('POLYGON((10 10, 11 10, 11 11, 10 11, 10 10))')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('POLYGON((10 10, 11 10, 11 11, 10 11, 10 10))')) +10 10 11 10 11 11 10 11 ' />:0 ADDED test/sql_stmt_lwgeom_tests/st_asx3d9.testcase Index: test/sql_stmt_lwgeom_tests/st_asx3d9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_asx3d9.testcase +++ test/sql_stmt_lwgeom_tests/st_asx3d9.testcase @@ -0,0 +1,7 @@ +ST_AsX3D - 3D polygon +:memory: #use in-memory database +SELECT ST_AsX3D(GeomFromText('POLYGONZ((10 10 101, 11 10 102, 11 11 103, 10 11 104, 10 10 101))')); +1 # rows (not including the header row) +1 # columns +ST_AsX3D(GeomFromText('POLYGONZ((10 10 101, 11 10 102, 11 11 103, 10 11 104, 10 10 101))')) +:0 ADDED test/sql_stmt_lwgeom_tests/st_azimuth1.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth1.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth1.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - WGS84 points +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10.5, 10, 4326), MakePoint(11.5, 11, 4326)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10.5, 10, 4326), MakePoint(11.5, 11, 4326)) +0.778630:6 ADDED test/sql_stmt_lwgeom_tests/st_azimuth10.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth10.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth10.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - text PointA (error) +:memory: #use in-memory database +SELECT ST_Azimuth('alpha', MakePoint(10, 10, 4326)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth('alpha', MakePoint(10, 10, 4326)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth11.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth11.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth11.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth11.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - text PointB (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), 'beta'); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), 'beta') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth12.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth12.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth12.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth12.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - NULL PointA (error) +:memory: #use in-memory database +SELECT ST_Azimuth(NULL, MakePoint(10, 10, 4326)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(NULL, MakePoint(10, 10, 4326)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth13.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth13.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth13.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth13.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - NULL PointB (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), NULL); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth14.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth14.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth14.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth14.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - MultiPoint (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('MULTIPOINT(0 0, 1 1)')); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('MULTIPOINT(0 0, 1 1)')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth15.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth15.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth15.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth15.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - Linestring (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('LINESTRING(0 0, 1 1)')); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('LINESTRING(0 0, 1 1)')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth16.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth16.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth16.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth16.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - Polygon (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth17.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth17.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth17.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth17.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - Collection (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 0, 1 1), POINT(2 2))')); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 0, 1 1), POINT(2 2))')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth2.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth2.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth2.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - -1 SRID points +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(123456, 12345678.5, -1), MakePoint(123457, 12345679.5, -1)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(123456, 12345678.5, -1), MakePoint(123457, 12345679.5, -1)); +0.785398:6 ADDED test/sql_stmt_lwgeom_tests/st_azimuth3.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth3.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth3.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - same Point +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10.5, 10.5, 4326), MakePoint(10.5, 10.5, 4326)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10.5, 10.5, 4326), MakePoint(10.5, 10.5, 4326)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth4.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth4.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth4.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - bad blob PointA (error) +:memory: #use in-memory database +SELECT ST_Azimuth(zeroblob(4), MakePoint(10, 10, 4326)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(zeroblob(4), MakePoint(10, 10, 4326)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth5.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth5.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth5.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - bad blob PointB (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth6.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth6.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth6.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - integer PointA (error) +:memory: #use in-memory database +SELECT ST_Azimuth(1, MakePoint(10, 10, 4326)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(1, MakePoint(10, 10, 4326)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth7.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth7.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth7.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - integer PointB (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), 1); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), 1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth8.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth8.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth8.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - double PointA (error) +:memory: #use in-memory database +SELECT ST_Azimuth(1.1, MakePoint(10, 10, 4326)); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(1.1, MakePoint(10, 10, 4326)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_azimuth9.testcase Index: test/sql_stmt_lwgeom_tests/st_azimuth9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_azimuth9.testcase +++ test/sql_stmt_lwgeom_tests/st_azimuth9.testcase @@ -0,0 +1,7 @@ +ST_Azimuth - double PointB (error) +:memory: #use in-memory database +SELECT ST_Azimuth(MakePoint(10, 10, 4326), 1.1); +1 # rows (not including the header row) +1 # columns +ST_Azimuth(MakePoint(10, 10, 4326), 1.1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_geohash1.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash1.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash1.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - NULL geometry +:memory: #use in-memory database +SELECT ST_GeoHash(NULL); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_geohash10.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash10.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash10.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - WGS84 Point, precision 6 +:memory: #use in-memory database +SELECT ST_GeoHash(MakePoint(10, -20, 4326), 6); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(MakePoint(10, -20, 4326), 6) +khrn5x ADDED test/sql_stmt_lwgeom_tests/st_geohash2.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash2.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash2.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - text geometry +:memory: #use in-memory database +SELECT ST_GeoHash('alpha'); +1 # rows (not including the header row) +1 # columns +ST_GeoHash('alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_geohash3.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash3.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash3.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - int geometry +:memory: #use in-memory database +SELECT ST_GeoHash(1); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_geohash4.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash4.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash4.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - not Long/Lat geometry +:memory: #use in-memory database +SELECT ST_GeoHash(MakePoint(123456, 654321)); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(MakePoint(123456, 654321)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_geohash5.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash5.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash5.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - zeroblob geometry +:memory: #use in-memory database +SELECT ST_GeoHash(zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_geohash6.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash6.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash6.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - WGS84 Point +:memory: #use in-memory database +SELECT ST_GeoHash(MakePoint(10, -20, 4326)); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(MakePoint(10, -20, 4326)) +khrn5x1g8cu2yhrn5x1g ADDED test/sql_stmt_lwgeom_tests/st_geohash7.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash7.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash7.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - WGS84 Linestring +:memory: #use in-memory database +SELECT ST_GeoHash(GeomFromText('LINESTRING(10 -20, 10.0001 -19.9899, 10.0002 -19.9899)', 4326)); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(GeomFromText('LINESTRING(10 -20, 10.0001 -19.9899, 10.0002 -19.9899)', 4326)) +khrn ADDED test/sql_stmt_lwgeom_tests/st_geohash8.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash8.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash8.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - WGS84 Polygon +:memory: #use in-memory database +SELECT ST_GeoHash(GeomFromText('POLYGON((7 10, 7.0001 10, 7.0001 10.0001, 7 10.0001, 7 10))', 4326)); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(GeomFromText('POLYGON((7 10, 7.0001 10, 7.0001 10.0001, 7 10.0001, 7 10))', 4326)) +s1ubzk3 ADDED test/sql_stmt_lwgeom_tests/st_geohash9.testcase Index: test/sql_stmt_lwgeom_tests/st_geohash9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_geohash9.testcase +++ test/sql_stmt_lwgeom_tests/st_geohash9.testcase @@ -0,0 +1,7 @@ +ST_GeoHash - WGS84 Point, invalid precision +:memory: #use in-memory database +SELECT ST_GeoHash(MakePoint(10, -20, 4326), 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_GeoHash(MakePoint(10, -20, 4326), 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevalid1.testcase Index: test/sql_stmt_lwgeom_tests/st_makevalid1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevalid1.testcase +++ test/sql_stmt_lwgeom_tests/st_makevalid1.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - Invalid BLOB (error) +:memory: #use in-memory database +SELECT ST_MakeValid(zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_MakeValid(zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevalid2.testcase Index: test/sql_stmt_lwgeom_tests/st_makevalid2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevalid2.testcase +++ test/sql_stmt_lwgeom_tests/st_makevalid2.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - NULL BLOB (error) +:memory: #use in-memory database +SELECT ST_MakeValid(NULL); +1 # rows (not including the header row) +1 # columns +ST_MakeValid(NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevalid3.testcase Index: test/sql_stmt_lwgeom_tests/st_makevalid3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevalid3.testcase +++ test/sql_stmt_lwgeom_tests/st_makevalid3.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - text (error) +:memory: #use in-memory database +SELECT ST_MakeValid('alpha'); +1 # rows (not including the header row) +1 # columns +ST_MakeValid('alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevalid4.testcase Index: test/sql_stmt_lwgeom_tests/st_makevalid4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevalid4.testcase +++ test/sql_stmt_lwgeom_tests/st_makevalid4.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - already valid MultiPolygon +:memory: #use in-memory database +SELECT ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))); +1 # rows (not including the header row) +1 # columns +ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))) +1 ADDED test/sql_stmt_lwgeom_tests/st_makevalid5.testcase Index: test/sql_stmt_lwgeom_tests/st_makevalid5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevalid5.testcase +++ test/sql_stmt_lwgeom_tests/st_makevalid5.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - already valid Polygon +:memory: #use in-memory database +SELECT ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'))); +1 # rows (not including the header row) +1 # columns +ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'))) +1 ADDED test/sql_stmt_lwgeom_tests/st_makevalid6.testcase Index: test/sql_stmt_lwgeom_tests/st_makevalid6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevalid6.testcase +++ test/sql_stmt_lwgeom_tests/st_makevalid6.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - invalid MultiPolygon +:memory: #use in-memory database +SELECT ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 0 1, 1 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))); +1 # rows (not including the header row) +1 # columns +ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 0 1, 1 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))) +1 ADDED test/sql_stmt_lwgeom_tests/st_makevalid7.testcase Index: test/sql_stmt_lwgeom_tests/st_makevalid7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevalid7.testcase +++ test/sql_stmt_lwgeom_tests/st_makevalid7.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - invalid Polygon +:memory: #use in-memory database +SELECT ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 0 1, 1 1, 0 0))'))); +1 # rows (not including the header row) +1 # columns +ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 0 1, 1 1, 0 0))'))) +1 ADDED test/sql_stmt_lwgeom_tests/st_makevalid8.testcase Index: test/sql_stmt_lwgeom_tests/st_makevalid8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevalid8.testcase +++ test/sql_stmt_lwgeom_tests/st_makevalid8.testcase @@ -0,0 +1,11 @@ +ST_MakeValid - invalid MultiPolygon [discarded items] +:memory: #use in-memory database +SELECT IsValid(v.v), NumGeometries(v.v), GeometryType(v.v) FROM (SELECT MakeValid(g.g) AS v FROM (SELECT GeomFromText ('MULTIPOLYGON(((0 0, 1 0, 1 2, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 2.5, 2.5 2.5, 3 2.5, 3 3, 2 3, 2 2)))') AS g) AS g) AS v; +1 # rows (not including the header row) +3 # columns +IsValid(v.v) +NumGeometries(v.v) +GeometryType(v.v) +1 +2 +MULTIPOLYGON ADDED test/sql_stmt_lwgeom_tests/st_makevaliddiscarded1.testcase Index: test/sql_stmt_lwgeom_tests/st_makevaliddiscarded1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevaliddiscarded1.testcase +++ test/sql_stmt_lwgeom_tests/st_makevaliddiscarded1.testcase @@ -0,0 +1,7 @@ +ST_MakeValidDiscarded - Invalid BLOB (error) +:memory: #use in-memory database +SELECT ST_MakeValidDiscarded(zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_MakeValidDiscarded(zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevaliddiscarded2.testcase Index: test/sql_stmt_lwgeom_tests/st_makevaliddiscarded2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevaliddiscarded2.testcase +++ test/sql_stmt_lwgeom_tests/st_makevaliddiscarded2.testcase @@ -0,0 +1,7 @@ +ST_MakeValidDiscarded - NULL BLOB (error) +:memory: #use in-memory database +SELECT ST_MakeValidDiscarded(NULL); +1 # rows (not including the header row) +1 # columns +ST_MakeValidDiscarded(NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevaliddiscarded3.testcase Index: test/sql_stmt_lwgeom_tests/st_makevaliddiscarded3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevaliddiscarded3.testcase +++ test/sql_stmt_lwgeom_tests/st_makevaliddiscarded3.testcase @@ -0,0 +1,7 @@ +ST_MakeValidDiscarded - text (error) +:memory: #use in-memory database +SELECT ST_MakeValidDiscarded('alpha'); +1 # rows (not including the header row) +1 # columns +ST_MakeValidDiscarded('alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevaliddiscarded4.testcase Index: test/sql_stmt_lwgeom_tests/st_makevaliddiscarded4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevaliddiscarded4.testcase +++ test/sql_stmt_lwgeom_tests/st_makevaliddiscarded4.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - already valid MultiPolygon +:memory: #use in-memory database +SELECT ST_MakeValidDiscarded(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))')); +1 # rows (not including the header row) +1 # columns +ST_MakeValidDiscarded(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevaliddiscarded5.testcase Index: test/sql_stmt_lwgeom_tests/st_makevaliddiscarded5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevaliddiscarded5.testcase +++ test/sql_stmt_lwgeom_tests/st_makevaliddiscarded5.testcase @@ -0,0 +1,7 @@ +ST_MakeValidDiscarded - already valid Polygon +:memory: #use in-memory database +SELECT ST_MakeValidDiscarded(GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')); +1 # rows (not including the header row) +1 # columns +ST_MakeValidDiscarded(GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_makevaliddiscarded6.testcase Index: test/sql_stmt_lwgeom_tests/st_makevaliddiscarded6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevaliddiscarded6.testcase +++ test/sql_stmt_lwgeom_tests/st_makevaliddiscarded6.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - invalid MultiPolygon +:memory: #use in-memory database +SELECT ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 0 1, 1 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))); +1 # rows (not including the header row) +1 # columns +ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 0 1, 1 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))) +1 ADDED test/sql_stmt_lwgeom_tests/st_makevaliddiscarded7.testcase Index: test/sql_stmt_lwgeom_tests/st_makevaliddiscarded7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevaliddiscarded7.testcase +++ test/sql_stmt_lwgeom_tests/st_makevaliddiscarded7.testcase @@ -0,0 +1,7 @@ +ST_MakeValid - invalid Polygon +:memory: #use in-memory database +SELECT ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 0 1, 1 1, 0 0))'))); +1 # rows (not including the header row) +1 # columns +ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 0 1, 1 1, 0 0))'))) +1 ADDED test/sql_stmt_lwgeom_tests/st_makevaliddiscarded8.testcase Index: test/sql_stmt_lwgeom_tests/st_makevaliddiscarded8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_makevaliddiscarded8.testcase +++ test/sql_stmt_lwgeom_tests/st_makevaliddiscarded8.testcase @@ -0,0 +1,11 @@ +ST_MakeValidDiscarded - invalid MultiPolygon [discarded items] +:memory: #use in-memory database +SELECT IsValid(v.v), NumGeometries(v.v), GeometryType(v.v) FROM (SELECT MakeValidDiscarded(g.g) AS v FROM (SELECT GeomFromText ('MULTIPOLYGON(((0 0, 1 0, 1 2, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 2.5, 2.5 2.5, 3 2.5, 3 3, 2 3, 2 2)))') AS g) AS g) AS v; +1 # rows (not including the header row) +3 # columns +IsValid(v.v) +NumGeometries(v.v) +GeometryType(v.v) +1 +2 +MULTILINESTRING ADDED test/sql_stmt_lwgeom_tests/st_node1.testcase Index: test/sql_stmt_lwgeom_tests/st_node1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node1.testcase +++ test/sql_stmt_lwgeom_tests/st_node1.testcase @@ -0,0 +1,7 @@ +ST_Node - Invalid BLOB input (error) +:memory: #use in-memory database +SELECT ST_Node(zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_Node(zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_node2.testcase Index: test/sql_stmt_lwgeom_tests/st_node2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node2.testcase +++ test/sql_stmt_lwgeom_tests/st_node2.testcase @@ -0,0 +1,7 @@ +ST_Node - Invalid INT input (error) +:memory: #use in-memory database +SELECT ST_Node(1); +1 # rows (not including the header row) +1 # columns +ST_Node(1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_node3.testcase Index: test/sql_stmt_lwgeom_tests/st_node3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node3.testcase +++ test/sql_stmt_lwgeom_tests/st_node3.testcase @@ -0,0 +1,7 @@ +ST_Node - Invalid DOUBLE input (error) +:memory: #use in-memory database +SELECT ST_Node(1.1); +1 # rows (not including the header row) +1 # columns +ST_Node(1.1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_node4.testcase Index: test/sql_stmt_lwgeom_tests/st_node4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node4.testcase +++ test/sql_stmt_lwgeom_tests/st_node4.testcase @@ -0,0 +1,7 @@ +ST_Node - Invalid TEXT input (error) +:memory: #use in-memory database +SELECT ST_Node('alpha'); +1 # rows (not including the header row) +1 # columns +ST_Node('alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_node5.testcase Index: test/sql_stmt_lwgeom_tests/st_node5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node5.testcase +++ test/sql_stmt_lwgeom_tests/st_node5.testcase @@ -0,0 +1,7 @@ +ST_Node - Valid 2D input +:memory: #use in-memory database +SELECT ST_AsText(ST_Node(ST_GeomFromText('LINESTRING(0 0, 10 10, 0 10, 10 0)'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Node(ST_GeomFromText('LINESTRING(0 0, 10 10, 0 10, 10 0)'))) +MULTILINESTRING((0 0, 5 5), (5 5, 10 10, 0 10, 5 5), (5 5, 10 0)) ADDED test/sql_stmt_lwgeom_tests/st_node6.testcase Index: test/sql_stmt_lwgeom_tests/st_node6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node6.testcase +++ test/sql_stmt_lwgeom_tests/st_node6.testcase @@ -0,0 +1,7 @@ +ST_Node - Valid 3D input +:memory: #use in-memory database +SELECT ST_AsText(ST_Node(ST_GeomFromText('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Node(ST_GeomFromText('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))) +MULTILINESTRING Z((0 0 0, 5 5 4.5), (5 5 4.5, 10 10 10, 0 10 5, 5 5 4.5), (5 5 4.5, 10 0 3)) ADDED test/sql_stmt_lwgeom_tests/st_node7.testcase Index: test/sql_stmt_lwgeom_tests/st_node7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node7.testcase +++ test/sql_stmt_lwgeom_tests/st_node7.testcase @@ -0,0 +1,7 @@ +ST_Node - Valid MultiLinestring 2D input +:memory: #use in-memory database +SELECT ST_AsText(ST_Node(ST_GeomFromText('MULTILINESTRING((0 0, 10 10, 0 10, 10 0),(10 8, 10 12))'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Node(ST_GeomFromText('MULTILINESTRING((0 0, 10 10, 0 10, 10 0),(10 8, 10 12))'))) +MULTILINESTRING((0 0, 5 5), (5 5, 10 10), (10 10, 0 10, 5 5), (5 5, 10 0), (10 8, 10 10), (10 10, 10 12)) ADDED test/sql_stmt_lwgeom_tests/st_node8.testcase Index: test/sql_stmt_lwgeom_tests/st_node8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node8.testcase +++ test/sql_stmt_lwgeom_tests/st_node8.testcase @@ -0,0 +1,7 @@ +ST_Node - Valid MultiLinestring 3D input +:memory: #use in-memory database +SELECT ST_AsText(ST_Node(ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 10 10 10, 0 10 5, 10 0 3),(10 8 4, 10 12 5))'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Node(ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 10 10 10, 0 10 5, 10 0 3),(10 8 4, 10 12 5))'))) +MULTILINESTRING Z((0 0 0, 5 5 4.5), (5 5 4.5, 10 10 10), (10 10 10, 0 10 5, 5 5 4.5), (5 5 4.5, 10 0 3), (10 8 4, 10 10 10), (10 10 10, 10 12 5)) ADDED test/sql_stmt_lwgeom_tests/st_node9.testcase Index: test/sql_stmt_lwgeom_tests/st_node9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_node9.testcase +++ test/sql_stmt_lwgeom_tests/st_node9.testcase @@ -0,0 +1,7 @@ +ST_Node - Invalid MultiPoint 3D input +:memory: #use in-memory database +SELECT ST_AsText(ST_Node(ST_GeomFromText('MULTIPOINTZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Node(ST_GeomFromText('MULTIPOINTZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project1.testcase Index: test/sql_stmt_lwgeom_tests/st_project1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project1.testcase +++ test/sql_stmt_lwgeom_tests/st_project1.testcase @@ -0,0 +1,7 @@ +ST_Project - NULL start Point +:memory: #use in-memory database +SELECT ST_Project(NULL, 100000, Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(NULL, 100000, Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project10.testcase Index: test/sql_stmt_lwgeom_tests/st_project10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project10.testcase +++ test/sql_stmt_lwgeom_tests/st_project10.testcase @@ -0,0 +1,7 @@ +ST_Project - BLOB distance +:memory: #use in-memory database +SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), zeroblob(4), Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(GeomFromText('POINT(0 0)', 4326), zeroblob(4), Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project11.testcase Index: test/sql_stmt_lwgeom_tests/st_project11.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project11.testcase +++ test/sql_stmt_lwgeom_tests/st_project11.testcase @@ -0,0 +1,7 @@ +ST_Project - NULL bearing +:memory: #use in-memory database +SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, NULL); +1 # rows (not including the header row) +1 # columns +ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project12.testcase Index: test/sql_stmt_lwgeom_tests/st_project12.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project12.testcase +++ test/sql_stmt_lwgeom_tests/st_project12.testcase @@ -0,0 +1,7 @@ +ST_Project - TEXT bearing +:memory: #use in-memory database +SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project13.testcase Index: test/sql_stmt_lwgeom_tests/st_project13.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project13.testcase +++ test/sql_stmt_lwgeom_tests/st_project13.testcase @@ -0,0 +1,7 @@ +ST_Project - BLOB bearing +:memory: #use in-memory database +SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project14.testcase Index: test/sql_stmt_lwgeom_tests/st_project14.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project14.testcase +++ test/sql_stmt_lwgeom_tests/st_project14.testcase @@ -0,0 +1,7 @@ +ST_Project - valid +:memory: #use in-memory database +SELECT AsText(ST_Project(GeomFromText('POINT(0 0)'), 100000, Radians(45))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Project(GeomFromText('POINT(0 0)'), 100000, Radians(45))) +POINT(0.635231 0.639472) ADDED test/sql_stmt_lwgeom_tests/st_project2.testcase Index: test/sql_stmt_lwgeom_tests/st_project2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project2.testcase +++ test/sql_stmt_lwgeom_tests/st_project2.testcase @@ -0,0 +1,7 @@ +ST_Project - INTEGER start Point +:memory: #use in-memory database +SELECT ST_Project(1, 100000, Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(1, 100000, Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project3.testcase Index: test/sql_stmt_lwgeom_tests/st_project3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project3.testcase +++ test/sql_stmt_lwgeom_tests/st_project3.testcase @@ -0,0 +1,7 @@ +ST_Project - DOUBLE start Point +:memory: #use in-memory database +SELECT ST_Project(1.1, 100000, Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(1.1, 100000, Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project4.testcase Index: test/sql_stmt_lwgeom_tests/st_project4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project4.testcase +++ test/sql_stmt_lwgeom_tests/st_project4.testcase @@ -0,0 +1,7 @@ +ST_Project - TEXT start Point +:memory: #use in-memory database +SELECT ST_Project('alpha', 100000, Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project('alpha', 100000, Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project5.testcase Index: test/sql_stmt_lwgeom_tests/st_project5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project5.testcase +++ test/sql_stmt_lwgeom_tests/st_project5.testcase @@ -0,0 +1,7 @@ +ST_Project - invalid BLOB start Point +:memory: #use in-memory database +SELECT ST_Project(zeroblob(4), 100000, Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(zeroblob(4), 100000, Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project6.testcase Index: test/sql_stmt_lwgeom_tests/st_project6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project6.testcase +++ test/sql_stmt_lwgeom_tests/st_project6.testcase @@ -0,0 +1,7 @@ +ST_Project - start Point (not long/lat) +:memory: #use in-memory database +SELECT ST_Project(GeomFromText('POINT(0 0)', 32632), 100000, Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(GeomFromText('POINT(0 0)', 32632), 100000, Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project7.testcase Index: test/sql_stmt_lwgeom_tests/st_project7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project7.testcase +++ test/sql_stmt_lwgeom_tests/st_project7.testcase @@ -0,0 +1,7 @@ +ST_Project - start Point (actually: Linestring) +:memory: #use in-memory database +SELECT ST_Project(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 100000, Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 100000, Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project8.testcase Index: test/sql_stmt_lwgeom_tests/st_project8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project8.testcase +++ test/sql_stmt_lwgeom_tests/st_project8.testcase @@ -0,0 +1,7 @@ +ST_Project - NULL distance +:memory: #use in-memory database +SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), NULL, Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(GeomFromText('POINT(0 0)', 4326), NULL, Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_project9.testcase Index: test/sql_stmt_lwgeom_tests/st_project9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_project9.testcase +++ test/sql_stmt_lwgeom_tests/st_project9.testcase @@ -0,0 +1,7 @@ +ST_Project - TEXT distance +:memory: #use in-memory database +SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), 'alpha', Radians(45)); +1 # rows (not including the header row) +1 # columns +ST_Project(GeomFromText('POINT(0 0)', 4326), 'alpha', Radians(45)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_segmentize1.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize1.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize1.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 1 2), POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 1 2), POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)) +GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 1 1.5, 1 2), POLYGON((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4))) ADDED test/sql_stmt_lwgeom_tests/st_segmentize10.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize10.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize10.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - NULL BLOB (error) +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(NULL, 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(NULL, 0.5)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_segmentize11.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize11.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize11.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize11.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection Z +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(0 0 10), LINESTRINGZ(1 1 10, 1 2 11), POLYGONZ((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10)))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(0 0 10), LINESTRINGZ(1 1 10, 1 2 11), POLYGONZ((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10)))'), 0.5)) +GEOMETRYCOLLECTION Z(POINT Z(0 0 10), LINESTRING Z(1 1 10, 1 1.5 10.5, 1 2 11), POLYGON Z((3 3 10, 3.5 3 10.166667, 4 3 10.333333, 4.5 3 10.5, 5 3 10.666667, 5.5 3 10.833333, 6 3 11, 6 3.5 11.166667, 6 4 11.333333, 6 4.5 11.5, 6 5 11.666667, 6 5.5 11.833333, 6 6 12, 5.5 6 12.166667, 5 6 12.333333, 4.5 6 12.5, 4 6 12.666667, 3.5 6 12.833333, 3 6 13, 3 5.5 12.5, 3 5 12, 3 4.5 11.5, 3 4 11, 3 3.5 10.5, 3 3 10), (4 4 10, 4.5 4 10.5, 5 4 11, 5 4.5 11.5, 5 5 12, 5 4.5 12.5, 5 4 13, 4.5 4 11.5, 4 4 10))) ADDED test/sql_stmt_lwgeom_tests/st_segmentize12.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize12.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize12.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize12.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection M +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(0 0 10), LINESTRINGM(1 1 10, 1 2 11), POLYGONM((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10)))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(0 0 10), LINESTRINGM(1 1 10, 1 2 11), POLYGONM((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10)))'), 0.5)) +GEOMETRYCOLLECTION M(POINT M(0 0 10), LINESTRING M(1 1 10, 1 1.5 10.5, 1 2 11), POLYGON M((3 3 10, 3.5 3 10.166667, 4 3 10.333333, 4.5 3 10.5, 5 3 10.666667, 5.5 3 10.833333, 6 3 11, 6 3.5 11.166667, 6 4 11.333333, 6 4.5 11.5, 6 5 11.666667, 6 5.5 11.833333, 6 6 12, 5.5 6 12.166667, 5 6 12.333333, 4.5 6 12.5, 4 6 12.666667, 3.5 6 12.833333, 3 6 13, 3 5.5 12.5, 3 5 12, 3 4.5 11.5, 3 4 11, 3 3.5 10.5, 3 3 10), (4 4 10, 4.5 4 10.5, 5 4 11, 5 4.5 11.5, 5 5 12, 5 4.5 12.5, 5 4 13, 4.5 4 11.5, 4 4 10))) ADDED test/sql_stmt_lwgeom_tests/st_segmentize13.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize13.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize13.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize13.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection ZM +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(0 0 10 11), LINESTRINGZM(1 1 10 11, 1 2 11 13), POLYGONZM((3 3 10 11, 6 3 11 12, 6 6 12 13, 3 6 13 14, 3 3 10 11), (4 4 10 11, 5 4 11 12, 5 5 12 13, 5 4 13 14, 4 4 10 11)))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(0 0 10 11), LINESTRINGZM(1 1 10 11, 1 2 11 13), POLYGONZM((3 3 10 11, 6 3 11 12, 6 6 12 13, 3 6 13 14, 3 3 10 11), (4 4 10 11, 5 4 11 12, 5 5 12 13, 5 4 13 14, 4 4 10 11)))'), 0.5)) +GEOMETRYCOLLECTION ZM(POINT ZM(0 0 10 11), LINESTRING ZM(1 1 10 11, 1 1.5 10.5 12, 1 2 11 13), POLYGON ZM((3 3 10 11, 3.5 3 10.166667 11.166667, 4 3 10.333333 11.333333, 4.5 3 10.5 11.5, 5 3 10.666667 11.666667, 5.5 3 10.833333 11.833333, 6 3 11 12, 6 3.5 11.166667 12.166667, 6 4 11.333333 12.333333, 6 4.5 11.5 12.5, 6 5 11.666667 12.666667, 6 5.5 11.833333 12.833333, 6 6 12 13, 5.5 6 12.166667 13.166667, 5 6 12.333333 13.333333, 4.5 6 12.5 13.5, 4 6 12.666667 13.666667, 3.5 6 12.833333 13.833333, 3 6 13 14, 3 5.5 12.5 13.5, 3 5 12 13, 3 4.5 11.5 12.5, 3 4 11 12, 3 3.5 10.5 11.5, 3 3 10 11), (4 4 10 11, 4.5 4 10.5 11.5, 5 4 11 12, 5 4.5 11.5 12.5, 5 5 12 13, 5 4.5 12.5 13.5, 5 4 13 14, 4.5 4 11.5 12.5, 4 4 10 11))) ADDED test/sql_stmt_lwgeom_tests/st_segmentize14.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize14.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize14.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize14.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Point +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('POINT(0 0)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('POINT(0 0)'), 0.5)) +POINT(0 0) ADDED test/sql_stmt_lwgeom_tests/st_segmentize15.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize15.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize15.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize15.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Point Z +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('POINTZ(0 0 10)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('POINTZ(0 0 10)'), 0.5)) +POINT Z(0 0 10) ADDED test/sql_stmt_lwgeom_tests/st_segmentize16.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize16.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize16.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize16.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Point M +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('POINTM(0 0 10)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('POINTM(0 0 10)'), 0.5)) +POINT M(0 0 10) ADDED test/sql_stmt_lwgeom_tests/st_segmentize17.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize17.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize17.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize17.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Point ZM +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('POINTZM(0 0 10 11)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('POINTZM(0 0 10 11)'), 0.5)) +POINT ZM(0 0 10 11) ADDED test/sql_stmt_lwgeom_tests/st_segmentize18.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize18.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize18.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize18.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Linestring +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 1 2)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 1 2)'), 0.5)) +LINESTRING(1 1, 1 1.5, 1 2) ADDED test/sql_stmt_lwgeom_tests/st_segmentize19.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize19.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize19.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize19.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Linestring Z +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGZ(1 1 10, 1 2 11)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGZ(1 1 10, 1 2 11)'), 0.5)) +LINESTRING Z(1 1 10, 1 1.5 10.5, 1 2 11) ADDED test/sql_stmt_lwgeom_tests/st_segmentize2.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize2.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize2.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - MultiPoint +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('MULTIPOINT(0 1, 2 3, 4 5)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('MULTIPOINT(0 1, 2 3, 4 5)'), 0.5)) +MULTIPOINT(0 1, 2 3, 4 5) ADDED test/sql_stmt_lwgeom_tests/st_segmentize20.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize20.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize20.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize20.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Linestring M +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGM(1 1 10, 1 2 11)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGM(1 1 10, 1 2 11)'), 0.5)) +LINESTRING M(1 1 10, 1 1.5 10.5, 1 2 11) ADDED test/sql_stmt_lwgeom_tests/st_segmentize21.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize21.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize21.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize21.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Linestring ZM +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGZM(1 1 10 11, 1 2 11 13)'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGZM(1 1 10 11, 1 2 11 13)'), 0.5)) +LINESTRING ZM(1 1 10 11, 1 1.5 10.5 12, 1 2 11 13) ADDED test/sql_stmt_lwgeom_tests/st_segmentize22.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize22.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize22.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize22.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Polygon +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4))'), 0.5)); +1 # rows (not including the header row) +1 # column +ST_AsText(ST_Segmentize(GeomFromText('POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4))'), 0.5)) +POLYGON((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize23.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize23.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize23.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize23.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Polygon Z +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('POLYGONZ((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10))'), 0.5)); +1 # rows (not including the header row) +1 # column +ST_AsText(ST_Segmentize(GeomFromText('POLYGONZ((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10))'), 0.5)) +POLYGON Z((3 3 10, 3.5 3 10.166667, 4 3 10.333333, 4.5 3 10.5, 5 3 10.666667, 5.5 3 10.833333, 6 3 11, 6 3.5 11.166667, 6 4 11.333333, 6 4.5 11.5, 6 5 11.666667, 6 5.5 11.833333, 6 6 12, 5.5 6 12.166667, 5 6 12.333333, 4.5 6 12.5, 4 6 12.666667, 3.5 6 12.833333, 3 6 13, 3 5.5 12.5, 3 5 12, 3 4.5 11.5, 3 4 11, 3 3.5 10.5, 3 3 10), (4 4 10, 4.5 4 10.5, 5 4 11, 5 4.5 11.5, 5 5 12, 5 4.5 12.5, 5 4 13, 4.5 4 11.5, 4 4 10)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize24.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize24.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize24.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize24.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Polygon M +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('POLYGONM((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10))'), 0.5)); +1 # rows (not including the header row) +1 # column +ST_AsText(ST_Segmentize(GeomFromText('POLYGONM((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10))'), 0.5)) +POLYGON M((3 3 10, 3.5 3 10.166667, 4 3 10.333333, 4.5 3 10.5, 5 3 10.666667, 5.5 3 10.833333, 6 3 11, 6 3.5 11.166667, 6 4 11.333333, 6 4.5 11.5, 6 5 11.666667, 6 5.5 11.833333, 6 6 12, 5.5 6 12.166667, 5 6 12.333333, 4.5 6 12.5, 4 6 12.666667, 3.5 6 12.833333, 3 6 13, 3 5.5 12.5, 3 5 12, 3 4.5 11.5, 3 4 11, 3 3.5 10.5, 3 3 10), (4 4 10, 4.5 4 10.5, 5 4 11, 5 4.5 11.5, 5 5 12, 5 4.5 12.5, 5 4 13, 4.5 4 11.5, 4 4 10)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize25.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize25.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize25.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize25.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Polygon ZM +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('POLYGONZM((3 3 10 11, 6 3 11 12, 6 6 12 13, 3 6 13 14, 3 3 10 11), (4 4 10 11, 5 4 11 12, 5 5 12 13, 5 4 13 14, 4 4 10 11))'), 0.5)); +1 # rows (not including the header row) +1 # column +ST_AsText(ST_Segmentize(GeomFromText('POLYGONZM((3 3 10 11, 6 3 11 12, 6 6 12 13, 3 6 13 14, 3 3 10 11), (4 4 10 11, 5 4 11 12, 5 5 12 13, 5 4 13 14, 4 4 10 11))'), 0.5)) +POLYGON ZM((3 3 10 11, 3.5 3 10.166667 11.166667, 4 3 10.333333 11.333333, 4.5 3 10.5 11.5, 5 3 10.666667 11.666667, 5.5 3 10.833333 11.833333, 6 3 11 12, 6 3.5 11.166667 12.166667, 6 4 11.333333 12.333333, 6 4.5 11.5 12.5, 6 5 11.666667 12.666667, 6 5.5 11.833333 12.833333, 6 6 12 13, 5.5 6 12.166667 13.166667, 5 6 12.333333 13.333333, 4.5 6 12.5 13.5, 4 6 12.666667 13.666667, 3.5 6 12.833333 13.833333, 3 6 13 14, 3 5.5 12.5 13.5, 3 5 12 13, 3 4.5 11.5 12.5, 3 4 11 12, 3 3.5 10.5 11.5, 3 3 10 11), (4 4 10 11, 4.5 4 10.5 11.5, 5 4 11 12, 5 4.5 11.5 12.5, 5 5 12 13, 5 4.5 12.5 13.5, 5 4 13 14, 4.5 4 11.5 12.5, 4 4 10 11)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize26.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize26.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize26.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize26.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection - single Point +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0))'), 0.5)) +GEOMETRYCOLLECTION(POINT(0 0)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize27.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize27.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize27.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize27.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection - single Linestring +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1, 1 2))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1, 1 2))'), 0.5)) +GEOMETRYCOLLECTION(LINESTRING(1 1, 1 1.5, 1 2)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize28.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize28.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize28.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize28.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection - single Polygon +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)) +GEOMETRYCOLLECTION(POLYGON((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4))) ADDED test/sql_stmt_lwgeom_tests/st_segmentize29.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize29.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize29.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize29.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection - three Points +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), POINT(1 1), POINT(2 2))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), POINT(1 1), POINT(2 2))'), 0.5)) +GEOMETRYCOLLECTION(POINT(0 0), POINT(1 1), POINT(2 2)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize3.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize3.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize3.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Multilinestring +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('MULTILINESTRING((1 1, 1 2), (3 3, 4 3))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('MULTILINESTRING((1 1, 1 2), (3 3, 4 3))'), 0.5)) +MULTILINESTRING((1 1, 1 1.5, 1 2), (3 3, 3.5 3, 4 3)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize30.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize30.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize30.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize30.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection - two Linestrings +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1, 1 2), LINESTRING(3 3, 4 3))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1, 1 2), LINESTRING(3 3, 4 3))'), 0.5)) +GEOMETRYCOLLECTION(LINESTRING(1 1, 1 1.5, 1 2), LINESTRING(3 3, 3.5 3, 4 3)) ADDED test/sql_stmt_lwgeom_tests/st_segmentize31.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize31.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize31.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize31.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Collection - two Polygons +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)), POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)), POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)) +GEOMETRYCOLLECTION(POLYGON((0 0, 0.5 0, 1 0, 1 0.5, 1 1, 0.5 1, 0 1, 0 0.5, 0 0)), POLYGON((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4))) ADDED test/sql_stmt_lwgeom_tests/st_segmentize4.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize4.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize4.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Multipolygon +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)) +MULTIPOLYGON(((0 0, 0.5 0, 1 0, 1 0.5, 1 1, 0.5 1, 0 1, 0 0.5, 0 0)), ((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4))) ADDED test/sql_stmt_lwgeom_tests/st_segmentize5.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize5.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize5.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - Invalid BLOB (error) +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(zeroblob(4), 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(zeroblob(4), 0.5)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_segmentize6.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize6.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize6.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - NULL BLOB (error) +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(NULL, 0.5)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(NULL, 0.5)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_segmentize7.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize7.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize7.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - NULL distance (error) +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 2 2)'), NULL)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 2 2)'), NULL)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_segmentize8.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize8.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize8.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - text distance (error) +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 2 2)'), 'alpha')); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 2 2)'), 'alpha')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_segmentize9.testcase Index: test/sql_stmt_lwgeom_tests/st_segmentize9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_segmentize9.testcase +++ test/sql_stmt_lwgeom_tests/st_segmentize9.testcase @@ -0,0 +1,7 @@ +ST_Segmentize - text geometry (error) +:memory: #use in-memory database +SELECT ST_AsText(ST_Segmentize('alpha', 0)); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_Segmentize('alpha', 0)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_self1.testcase Index: test/sql_stmt_lwgeom_tests/st_self1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self1.testcase +++ test/sql_stmt_lwgeom_tests/st_self1.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Invalid BLOB input (error) +:memory: #use in-memory database +SELECT ST_SelfIntersections(zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_SelfIntersections(zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_self2.testcase Index: test/sql_stmt_lwgeom_tests/st_self2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self2.testcase +++ test/sql_stmt_lwgeom_tests/st_self2.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Invalid INT input (error) +:memory: #use in-memory database +SELECT ST_SelfIntersections(1); +1 # rows (not including the header row) +1 # columns +ST_SelfIntersections(1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_self3.testcase Index: test/sql_stmt_lwgeom_tests/st_self3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self3.testcase +++ test/sql_stmt_lwgeom_tests/st_self3.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Invalid DOUBLE input (error) +:memory: #use in-memory database +SELECT ST_SelfIntersections(1.1); +1 # rows (not including the header row) +1 # columns +ST_SelfIntersections(1.1) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_self4.testcase Index: test/sql_stmt_lwgeom_tests/st_self4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self4.testcase +++ test/sql_stmt_lwgeom_tests/st_self4.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Invalid TEXT input (error) +:memory: #use in-memory database +SELECT ST_SelfIntersections('alpha'); +1 # rows (not including the header row) +1 # columns +ST_SelfIntersections('alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_self5.testcase Index: test/sql_stmt_lwgeom_tests/st_self5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self5.testcase +++ test/sql_stmt_lwgeom_tests/st_self5.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Valid 2D input +:memory: #use in-memory database +SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('LINESTRING(0 0, 10 10, 0 10, 10 0)'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_SelfIntersections(ST_GeomFromText('LINESTRING(0 0, 10 10, 0 10, 10 0)'))) +MULTIPOINT(5 5) ADDED test/sql_stmt_lwgeom_tests/st_self6.testcase Index: test/sql_stmt_lwgeom_tests/st_self6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self6.testcase +++ test/sql_stmt_lwgeom_tests/st_self6.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Valid 3D input +:memory: #use in-memory database +SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_SelfIntersections(ST_GeomFromText('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))) +MULTIPOINT Z(5 5 4.5) ADDED test/sql_stmt_lwgeom_tests/st_self7.testcase Index: test/sql_stmt_lwgeom_tests/st_self7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self7.testcase +++ test/sql_stmt_lwgeom_tests/st_self7.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Valid MultiLinestring 2D input +:memory: #use in-memory database +SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTILINESTRING((0 0, 10 10, 0 10, 10 0),(10 8, 10 12))'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTILINESTRING((0 0, 10 10, 0 10, 10 0),(10 8, 10 12))'))) +MULTIPOINT(5 5, 10 10) ADDED test/sql_stmt_lwgeom_tests/st_self8.testcase Index: test/sql_stmt_lwgeom_tests/st_self8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self8.testcase +++ test/sql_stmt_lwgeom_tests/st_self8.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Valid MultiLinestring 3D input +:memory: #use in-memory database +SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 10 10 10, 0 10 5, 10 0 3),(10 8 4, 10 12 5))'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 10 10 10, 0 10 5, 10 0 3),(10 8 4, 10 12 5))'))) +MULTIPOINT Z(5 5 4.5, 10 10 10) ADDED test/sql_stmt_lwgeom_tests/st_self9.testcase Index: test/sql_stmt_lwgeom_tests/st_self9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_self9.testcase +++ test/sql_stmt_lwgeom_tests/st_self9.testcase @@ -0,0 +1,7 @@ +ST_SelfIntersections - Invalid MultiPoint 3D input +:memory: #use in-memory database +SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTIPOINTZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))); +1 # rows (not including the header row) +1 # columns +ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTIPOINTZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid1.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid1.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid1.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - two args - NULL BLOB (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(NULL, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(NULL, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid10.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid10.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid10.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - three args - NULL sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, NULL); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid11.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid11.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid11.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid11.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - three args - BLOB sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid12.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid12.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid12.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid12.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - three args - text sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid13.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid13.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid13.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid13.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - NULL originX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 1, 0.5, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 1, 0.5, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid14.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid14.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid14.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid14.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - BLOB originX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(0), 1, 0.5, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(0), 1, 0.5, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid15.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid15.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid15.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid15.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - text originX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 1, 0.5, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 1, 0.5, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid16.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid16.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid16.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid16.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - NULL originY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, NULL, 0.5, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, NULL, 0.5, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid17.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid17.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid17.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid17.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - BLOB originY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, zeroblob(0), 0.5, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, zeroblob(0), 0.5, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid18.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid18.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid18.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid18.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - text originY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 'alpha', 0.5, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 'alpha', 0.5, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid19.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid19.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid19.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid19.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - NULL sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, NULL, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, NULL, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid2.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid2.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid2.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - two args - invalid BLOB (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(zeroblob(4), 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(zeroblob(4), 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid20.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid20.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid20.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid20.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - BLOB sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, zeroblob(0), 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, zeroblob(0), 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid21.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid21.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid21.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid21.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - text sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 'alpha', 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 'alpha', 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid22.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid22.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid22.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid22.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - NULL sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, NULL); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid23.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid23.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid23.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid23.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - BLOB sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, zeroblob(0)); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, zeroblob(0)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid24.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid24.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid24.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid24.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - five args - text sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid25.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid25.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid25.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid25.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - NULL grid origin (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 1, 2, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 1, 2, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid26.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid26.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid26.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid26.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - invalid BLOB grid origin (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(4), 1, 2, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(4), 1, 2, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid27.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid27.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid27.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid27.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - text grid origin (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 1, 2, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 1, 2, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid28.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid28.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid28.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid28.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - num grid origin (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1.1, 1, 2, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 1.1, 1, 2, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid29.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid29.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid29.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid29.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - not-point grid origin (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), GeomFromText('LINESTRING(0 0, 1 1)'), 1, 2, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), GeomFromText('LINESTRING(0 0, 1 1)'), 1, 2, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid3.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid3.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid3.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - two args - NULL size (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), NULL); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid30.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid30.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid30.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid30.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - NULL sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), NULL, 2, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), NULL, 2, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid31.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid31.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid31.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid31.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - BLOB sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), zeroblob(4), 2, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), zeroblob(4), 2, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid32.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid32.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid32.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid32.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - text sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 'alpha', 2, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 'alpha', 2, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid33.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid33.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid33.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid33.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - NULL sizeM (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, NULL); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid34.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid34.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid34.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid34.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - BLOB sizeM (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid35.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid35.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid35.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid35.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - text sizeM (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid36.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid36.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid36.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid36.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - NULL sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, NULL, 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, NULL, 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid37.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid37.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid37.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid37.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - BLOB sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, zeroblob(4), 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, zeroblob(4), 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid38.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid38.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid38.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid38.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - text sizeY (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 'alpha', 3, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 'alpha', 3, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid39.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid39.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid39.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid39.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - NULL sizeZ (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, NULL, 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, NULL, 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid4.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid4.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid4.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - two args - text size (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid40.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid40.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid40.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid40.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - BLOB sizeZ (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, zeroblob(4), 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, zeroblob(4), 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid41.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid41.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid41.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid41.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - six args - text sizeZ (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 'alpha', 4); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 'alpha', 4) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid42.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid42.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid42.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid42.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Point 2D +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('POINT(1.2 2.3)'), 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('POINT(1.2 2.3)'), 0.25)) +POINT(1.25 2.25) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid43.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid43.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid43.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid43.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Linestring 2D +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('LINESTRING(1.2 2.3, 1.21 2.31, 1.22 2.32, 2.1 3.9)'), 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('LINESTRING(1.2 2.3, 1.21 2.31, 1.22 2.32, 2.1 3.9)'), 0.25)) +LINESTRING(1.25 2.25, 2 4) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid44.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid44.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid44.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid44.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Polygon 2D +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('POLYGON((0.1 0.1, 0.2 0.2, 0.2 5.1, 4.9 4.9, 5.1 5.1, 4.9 0.15, 0.1 0.1), (3.1 3.1, 3.2 3.1, 3.2 3.2, 3.2 3.1, 3.1 3.1), (1.1 1.1, 1.1 2.1, 2.1 2.1, 2.1 1.1, 1.1 1.1))'), 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('POLYGON((0.1 0.1, 0.2 0.2, 0.2 5.1, 4.9 4.9, 5.1 5.1, 4.9 0.15, 0.1 0.1), (3.1 3.1, 3.2 3.1, 3.2 3.2, 3.2 3.1, 3.1 3.1), (1.1 1.1, 1.1 2.1, 2.1 2.1, 2.1 1.1, 1.1 1.1))'), 0.25)) +POLYGON((0 0, 0.25 0.25, 0.25 5, 5 5, 5 0.25, 0 0), (3 3, 3.25 3, 3.25 3.25, 3.25 3, 3 3), (1 1, 1 2, 2 2, 2 1, 1 1)) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid45.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid45.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid45.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid45.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiPoint 2D +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOINT(1.2 2.3, 1.21 2.31, 2.2 3.3, 2.21 3.33)'), 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTIPOINT(1.2 2.3, 1.21 2.31, 2.2 3.3, 2.21 3.33)'), 0.25)) +MULTIPOINT(1.25 2.25, 2.25 3.25) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid46.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid46.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid46.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid46.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiLinestring 2D +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRING((1.2 2.3, 1.21 2.31, 1.22 2.32, 2.1 3.9), (2.11 3.11, 2.12 3.12), (3.2 4.2, 4.2 3.2))'), 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRING((1.2 2.3, 1.21 2.31, 1.22 2.32, 2.1 3.9), (2.11 3.11, 2.12 3.12), (3.2 4.2, 4.2 3.2))'), 0.25)) +MULTILINESTRING((1.25 2.25, 2 4), (3.25 4.25, 4.25 3.25)) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid47.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid47.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid47.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid47.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiPolygon 2D +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGON(((5.11 5.11, 5.12 5.11, 4.11 5.11, 5.11 5.12, 5.11 5.11)), ((0.1 0.1, 0.2 0.2, 0.2 5.1, 4.9 4.9, 5.1 5.1, 4.9 0.15, 0.1 0.1), (3.1 3.1, 3.2 3.1, 3.2 3.2, 3.2 3.1, 3.1 3.1), (1.1 1.1, 1.1 2.1, 2.1 2.1, 2.1 1.1, 1.1 1.1)), ((5.51 5.51, 6.51 5.51, 6.51 6.51, 5.51 6.51, 5.51 5.51)))'), 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGON(((5.11 5.11, 5.12 5.11, 4.11 5.11, 5.11 5.12, 5.11 5.11)), ((0.1 0.1, 0.2 0.2, 0.2 5.1, 4.9 4.9, 5.1 5.1, 4.9 0.15, 0.1 0.1), (3.1 3.1, 3.2 3.1, 3.2 3.2, 3.2 3.1, 3.1 3.1), (1.1 1.1, 1.1 2.1, 2.1 2.1, 2.1 1.1, 1.1 1.1)), ((5.51 5.51, 6.51 5.51, 6.51 6.51, 5.51 6.51, 5.51 5.51)))'), 0.25)) +MULTIPOLYGON(((0 0, 0.25 0.25, 0.25 5, 5 5, 5 0.25, 0 0), (3 3, 3.25 3, 3.25 3.25, 3.25 3, 3 3), (1 1, 1 2, 2 2, 2 1, 1 1)), ((5.5 5.5, 6.5 5.5, 6.5 6.5, 5.5 6.5, 5.5 5.5))) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid48.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid48.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid48.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid48.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Point ZM +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('POINTZM(1.2 2.3 10.1 20.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('POINTZM(1.2 2.3 10.1 20.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +POINT ZM(1.25 2.25 10 20) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid49.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid49.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid49.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid49.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Linestring ZM +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('LINESTRINGZM(1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 1.22 2.32 10.12 20.12, 2.1 3.9 11.4 21.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('LINESTRINGZM(1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 1.22 2.32 10.12 20.12, 2.1 3.9 11.4 21.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +LINESTRING ZM(1.25 2.25 10 20, 2 4 11.5 21.5) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid5.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid5.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid5.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - two args - text geom (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid('alpha', NULL); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid('alpha', NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid50.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid50.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid50.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid50.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Polygon ZM +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('POLYGONZM((0.1 0.1 10.1 20.1, 0.2 0.2 10.11 20.12, 0.2 5.1 10.12 20.13, 4.9 4.9 10.51 20.51, 5.1 5.1 10.49 20.49, 4.9 0.15 10.1 20.1, 0.1 0.1 10.1 20.1), (3.1 3.1 10.1 20.1, 3.2 3.1 10.11 20.11, 3.2 3.2 10.12 20.12, 3.2 3.1 10.13 20.13, 3.1 3.1 10.1 20.1), (1.1 1.1 10.1 20.1, 1.1 2.1 10.2 20.2, 2.1 2.1 10.3 20.3, 2.1 1.1 10.4 20.4, 1.1 1.1 10.1 20.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('POLYGONZM((0.1 0.1 10.1 20.1, 0.2 0.2 10.11 20.12, 0.2 5.1 10.12 20.13, 4.9 4.9 10.51 20.51, 5.1 5.1 10.49 20.49, 4.9 0.15 10.1 20.1, 0.1 0.1 10.1 20.1), (3.1 3.1 10.1 20.1, 3.2 3.1 10.11 20.11, 3.2 3.2 10.12 20.12, 3.2 3.1 10.13 20.13, 3.1 3.1 10.1 20.1), (1.1 1.1 10.1 20.1, 1.1 2.1 10.2 20.2, 2.1 2.1 10.3 20.3, 2.1 1.1 10.4 20.4, 1.1 1.1 10.1 20.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +POLYGON ZM((0 0 10 20, 0.25 0.25 10 20, 0.25 5 10 20.25, 5 5 10.5 20.5, 5 0.25 10 20, 0 0 10 20), (3 3 10 20, 3.25 3 10 20, 3.25 3.25 10 20, 3.25 3 10.25 20.25, 3 3 10 20), (1 1 10 20, 1 2 10.25 20.25, 2 2 10.25 20.25, 2 1 10.5 20.5, 1 1 10 20)) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid51.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid51.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid51.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid51.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiPoint ZM +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTZM(1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 2.2 3.3 21.1 31.1, 2.21 3.33 21.12 31.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTZM(1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 2.2 3.3 21.1 31.1, 2.21 3.33 21.12 31.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTIPOINT ZM(1.25 2.25 10 20, 2.25 3.25 21 31) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid52.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid52.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid52.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid52.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiLinestring ZM +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGZM((1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 1.22 2.32 10.1 20.1, 2.1 3.9 10.11 20.11), (2.11 3.11 10 20, 2.12 3.12 10.1 20.1), (3.2 4.2 10.1 20.1, 4.2 3.2 10.4 20.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGZM((1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 1.22 2.32 10.1 20.1, 2.1 3.9 10.11 20.11), (2.11 3.11 10 20, 2.12 3.12 10.1 20.1), (3.2 4.2 10.1 20.1, 4.2 3.2 10.4 20.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTILINESTRING ZM((1.25 2.25 10 20, 2 4 10 20), (3.25 4.25 10 20, 4.25 3.25 10.5 20.5)) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid53.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid53.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid53.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid53.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiPolygon ZM +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONZM(((5.11 5.11 10.1 20.1, 5.12 5.11 10.11 20.11, 5.11 5.11 10.12 20.12, 5.11 5.12 10.13 20.13, 5.11 5.11 10.1 20.1)), ((0.1 0.1 10.1 20.1, 0.2 0.2 10.11 20.11, 0.2 5.1 10.12 20.12, 4.9 4.9 10.13 20.13, 5.1 5.1 10.14 20.14, 4.9 0.15 10.15 20.15, 0.1 0.1 10.1 20.1), (3.1 3.1 10.1 20.1, 3.2 3.1 10.11 20.11, 3.2 3.2 10.11 20.11, 3.2 3.1 10.12 20.12, 3.1 3.1 10.1 20.1), (1.1 1.1 10.1 20.1, 1.1 2.1 10.11 20.11, 2.1 2.1 10.12 20.12, 2.1 1.1 10.13 20.13, 1.1 1.1 10.1 20.1)), ((5.51 5.51 10.1 20.1, 6.51 5.51 10.11 20.11, 6.51 6.51 10.12 20.12, 5.51 6.51 10.13 20.13, 5.51 5.51 10.1 20.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONZM(((5.11 5.11 10.1 20.1, 5.12 5.11 10.11 20.11, 5.11 5.11 10.12 20.12, 5.11 5.12 10.13 20.13, 5.11 5.11 10.1 20.1)), ((0.1 0.1 10.1 20.1, 0.2 0.2 10.11 20.11, 0.2 5.1 10.12 20.12, 4.9 4.9 10.13 20.13, 5.1 5.1 10.14 20.14, 4.9 0.15 10.15 20.15, 0.1 0.1 10.1 20.1), (3.1 3.1 10.1 20.1, 3.2 3.1 10.11 20.11, 3.2 3.2 10.11 20.11, 3.2 3.1 10.12 20.12, 3.1 3.1 10.1 20.1), (1.1 1.1 10.1 20.1, 1.1 2.1 10.11 20.11, 2.1 2.1 10.12 20.12, 2.1 1.1 10.13 20.13, 1.1 1.1 10.1 20.1)), ((5.51 5.51 10.1 20.1, 6.51 5.51 10.11 20.11, 6.51 6.51 10.12 20.12, 5.51 6.51 10.13 20.13, 5.51 5.51 10.1 20.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTIPOLYGON ZM(((0 0 10 20, 0.25 0.25 10 20, 0.25 5 10 20, 5 5 10.25 20.25, 5 0.25 10.25 20.25, 0 0 10 20), (3 3 10 20, 3.25 3 10 20, 3.25 3.25 10 20, 3.25 3 10 20, 3 3 10 20), (1 1 10 20, 1 2 10 20, 2 2 10 20, 2 1 10.25 20.25, 1 1 10 20)), ((5.5 5.5 10 20, 6.5 5.5 10 20, 6.5 6.5 10 20, 5.5 6.5 10.25 20.25, 5.5 5.5 10 20))) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid54.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid54.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid54.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid54.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Point Z +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('POINTZ(1.2 2.3 10.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('POINTZ(1.2 2.3 10.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +POINT Z(1.25 2.25 10) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid55.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid55.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid55.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid55.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Linestring Z +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('LINESTRINGZ(1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.12, 2.1 3.9 11.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('LINESTRINGZ(1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.12, 2.1 3.9 11.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +LINESTRING Z(1.25 2.25 10, 2 4 11.5) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid56.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid56.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid56.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid56.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Polygon Z +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('POLYGONZ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.51, 5.1 5.1 10.49, 4.9 0.15 10.1, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.12, 3.2 3.1 10.13, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.2, 2.1 2.1 10.3, 2.1 1.1 10.4, 1.1 1.1 10.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('POLYGONZ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.51, 5.1 5.1 10.49, 4.9 0.15 10.1, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.12, 3.2 3.1 10.13, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.2, 2.1 2.1 10.3, 2.1 1.1 10.4, 1.1 1.1 10.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +POLYGON Z((0 0 10, 0.25 0.25 10, 0.25 5 10, 5 5 10.5, 5 0.25 10, 0 0 10), (3 3 10, 3.25 3 10, 3.25 3.25 10, 3.25 3 10.25, 3 3 10), (1 1 10, 1 2 10.25, 2 2 10.25, 2 1 10.5, 1 1 10)) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid57.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid57.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid57.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid57.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiPoint Z +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTZ(1.2 2.3 10.1, 1.21 2.31 10.11, 2.2 3.3 21.1, 2.21 3.33 21.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTZ(1.2 2.3 10.1, 1.21 2.31 10.11, 2.2 3.3 21.1, 2.21 3.33 21.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTIPOINT Z(1.25 2.25 10, 2.25 3.25 21) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid58.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid58.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid58.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid58.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiLinestring Z +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGZ((1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.1, 2.1 3.9 10.11), (2.11 3.11 10, 2.12 3.12 10.1), (3.2 4.2 10.1, 4.2 3.2 10.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGZ((1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.1, 2.1 3.9 10.11), (2.11 3.11 10, 2.12 3.12 10.1), (3.2 4.2 10.1, 4.2 3.2 10.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTILINESTRING Z((1.25 2.25 10, 2 4 10), (3.25 4.25 10, 4.25 3.25 10.5)) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid59.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid59.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid59.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid59.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiPolygon Z +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONZ(((5.11 5.11 10.1, 5.12 5.11 10.11, 5.11 5.11 10.12, 5.11 5.12 10.13, 5.11 5.11 10.1)), ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.13, 5.1 5.1 10.14, 4.9 0.15 10.15, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.11, 3.2 3.1 10.12, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.11, 2.1 2.1 10.12, 2.1 1.1 10.13, 1.1 1.1 10.1)), ((5.51 5.51 10.1, 6.51 5.51 10.11, 6.51 6.51 10.12, 5.51 6.51 10.13, 5.51 5.51 10.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONZ(((5.11 5.11 10.1, 5.12 5.11 10.11, 5.11 5.11 10.12, 5.11 5.12 10.13, 5.11 5.11 10.1)), ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.13, 5.1 5.1 10.14, 4.9 0.15 10.15, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.11, 3.2 3.1 10.12, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.11, 2.1 2.1 10.12, 2.1 1.1 10.13, 1.1 1.1 10.1)), ((5.51 5.51 10.1, 6.51 5.51 10.11, 6.51 6.51 10.12, 5.51 6.51 10.13, 5.51 5.51 10.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTIPOLYGON Z(((0 0 10, 0.25 0.25 10, 0.25 5 10, 5 5 10.25, 5 0.25 10.25, 0 0 10), (3 3 10, 3.25 3 10, 3.25 3.25 10, 3.25 3 10, 3 3 10), (1 1 10, 1 2 10, 2 2 10, 2 1 10.25, 1 1 10)), ((5.5 5.5 10, 6.5 5.5 10, 6.5 6.5 10, 5.5 6.5 10.25, 5.5 5.5 10))) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid6.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid6.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid6.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - two args - double geom (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(1.2, NULL); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(1.2, NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid60.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid60.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid60.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid60.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Point M +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('POINTM(1.2 2.3 10.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('POINTM(1.2 2.3 10.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +POINT M(1.25 2.25 10) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid61.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid61.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid61.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid61.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Linestring M +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('LINESTRINGM(1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.12, 2.1 3.9 11.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('LINESTRINGM(1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.12, 2.1 3.9 11.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +LINESTRING M(1.25 2.25 10, 2 4 11.5) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid62.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid62.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid62.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid62.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - Polygon M +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('POLYGONM((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.51, 5.1 5.1 10.49, 4.9 0.15 10.1, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.12, 3.2 3.1 10.13, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.2, 2.1 2.1 10.3, 2.1 1.1 10.4, 1.1 1.1 10.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('POLYGONM((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.51, 5.1 5.1 10.49, 4.9 0.15 10.1, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.12, 3.2 3.1 10.13, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.2, 2.1 2.1 10.3, 2.1 1.1 10.4, 1.1 1.1 10.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +POLYGON M((0 0 10, 0.25 0.25 10, 0.25 5 10, 5 5 10.5, 5 0.25 10, 0 0 10), (3 3 10, 3.25 3 10, 3.25 3.25 10, 3.25 3 10.25, 3 3 10), (1 1 10, 1 2 10.25, 2 2 10.25, 2 1 10.5, 1 1 10)) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid63.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid63.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid63.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid63.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiPoint M +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTM(1.2 2.3 10.1, 1.21 2.31 10.11, 2.2 3.3 21.1, 2.21 3.33 21.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTM(1.2 2.3 10.1, 1.21 2.31 10.11, 2.2 3.3 21.1, 2.21 3.33 21.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTIPOINT M(1.25 2.25 10, 2.25 3.25 21) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid64.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid64.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid64.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid64.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiLinestring M +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGM((1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.1, 2.1 3.9 10.11), (2.11 3.11 10, 2.12 3.12 10.1), (3.2 4.2 10.1, 4.2 3.2 10.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGM((1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.1, 2.1 3.9 10.11), (2.11 3.11 10, 2.12 3.12 10.1), (3.2 4.2 10.1, 4.2 3.2 10.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTILINESTRING M((1.25 2.25 10, 2 4 10), (3.25 4.25 10, 4.25 3.25 10.5)) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid65.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid65.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid65.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid65.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - MultiPolygon M +:memory: #use in-memory database +SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONM(((5.11 5.11 10.1, 5.12 5.11 10.11, 5.11 5.11 10.12, 5.11 5.12 10.13, 5.11 5.11 10.1)), ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.13, 5.1 5.1 10.14, 4.9 0.15 10.15, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.11, 3.2 3.1 10.12, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.11, 2.1 2.1 10.12, 2.1 1.1 10.13, 1.1 1.1 10.1)), ((5.51 5.51 10.1, 6.51 5.51 10.11, 6.51 6.51 10.12, 5.51 6.51 10.13, 5.51 5.51 10.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); +1 # rows (not including the header row) +1 # columns +AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONM(((5.11 5.11 10.1, 5.12 5.11 10.11, 5.11 5.11 10.12, 5.11 5.12 10.13, 5.11 5.11 10.1)), ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.13, 5.1 5.1 10.14, 4.9 0.15 10.15, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.11, 3.2 3.1 10.12, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.11, 2.1 2.1 10.12, 2.1 1.1 10.13, 1.1 1.1 10.1)), ((5.51 5.51 10.1, 6.51 5.51 10.11, 6.51 6.51 10.12, 5.51 6.51 10.13, 5.51 5.51 10.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) +MULTIPOLYGON M(((0 0 10, 0.25 0.25 10, 0.25 5 10, 5 5 10.25, 5 0.25 10.25, 0 0 10), (3 3 10, 3.25 3 10, 3.25 3.25 10, 3.25 3 10, 3 3 10), (1 1 10, 1 2 10, 2 2 10, 2 1 10.25, 1 1 10)), ((5.5 5.5 10, 6.5 5.5 10, 6.5 6.5 10, 5.5 6.5 10.25, 5.5 5.5 10))) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid7.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid7.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid7.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - three args - NULL sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid8.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid8.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid8.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - three args - BLOB sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(4), 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(4), 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_snaptogrid9.testcase Index: test/sql_stmt_lwgeom_tests/st_snaptogrid9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_snaptogrid9.testcase +++ test/sql_stmt_lwgeom_tests/st_snaptogrid9.testcase @@ -0,0 +1,7 @@ +ST_SnapToGrid - three args - text sizeX (error) +:memory: #use in-memory database +SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 0.5); +1 # rows (not including the header row) +1 # columns +ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 0.5) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split1.testcase Index: test/sql_stmt_lwgeom_tests/st_split1.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split1.testcase +++ test/sql_stmt_lwgeom_tests/st_split1.testcase @@ -0,0 +1,7 @@ +ST_Split - Invalid BLOB input (error) +:memory: #use in-memory database +SELECT ST_Split(zeroblob(4), MakePoint(5, 0)); +1 # rows (not including the header row) +1 # columns +ST_Split(zeroblob(4), MakePoint(5, 0)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split10.testcase Index: test/sql_stmt_lwgeom_tests/st_split10.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split10.testcase +++ test/sql_stmt_lwgeom_tests/st_split10.testcase @@ -0,0 +1,7 @@ +ST_Split - Polygon-Point (error) +:memory: #use in-memory database +SELECT ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), MakePoint(4, 1)); +1 # rows (not including the header row) +1 # columns +ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), MakePoint(4, 1)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split11.testcase Index: test/sql_stmt_lwgeom_tests/st_split11.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split11.testcase +++ test/sql_stmt_lwgeom_tests/st_split11.testcase @@ -0,0 +1,7 @@ +ST_Split - Line-Polygon (error) +:memory: #use in-memory database +SELECT ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')); +1 # rows (not including the header row) +1 # columns +ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split12.testcase Index: test/sql_stmt_lwgeom_tests/st_split12.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split12.testcase +++ test/sql_stmt_lwgeom_tests/st_split12.testcase @@ -0,0 +1,7 @@ +ST_Split - Line-Collection (error) +:memory: #use in-memory database +SELECT ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2)')); +1 # rows (not including the header row) +1 # columns +ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2)')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split13.testcase Index: test/sql_stmt_lwgeom_tests/st_split13.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split13.testcase +++ test/sql_stmt_lwgeom_tests/st_split13.testcase @@ -0,0 +1,7 @@ +ST_Split - Line-Point (split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(7, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(7, 0))) +MULTILINESTRING((0 0, 7 0), (7 0, 10 0)) ADDED test/sql_stmt_lwgeom_tests/st_split14.testcase Index: test/sql_stmt_lwgeom_tests/st_split14.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split14.testcase +++ test/sql_stmt_lwgeom_tests/st_split14.testcase @@ -0,0 +1,7 @@ +ST_Split - Line-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(7 0, 7 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(7 0, 7 3)'))) +MULTILINESTRING((0 1, 7 1), (7 1, 10 1)) ADDED test/sql_stmt_lwgeom_tests/st_split15.testcase Index: test/sql_stmt_lwgeom_tests/st_split15.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split15.testcase +++ test/sql_stmt_lwgeom_tests/st_split15.testcase @@ -0,0 +1,7 @@ +ST_Split - MultiLine-Point (split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(7, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(7, 0))) +MULTILINESTRING((0 2, 10 2), (0 0, 7 0), (7 0, 10 0)) ADDED test/sql_stmt_lwgeom_tests/st_split16.testcase Index: test/sql_stmt_lwgeom_tests/st_split16.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split16.testcase +++ test/sql_stmt_lwgeom_tests/st_split16.testcase @@ -0,0 +1,7 @@ +ST_Split - MultiLine-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))) +MULTILINESTRING((0 2, 7 2), (7 2, 10 2), (0 1, 7 1), (7 1, 10 1)) ADDED test/sql_stmt_lwgeom_tests/st_split17.testcase Index: test/sql_stmt_lwgeom_tests/st_split17.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split17.testcase +++ test/sql_stmt_lwgeom_tests/st_split17.testcase @@ -0,0 +1,7 @@ +ST_Split - Polygon-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(7 0, 7 20)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(7 0, 7 20)'))) +MULTIPOLYGON(((7 1, 0 1, 0 10, 7 10, 7 1)), ((7 10, 10 10, 10 1, 7 1, 7 10))) ADDED test/sql_stmt_lwgeom_tests/st_split18.testcase Index: test/sql_stmt_lwgeom_tests/st_split18.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split18.testcase +++ test/sql_stmt_lwgeom_tests/st_split18.testcase @@ -0,0 +1,7 @@ +ST_Split - Collection-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(7 0, 7 20)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(7 0, 7 20)'))) +GEOMETRYCOLLECTION(LINESTRING(0 11, 7 11), LINESTRING(7 11, 10 11), POLYGON((7 1, 0 1, 0 10, 7 10, 7 1)), POLYGON((7 10, 10 10, 10 1, 7 1, 7 10))) ADDED test/sql_stmt_lwgeom_tests/st_split19.testcase Index: test/sql_stmt_lwgeom_tests/st_split19.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split19.testcase +++ test/sql_stmt_lwgeom_tests/st_split19.testcase @@ -0,0 +1,7 @@ +ST_Split - Line-Point (not split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))) +LINESTRING(0 0, 10 0) ADDED test/sql_stmt_lwgeom_tests/st_split2.testcase Index: test/sql_stmt_lwgeom_tests/st_split2.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split2.testcase +++ test/sql_stmt_lwgeom_tests/st_split2.testcase @@ -0,0 +1,7 @@ +ST_Split - NULL BLOB input (error) +:memory: #use in-memory database +SELECT ST_Split(NULL, MakePoint(5, 0)); +1 # rows (not including the header row) +1 # columns +ST_Split(NULL, MakePoint(5, 0)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split20.testcase Index: test/sql_stmt_lwgeom_tests/st_split20.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split20.testcase +++ test/sql_stmt_lwgeom_tests/st_split20.testcase @@ -0,0 +1,7 @@ +ST_Split - Line-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))) +LINESTRING(0 1, 10 1) ADDED test/sql_stmt_lwgeom_tests/st_split21.testcase Index: test/sql_stmt_lwgeom_tests/st_split21.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split21.testcase +++ test/sql_stmt_lwgeom_tests/st_split21.testcase @@ -0,0 +1,7 @@ +ST_Split - MultiLine-Point (not split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0))) +MULTILINESTRING((0 2, 10 2), (0 0, 10 0)) ADDED test/sql_stmt_lwgeom_tests/st_split22.testcase Index: test/sql_stmt_lwgeom_tests/st_split22.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split22.testcase +++ test/sql_stmt_lwgeom_tests/st_split22.testcase @@ -0,0 +1,7 @@ +ST_Split - MultiLine-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)'))) +MULTILINESTRING((0 2, 10 2), (0 1, 10 1)) ADDED test/sql_stmt_lwgeom_tests/st_split23.testcase Index: test/sql_stmt_lwgeom_tests/st_split23.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split23.testcase +++ test/sql_stmt_lwgeom_tests/st_split23.testcase @@ -0,0 +1,7 @@ +ST_Split - Polygon-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(12 0, 12 20)')))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(12 0, 12 20)')))) +POLYGON((0 1, 0 10, 10 10, 10 1, 0 1)) ADDED test/sql_stmt_lwgeom_tests/st_split24.testcase Index: test/sql_stmt_lwgeom_tests/st_split24.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split24.testcase +++ test/sql_stmt_lwgeom_tests/st_split24.testcase @@ -0,0 +1,7 @@ +ST_Split - Collection-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_Split(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(-1 0, -1 20)')))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_Split(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(-1 0, -1 20)')))) +GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 0 10, 10 10, 10 1, 0 1))) ADDED test/sql_stmt_lwgeom_tests/st_split25.testcase Index: test/sql_stmt_lwgeom_tests/st_split25.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split25.testcase +++ test/sql_stmt_lwgeom_tests/st_split25.testcase @@ -0,0 +1,7 @@ +ST_Split - Line-Point (not split) +:memory: #use in-memory database +SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))) +LINESTRING(0 0, 10 0) ADDED test/sql_stmt_lwgeom_tests/st_split26.testcase Index: test/sql_stmt_lwgeom_tests/st_split26.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split26.testcase +++ test/sql_stmt_lwgeom_tests/st_split26.testcase @@ -0,0 +1,7 @@ +ST_SplitlLeft - Line-Point (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('LINESTRINGZM(0 0 10 100, 10 0 11 101)'), MakePointZM(7, 0, 10, 100))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('LINESTRINGZM(0 0 10 100, 10 0 11 101)'), MakePointZM(7, 0, 10, 100))) +LINESTRING ZM(0 0 10 100, 7 0 10.7 100.7) ADDED test/sql_stmt_lwgeom_tests/st_split27.testcase Index: test/sql_stmt_lwgeom_tests/st_split27.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split27.testcase +++ test/sql_stmt_lwgeom_tests/st_split27.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - Line-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('LINESTRINGM(0 1 10, 10 1 10)'), GeomFromText('LINESTRING(7 0, 7 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('LINESTRINGM(0 1 10, 10 1 10)'), GeomFromText('LINESTRING(7 0, 7 3)'))) +LINESTRING M(0 1 0, 7 1 0) ADDED test/sql_stmt_lwgeom_tests/st_split28.testcase Index: test/sql_stmt_lwgeom_tests/st_split28.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split28.testcase +++ test/sql_stmt_lwgeom_tests/st_split28.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - MultiLine-Point (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('MULTILINESTRINGZ((0 2 10, 10 2 11), (0 0 10, 10 0 11))'), MakePointZ(7, 0, 10))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('MULTILINESTRINGZ((0 2 10, 10 2 11), (0 0 10, 10 0 11))'), MakePointZ(7, 0, 10))) +MULTILINESTRING Z((0 2 10, 10 2 11), (0 0 10, 7 0 10.7)) ADDED test/sql_stmt_lwgeom_tests/st_split29.testcase Index: test/sql_stmt_lwgeom_tests/st_split29.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split29.testcase +++ test/sql_stmt_lwgeom_tests/st_split29.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - MultiLine-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))) +MULTILINESTRING((0 2, 7 2), (0 1, 7 1)) ADDED test/sql_stmt_lwgeom_tests/st_split3.testcase Index: test/sql_stmt_lwgeom_tests/st_split3.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split3.testcase +++ test/sql_stmt_lwgeom_tests/st_split3.testcase @@ -0,0 +1,7 @@ +ST_Split - text input (error) +:memory: #use in-memory database +SELECT ST_Split('alpha', MakePoint(5, 0)); +1 # rows (not including the header row) +1 # columns +ST_Split('alpha', MakePoint(5, 0)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split30.testcase Index: test/sql_stmt_lwgeom_tests/st_split30.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split30.testcase +++ test/sql_stmt_lwgeom_tests/st_split30.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - Polygon-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('POLYGONZ((0 1 10, 10 1 11, 10 10 12, 0 10 13, 0 1 10), (5 5 10, 9 5 11, 9 9 12, 5 9 13, 5 5 10))'), GeomFromText('LINESTRING(7 0, 7 20)')))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('POLYGONZ((0 1 10, 10 1 11, 10 10 12, 0 10 13, 0 1 10), (5 5 10, 9 5 11, 9 9 12, 5 9 13, 5 5 10))'), GeomFromText('LINESTRING(7 0, 7 20)')))) +POLYGON Z((7 1 10.7, 0 1 10, 0 10 13, 7 10 12.3, 7 9 12.5, 5 9 13, 5 5 10, 7 5 10.5, 7 1 10.7)) ADDED test/sql_stmt_lwgeom_tests/st_split31.testcase Index: test/sql_stmt_lwgeom_tests/st_split31.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split31.testcase +++ test/sql_stmt_lwgeom_tests/st_split31.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - Collection-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('GEOMETRYCOLLECTIONM(LINESTRINGM(0 11 10, 10 11 10), POLYGONM((0 1 10, 10 1 11, 10 10 12, 0 10 13, 0 1 10), (5 5 10, 9 5 11, 9 9 12, 5 9 13, 5 5 10)))'), GeomFromText('LINESTRING(7 0, 7 20)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('GEOMETRYCOLLECTIONM(LINESTRINGM(0 11 10, 10 11 10), POLYGONM((0 1 10, 10 1 11, 10 10 12, 0 10 13, 0 1 10), (5 5 10, 9 5 11, 9 9 12, 5 9 13, 5 5 10)))'), GeomFromText('LINESTRING(7 0, 7 20)'))) +GEOMETRYCOLLECTION M(LINESTRING M(0 11 0, 7 11 0), POLYGON M((7 1 0, 0 1 0, 0 10 0, 7 10 0, 7 9 0, 5 9 0, 5 5 0, 7 5 0, 7 1 0))) ADDED test/sql_stmt_lwgeom_tests/st_split32.testcase Index: test/sql_stmt_lwgeom_tests/st_split32.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split32.testcase +++ test/sql_stmt_lwgeom_tests/st_split32.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - Line-Point (not split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))) +LINESTRING(0 0, 10 0) ADDED test/sql_stmt_lwgeom_tests/st_split33.testcase Index: test/sql_stmt_lwgeom_tests/st_split33.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split33.testcase +++ test/sql_stmt_lwgeom_tests/st_split33.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - Line-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))) +LINESTRING(0 1, 10 1) ADDED test/sql_stmt_lwgeom_tests/st_split34.testcase Index: test/sql_stmt_lwgeom_tests/st_split34.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split34.testcase +++ test/sql_stmt_lwgeom_tests/st_split34.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - MultiLine-Point (not split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0))) +MULTILINESTRING((0 2, 10 2), (0 0, 10 0)) ADDED test/sql_stmt_lwgeom_tests/st_split35.testcase Index: test/sql_stmt_lwgeom_tests/st_split35.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split35.testcase +++ test/sql_stmt_lwgeom_tests/st_split35.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - MultiLine-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)'))) +MULTILINESTRING((0 2, 10 2), (0 1, 10 1)) ADDED test/sql_stmt_lwgeom_tests/st_split36.testcase Index: test/sql_stmt_lwgeom_tests/st_split36.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split36.testcase +++ test/sql_stmt_lwgeom_tests/st_split36.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - Polygon-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5))'), GeomFromText('LINESTRING(12 0, 12 20)')))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5))'), GeomFromText('LINESTRING(12 0, 12 20)')))) +POLYGON((0 1, 0 10, 10 10, 10 1, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)) ADDED test/sql_stmt_lwgeom_tests/st_split37.testcase Index: test/sql_stmt_lwgeom_tests/st_split37.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split37.testcase +++ test/sql_stmt_lwgeom_tests/st_split37.testcase @@ -0,0 +1,7 @@ +ST_SplitLeft - Collection-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)))'), GeomFromText('LINESTRING(-1 0, -1 20)')))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)))'), GeomFromText('LINESTRING(-1 0, -1 20)')))) +GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 0 10, 10 10, 10 1, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5))) ADDED test/sql_stmt_lwgeom_tests/st_split38.testcase Index: test/sql_stmt_lwgeom_tests/st_split38.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split38.testcase +++ test/sql_stmt_lwgeom_tests/st_split38.testcase @@ -0,0 +1,7 @@ +ST_SplitlRight - Line-Point (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitRight(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(7, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitRight(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(7, 0))) +LINESTRING(7 0, 10 0) ADDED test/sql_stmt_lwgeom_tests/st_split39.testcase Index: test/sql_stmt_lwgeom_tests/st_split39.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split39.testcase +++ test/sql_stmt_lwgeom_tests/st_split39.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - Line-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitRight(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(7 0, 7 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitRight(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(7 0, 7 3)'))) +LINESTRING(7 1, 10 1) ADDED test/sql_stmt_lwgeom_tests/st_split4.testcase Index: test/sql_stmt_lwgeom_tests/st_split4.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split4.testcase +++ test/sql_stmt_lwgeom_tests/st_split4.testcase @@ -0,0 +1,7 @@ +ST_Split - Invalid BLOB blade (error) +:memory: #use in-memory database +SELECT ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), zeroblob(4)); +1 # rows (not including the header row) +1 # columns +ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), zeroblob(4)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split40.testcase Index: test/sql_stmt_lwgeom_tests/st_split40.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split40.testcase +++ test/sql_stmt_lwgeom_tests/st_split40.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - MultiLine-Point (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(7, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(7, 0))) +LINESTRING(7 0, 10 0) ADDED test/sql_stmt_lwgeom_tests/st_split41.testcase Index: test/sql_stmt_lwgeom_tests/st_split41.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split41.testcase +++ test/sql_stmt_lwgeom_tests/st_split41.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - MultiLine-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))) +MULTILINESTRING((7 2, 10 2), (7 1, 10 1)) ADDED test/sql_stmt_lwgeom_tests/st_split42.testcase Index: test/sql_stmt_lwgeom_tests/st_split42.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split42.testcase +++ test/sql_stmt_lwgeom_tests/st_split42.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - Polygon-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitRight(GeomFromText('POLYGONZM((0 1 10 100, 10 1 11 101, 10 10 12 102, 0 10 13 103, 0 1 10 100), (5 5 10 100, 9 5 11 101, 9 9 12 102, 5 9 13 103, 5 5 10 100))'), GeomFromText('LINESTRING(7 0, 7 20)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitRight(GeomFromText('POLYGONZM((0 1 10 100, 10 1 11 101, 10 10 12 102, 0 10 13 103, 0 1 10 100), (5 5 10 100, 9 5 11 101, 9 9 12 102, 5 9 13 103, 5 5 10 100))'), GeomFromText('LINESTRING(7 0, 7 20)'))) +POLYGON ZM((7 10 12.3 0, 10 10 12 0, 10 1 11 0, 7 1 10.7 0, 7 5 10.5 0, 9 5 11 0, 9 9 12 0, 7 9 12.5 0, 7 10 12.3 0)) ADDED test/sql_stmt_lwgeom_tests/st_split43.testcase Index: test/sql_stmt_lwgeom_tests/st_split43.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split43.testcase +++ test/sql_stmt_lwgeom_tests/st_split43.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - Collection-Line (split) +:memory: #use in-memory database +SELECT AsText(ST_SplitRight(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)))'), GeomFromText('LINESTRING(7 0, 7 20)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitRight(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)))'), GeomFromText('LINESTRING(7 0, 7 20)'))) +GEOMETRYCOLLECTION(LINESTRING(7 11, 10 11), POLYGON((7 10, 10 10, 10 1, 7 1, 7 5, 9 5, 9 9, 7 9, 7 10))) ADDED test/sql_stmt_lwgeom_tests/st_split44.testcase Index: test/sql_stmt_lwgeom_tests/st_split44.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split44.testcase +++ test/sql_stmt_lwgeom_tests/st_split44.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - Line-Point (not split) +:memory: #use in-memory database +SELECT AsText(ST_SplitRight(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitRight(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split45.testcase Index: test/sql_stmt_lwgeom_tests/st_split45.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split45.testcase +++ test/sql_stmt_lwgeom_tests/st_split45.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - Line-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_SplitRight(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))); +1 # rows (not including the header row) +1 # columns +AsText(ST_SplitRight(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split46.testcase Index: test/sql_stmt_lwgeom_tests/st_split46.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split46.testcase +++ test/sql_stmt_lwgeom_tests/st_split46.testcase @@ -0,0 +1,7 @@ +ST_SplitRigt - MultiLine-Point (not split) +:memory: #use in-memory database +SELECT ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0)); +1 # rows (not including the header row) +1 # columns +ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split47.testcase Index: test/sql_stmt_lwgeom_tests/st_split47.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split47.testcase +++ test/sql_stmt_lwgeom_tests/st_split47.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - MultiLine-Line (not split) +:memory: #use in-memory database +SELECT ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)')); +1 # rows (not including the header row) +1 # columns +ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split48.testcase Index: test/sql_stmt_lwgeom_tests/st_split48.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split48.testcase +++ test/sql_stmt_lwgeom_tests/st_split48.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - Polygon-Line (not split) +:memory: #use in-memory database +SELECT AsText(ST_ForceLHR(ST_SplitRight(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(12 0, 12 20)')))); +1 # rows (not including the header row) +1 # columns +AsText(ST_ForceLHR(ST_SplitRight(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(12 0, 12 20)')))) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split49.testcase Index: test/sql_stmt_lwgeom_tests/st_split49.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split49.testcase +++ test/sql_stmt_lwgeom_tests/st_split49.testcase @@ -0,0 +1,7 @@ +ST_SplitRight - Collection-Line (not split) +:memory: #use in-memory database +SELECT ST_ForceLHR(ST_SplitRight(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(-1 0, -1 20)'))); +1 # rows (not including the header row) +1 # columns +ST_ForceLHR(ST_SplitRight(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(-1 0, -1 20)'))) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split5.testcase Index: test/sql_stmt_lwgeom_tests/st_split5.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split5.testcase +++ test/sql_stmt_lwgeom_tests/st_split5.testcase @@ -0,0 +1,7 @@ +ST_Split - NULL BLOB blade (error) +:memory: #use in-memory database +SELECT ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), NULL); +1 # rows (not including the header row) +1 # columns +ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), NULL) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split6.testcase Index: test/sql_stmt_lwgeom_tests/st_split6.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split6.testcase +++ test/sql_stmt_lwgeom_tests/st_split6.testcase @@ -0,0 +1,7 @@ +ST_Split - text input blade (error) +:memory: #use in-memory database +SELECT ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), 'alpha'); +1 # rows (not including the header row) +1 # columns +ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), 'alpha') +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split7.testcase Index: test/sql_stmt_lwgeom_tests/st_split7.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split7.testcase +++ test/sql_stmt_lwgeom_tests/st_split7.testcase @@ -0,0 +1,7 @@ +ST_Split - Point-Point (error) +:memory: #use in-memory database +SELECT ST_Split(MakePoint(0, 0), MakePoint(1, 1)); +1 # rows (not including the header row) +1 # columns +ST_Split(MakePoint(0, 0), MakePoint(1, 1)) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split8.testcase Index: test/sql_stmt_lwgeom_tests/st_split8.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split8.testcase +++ test/sql_stmt_lwgeom_tests/st_split8.testcase @@ -0,0 +1,7 @@ +ST_Split - Line-Multiline (error) +:memory: #use in-memory database +SELECT ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('MULTILINESTRING((3 0, 3 3), (5 0, 5 3))')); +1 # rows (not including the header row) +1 # columns +ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('MULTILINESTRING((3 0, 3 3), (5 0, 5 3))')) +(NULL) ADDED test/sql_stmt_lwgeom_tests/st_split9.testcase Index: test/sql_stmt_lwgeom_tests/st_split9.testcase ================================================================== --- test/sql_stmt_lwgeom_tests/st_split9.testcase +++ test/sql_stmt_lwgeom_tests/st_split9.testcase @@ -0,0 +1,7 @@ +ST_Split - Polygon-Multiline (error) +:memory: #use in-memory database +SELECT ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('MULTILINESTRING((3 0, 3 3), (5 0, 5 3))')); +1 # rows (not including the header row) +1 # columns +ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('MULTILINESTRING((3 0, 3 3), (5 0, 5 3))')) +(NULL) Index: test/sql_stmt_mathsql_tests/Makefile.am ================================================================== --- test/sql_stmt_mathsql_tests/Makefile.am +++ test/sql_stmt_mathsql_tests/Makefile.am @@ -10,18 +10,10 @@ asin2.testcase \ asin-text.testcase \ atan00.testcase \ atan0.testcase \ atan-text.testcase \ - atan21.testcase \ - atan22.testcase \ - atan23.testcase \ - atan24.testcase \ - atan25.testcase \ - atan26.testcase \ - atan27.testcase \ - atan28.testcase \ ceilfloat2.testcase \ ceilfloat.testcase \ ceil-int.testcase \ ceilnull.testcase \ cos00.testcase \ Index: test/sql_stmt_mathsql_tests/Makefile.in ================================================================== --- test/sql_stmt_mathsql_tests/Makefile.in +++ test/sql_stmt_mathsql_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_mathsql_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -262,18 +251,10 @@ asin2.testcase \ asin-text.testcase \ atan00.testcase \ atan0.testcase \ atan-text.testcase \ - atan21.testcase \ - atan22.testcase \ - atan23.testcase \ - atan24.testcase \ - atan25.testcase \ - atan26.testcase \ - atan27.testcase \ - atan28.testcase \ ceilfloat2.testcase \ ceilfloat.testcase \ ceil-int.testcase \ ceilnull.testcase \ cos00.testcase \ @@ -374,10 +355,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_mathsql_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_mathsql_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -548,11 +530,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: DELETED test/sql_stmt_mathsql_tests/atan21.testcase Index: test/sql_stmt_mathsql_tests/atan21.testcase ================================================================== --- test/sql_stmt_mathsql_tests/atan21.testcase +++ test/sql_stmt_mathsql_tests/atan21.testcase @@ -1,8 +0,0 @@ -atan2 - first arg TEXT -:memory: # use in-memory database -SELECT atan2('test', 0.0); -1 # rows (not including the header row) -1 # columns -atan2('test', 0.0) # header -(NULL) - DELETED test/sql_stmt_mathsql_tests/atan22.testcase Index: test/sql_stmt_mathsql_tests/atan22.testcase ================================================================== --- test/sql_stmt_mathsql_tests/atan22.testcase +++ test/sql_stmt_mathsql_tests/atan22.testcase @@ -1,8 +0,0 @@ -atan2 - first arg BLOB -:memory: # use in-memory database -SELECT atan2(zeroblob(4), 0.0); -1 # rows (not including the header row) -1 # columns -atan2(zeroblob(4), 0.0) # header -(NULL) - DELETED test/sql_stmt_mathsql_tests/atan23.testcase Index: test/sql_stmt_mathsql_tests/atan23.testcase ================================================================== --- test/sql_stmt_mathsql_tests/atan23.testcase +++ test/sql_stmt_mathsql_tests/atan23.testcase @@ -1,8 +0,0 @@ -atan2 - first arg NULL -:memory: # use in-memory database -SELECT atan2(NULL, 0.0); -1 # rows (not including the header row) -1 # columns -atan2(NULL, 0.0) # header -(NULL) - DELETED test/sql_stmt_mathsql_tests/atan24.testcase Index: test/sql_stmt_mathsql_tests/atan24.testcase ================================================================== --- test/sql_stmt_mathsql_tests/atan24.testcase +++ test/sql_stmt_mathsql_tests/atan24.testcase @@ -1,8 +0,0 @@ -atan2 - second arg NULL -:memory: # use in-memory database -SELECT atan2(0.0, NULL); -1 # rows (not including the header row) -1 # columns -atan2(0.0, NULL) # header -(NULL) - DELETED test/sql_stmt_mathsql_tests/atan25.testcase Index: test/sql_stmt_mathsql_tests/atan25.testcase ================================================================== --- test/sql_stmt_mathsql_tests/atan25.testcase +++ test/sql_stmt_mathsql_tests/atan25.testcase @@ -1,8 +0,0 @@ -atan2 - second arg BLOB -:memory: # use in-memory database -SELECT atan2(0.0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -atan2(0.0, zeroblob(4)) # header -(NULL) - DELETED test/sql_stmt_mathsql_tests/atan26.testcase Index: test/sql_stmt_mathsql_tests/atan26.testcase ================================================================== --- test/sql_stmt_mathsql_tests/atan26.testcase +++ test/sql_stmt_mathsql_tests/atan26.testcase @@ -1,8 +0,0 @@ -atan2 - second arg TEXT -:memory: # use in-memory database -SELECT atan2(0.0, 'test'); -1 # rows (not including the header row) -1 # columns -atan2(0.0, 'test') # header -(NULL) - DELETED test/sql_stmt_mathsql_tests/atan27.testcase Index: test/sql_stmt_mathsql_tests/atan27.testcase ================================================================== --- test/sql_stmt_mathsql_tests/atan27.testcase +++ test/sql_stmt_mathsql_tests/atan27.testcase @@ -1,7 +0,0 @@ -atan2 - second arg DOUBLE - valid -:memory: # use in-memory database -SELECT atan2(0.0, 0.0); -1 # rows (not including the header row) -1 # columns -atan2(0.0, 0.0) # header -0.0 DELETED test/sql_stmt_mathsql_tests/atan28.testcase Index: test/sql_stmt_mathsql_tests/atan28.testcase ================================================================== --- test/sql_stmt_mathsql_tests/atan28.testcase +++ test/sql_stmt_mathsql_tests/atan28.testcase @@ -1,7 +0,0 @@ -atan2 - INT args - valid -:memory: # use in-memory database -SELECT atan2(0, 0); -1 # rows (not including the header row) -1 # columns -atan2(0, 0) # header -0.0 DELETED test/sql_stmt_nocache_tests/Makefile Index: test/sql_stmt_nocache_tests/Makefile ================================================================== --- test/sql_stmt_nocache_tests/Makefile +++ test/sql_stmt_nocache_tests/Makefile @@ -1,451 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# test/sql_stmt_nocache_tests/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libspatialite -pkgincludedir = $(includedir)/libspatialite -pkglibdir = $(libdir)/libspatialite -pkglibexecdir = $(libexecdir)/libspatialite -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-unknown-linux-gnu -host_triplet = x86_64-unknown-linux-gnu -subdir = test/sql_stmt_nocache_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AR = ar -AS = as -AUTOCONF = autoconf -AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = dlltool -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBXML2_CFLAGS = -I/usr/include/libxml2 -LIBXML2_LIBS = -lxml2 -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = libspatialite -PACKAGE_BUGREPORT = a.furieri@lqt.it -PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 -PACKAGE_TARNAME = libspatialite -PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = /usr/local/lib/pkgconfig -RANLIB = ranlib -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -VERSION = 4.4.0-RC1 -abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_nocache_tests -abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_nocache_tests -abs_top_builddir = /home/sandro/fossil/libspatialite -abs_top_srcdir = /home/sandro/fossil/libspatialite -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-unknown-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-unknown-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/sandro/fossil/libspatialite/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -EXTRA_DIST = precision1.testcase \ - precision2.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_nocache_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_nocache_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_nocache_tests/Makefile.am Index: test/sql_stmt_nocache_tests/Makefile.am ================================================================== --- test/sql_stmt_nocache_tests/Makefile.am +++ test/sql_stmt_nocache_tests/Makefile.am @@ -1,3 +0,0 @@ - -EXTRA_DIST = precision1.testcase \ - precision2.testcase DELETED test/sql_stmt_nocache_tests/Makefile.in Index: test/sql_stmt_nocache_tests/Makefile.in ================================================================== --- test/sql_stmt_nocache_tests/Makefile.in +++ test/sql_stmt_nocache_tests/Makefile.in @@ -1,451 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_nocache_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = precision1.testcase \ - precision2.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_nocache_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_nocache_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_nocache_tests/precision1.testcase Index: test/sql_stmt_nocache_tests/precision1.testcase ================================================================== --- test/sql_stmt_nocache_tests/precision1.testcase +++ test/sql_stmt_nocache_tests/precision1.testcase @@ -1,9 +0,0 @@ -decimal precision - 10 -:memory: -SELECT SetDecimalPrecision(10), GetDecimalPrecision(); -1 # rows -2 # column -SetDecimalPrecision(10) -GetDecimalPrecision() -(NULL) --1 DELETED test/sql_stmt_nocache_tests/precision2.testcase Index: test/sql_stmt_nocache_tests/precision2.testcase ================================================================== --- test/sql_stmt_nocache_tests/precision2.testcase +++ test/sql_stmt_nocache_tests/precision2.testcase @@ -1,9 +0,0 @@ -decimal precision - 100 -:memory: -SELECT SetDecimalPrecision(100), GetDecimalPrecision(); -1 # rows -2 # column -SetDecimalPrecision(100) -GetDecimalPrecision() -(NULL) --1 DELETED test/sql_stmt_proj492_tests/Makefile.am Index: test/sql_stmt_proj492_tests/Makefile.am ================================================================== --- test/sql_stmt_proj492_tests/Makefile.am +++ test/sql_stmt_proj492_tests/Makefile.am @@ -1,22 +0,0 @@ - -EXTRA_DIST = transform10.testcase \ - transform11.testcase \ - transform12.testcase \ - transform13.testcase \ - transform14.testcase \ - transform15.testcase \ - transform16.testcase \ - transform17.testcase \ - transform18.testcase \ - transform19.testcase \ - transform1.testcase \ - transform20.testcase \ - transform21.testcase \ - transform2.testcase \ - transform3.testcase \ - transform4.testcase \ - transform5.testcase \ - transform6.testcase \ - transform7.testcase \ - transform8.testcase \ - transform9.testcase DELETED test/sql_stmt_proj492_tests/Makefile.in Index: test/sql_stmt_proj492_tests/Makefile.in ================================================================== --- test/sql_stmt_proj492_tests/Makefile.in +++ test/sql_stmt_proj492_tests/Makefile.in @@ -1,470 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_proj492_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = transform10.testcase \ - transform11.testcase \ - transform12.testcase \ - transform13.testcase \ - transform14.testcase \ - transform15.testcase \ - transform16.testcase \ - transform17.testcase \ - transform18.testcase \ - transform19.testcase \ - transform1.testcase \ - transform20.testcase \ - transform21.testcase \ - transform2.testcase \ - transform3.testcase \ - transform4.testcase \ - transform5.testcase \ - transform6.testcase \ - transform7.testcase \ - transform8.testcase \ - transform9.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_proj492_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_proj492_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_proj492_tests/transform1.testcase Index: test/sql_stmt_proj492_tests/transform1.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform1.testcase +++ test/sql_stmt_proj492_tests/transform1.testcase @@ -1,7 +0,0 @@ -transform - null args -:memory: #use in-memory database -SELECT Transform(NULL, NULL) -1 # rows (not including the header row) -1 # columns -Transform(NULL, NULL) -(NULL) DELETED test/sql_stmt_proj492_tests/transform10.testcase Index: test/sql_stmt_proj492_tests/transform10.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform10.testcase +++ test/sql_stmt_proj492_tests/transform10.testcase @@ -1,7 +0,0 @@ -transform - Linestring M -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRINGM(11 43 1, 12 43 2, 12 42 3)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRINGM(11 43 1, 12 43 2, 12 42 3)', 4326), 32632)) -LINESTRING M(663019.070082 4762755.64169 1, 744533.019451 4765182.932802 2, 748464.920716 4654130.891324 3) DELETED test/sql_stmt_proj492_tests/transform11.testcase Index: test/sql_stmt_proj492_tests/transform11.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform11.testcase +++ test/sql_stmt_proj492_tests/transform11.testcase @@ -1,7 +0,0 @@ -transform - Linestring ZM -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRINGZM(11 43 100 1, 12 43 101 2, 12 42 102 3)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRINGZM(11 43 100 1, 12 43 101 2, 12 42 102 3)', 4326), 32632)) -LINESTRING ZM(663019.070082 4762755.64169 100 1, 744533.019451 4765182.932802 101 2, 748464.920716 4654130.891324 102 3) DELETED test/sql_stmt_proj492_tests/transform12.testcase Index: test/sql_stmt_proj492_tests/transform12.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform12.testcase +++ test/sql_stmt_proj492_tests/transform12.testcase @@ -1,7 +0,0 @@ -transform - Point Z -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINTZ(11 43 100)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINTZ(11 43 100)', 4326), 32632)) -POINT Z(663019.070082 4762755.64169 100) DELETED test/sql_stmt_proj492_tests/transform13.testcase Index: test/sql_stmt_proj492_tests/transform13.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform13.testcase +++ test/sql_stmt_proj492_tests/transform13.testcase @@ -1,7 +0,0 @@ -transform - Point M -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINTM(11 43 1)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINTM(11 43 1)', 4326), 32632)) -POINT M(663019.070082 4762755.64169 1) DELETED test/sql_stmt_proj492_tests/transform14.testcase Index: test/sql_stmt_proj492_tests/transform14.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform14.testcase +++ test/sql_stmt_proj492_tests/transform14.testcase @@ -1,7 +0,0 @@ -transform - Point ZM -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINTZM(11 43 100 1)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINTZM(11 43 100 1)', 4326), 32632)) -POINT ZM(663019.070082 4762755.64169 100 1) DELETED test/sql_stmt_proj492_tests/transform15.testcase Index: test/sql_stmt_proj492_tests/transform15.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform15.testcase +++ test/sql_stmt_proj492_tests/transform15.testcase @@ -1,7 +0,0 @@ -transform - Point ZM -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINTZM(663019 4762755 100 1)', 32632), 4326)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINTZM(663019 4762755 100 1)', 32632), 4326)) -POINT ZM(10.999999 42.999994 100 1) DELETED test/sql_stmt_proj492_tests/transform16.testcase Index: test/sql_stmt_proj492_tests/transform16.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform16.testcase +++ test/sql_stmt_proj492_tests/transform16.testcase @@ -1,7 +0,0 @@ -transform - Polygon -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGON((11 43, 12 43, 12 44, 11 44, 11 43), (11.4 43.4, 11.6 43.4, 11.6 43.6, 11.4 43.6, 11.4 43.4))', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGON((11 43, 12 43, 12 44, 11 44, 11 43), (11.4 43.4, 11.6 43.4, 11.6 43.6, 11.4 43.6, 11.4 43.4))', 4326), 32632)) -POLYGON((663019.070082 4762755.64169, 744533.019451 4765182.932802, 740526.321055 4876249.126963, 660349.410579 4873817.333441, 663019.070082 4762755.64169), (694349.575562 4808033.274618, 710545.984354 4808519.151148, 709851.653212 4830731.987849, 693708.725206 4830245.931093, 694349.575562 4808033.274618)) DELETED test/sql_stmt_proj492_tests/transform17.testcase Index: test/sql_stmt_proj492_tests/transform17.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform17.testcase +++ test/sql_stmt_proj492_tests/transform17.testcase @@ -1,7 +0,0 @@ -transform - Polygon Z -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGONZ((11 43 100, 12 43 101, 12 44 102, 11 44 103, 11 43 100), (11.4 43.4 100, 11.6 43.4 101, 11.6 43.6 102, 11.4 43.6 103, 11.4 43.4 100))', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGONZ((11 43 100, 12 43 101, 12 44 102, 11 44 103, 11 43 100), (11.4 43.4 100, 11.6 43.4 101, 11.6 43.6 102, 11.4 43.6 103, 11.4 43.4 100))', 4326), 32632)) -POLYGON Z((663019.070082 4762755.64169 100, 744533.019451 4765182.932802 101, 740526.321055 4876249.126963 102, 660349.410579 4873817.333441 103, 663019.070082 4762755.64169 100), (694349.575562 4808033.274618 100, 710545.984354 4808519.151148 101, 709851.653212 4830731.987849 102, 693708.725206 4830245.931093 103, 694349.575562 4808033.274618 100)) DELETED test/sql_stmt_proj492_tests/transform18.testcase Index: test/sql_stmt_proj492_tests/transform18.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform18.testcase +++ test/sql_stmt_proj492_tests/transform18.testcase @@ -1,7 +0,0 @@ -transform - Polygon M -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGONM((11 43 1, 12 43 2, 12 44 3, 11 44 4, 11 43 1), (11.4 43.4 1, 11.6 43.4 2, 11.6 43.6 3, 11.4 43.6 4, 11.4 43.4 1))', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGONM((11 43 1, 12 43 2, 12 44 3, 11 44 4, 11 43 1), (11.4 43.4 1, 11.6 43.4 2, 11.6 43.6 3, 11.4 43.6 4, 11.4 43.4 1))', 4326), 32632)) -POLYGON M((663019.070082 4762755.64169 1, 744533.019451 4765182.932802 2, 740526.321055 4876249.126963 3, 660349.410579 4873817.333441 4, 663019.070082 4762755.64169 1), (694349.575562 4808033.274618 1, 710545.984354 4808519.151148 2, 709851.653212 4830731.987849 3, 693708.725206 4830245.931093 4, 694349.575562 4808033.274618 1)) DELETED test/sql_stmt_proj492_tests/transform19.testcase Index: test/sql_stmt_proj492_tests/transform19.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform19.testcase +++ test/sql_stmt_proj492_tests/transform19.testcase @@ -1,7 +0,0 @@ -transform - Polygon ZM -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGONZM((11 43 100 1, 12 43 101 2, 12 44 102 3, 11 44 103 4, 11 43 100 1), (11.4 43.4 100 1, 11.6 43.4 101 2, 11.6 43.6 102 3, 11.4 43.6 103 4, 11.4 43.4 100 1))', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGONZM((11 43 100 1, 12 43 101 2, 12 44 102 3, 11 44 103 4, 11 43 100 1), (11.4 43.4 100 1, 11.6 43.4 101 2, 11.6 43.6 102 3, 11.4 43.6 103 4, 11.4 43.4 100 1))', 4326), 32632)) -POLYGON ZM((663019.070082 4762755.64169 100 1, 744533.019451 4765182.932802 101 2, 740526.321055 4876249.126963 102 3, 660349.410579 4873817.333441 103 4, 663019.070082 4762755.64169 100 1), (694349.575562 4808033.274618 100 1, 710545.984354 4808519.151148 101 2, 709851.653212 4830731.987849 102 3, 693708.725206 4830245.931093 103 4, 694349.575562 4808033.274618 100 1)) DELETED test/sql_stmt_proj492_tests/transform2.testcase Index: test/sql_stmt_proj492_tests/transform2.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform2.testcase +++ test/sql_stmt_proj492_tests/transform2.testcase @@ -1,7 +0,0 @@ -transform - zeroblob arg -:memory: #use in-memory database -SELECT Transform(zeroblob(48), NULL) -1 # rows (not including the header row) -1 # columns -Transform(zeroblob(48), NULL) -(NULL) DELETED test/sql_stmt_proj492_tests/transform20.testcase Index: test/sql_stmt_proj492_tests/transform20.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform20.testcase +++ test/sql_stmt_proj492_tests/transform20.testcase @@ -1,7 +0,0 @@ -transform - Polygon -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGON((663000 4762000, 663100 4762000, 663100 4762100, 663000 4762100, 663000 4762000), (663010 4762010, 663020 4762010, 663020 4762020, 663010 4762020, 663010 4762010))', 32632), 4326)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGON((663000 4762000, 663100 4762000, 663100 4762100, 663000 4762100, 663000 4762000), (663010 4762010, 663020 4762010, 663020 4762020, 663010 4762020, 663010 4762010))', 32632), 4326)) -POLYGON((10.999546 42.993204, 11.000772 42.993182, 11.000801 42.994082, 10.999575 42.994104, 10.999546 42.993204), (10.999671 42.993291, 10.999794 42.993289, 10.999797 42.993379, 10.999674 42.993381, 10.999671 42.993291)) DELETED test/sql_stmt_proj492_tests/transform21.testcase Index: test/sql_stmt_proj492_tests/transform21.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform21.testcase +++ test/sql_stmt_proj492_tests/transform21.testcase @@ -1,7 +0,0 @@ -transform - Point -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32656)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32656)) -(NULL) DELETED test/sql_stmt_proj492_tests/transform3.testcase Index: test/sql_stmt_proj492_tests/transform3.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform3.testcase +++ test/sql_stmt_proj492_tests/transform3.testcase @@ -1,7 +0,0 @@ -transform - Point -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32632)) -POINT(663019.070082 4762755.64169) DELETED test/sql_stmt_proj492_tests/transform4.testcase Index: test/sql_stmt_proj492_tests/transform4.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform4.testcase +++ test/sql_stmt_proj492_tests/transform4.testcase @@ -1,7 +0,0 @@ -transform - Point (unknown srid) -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)'), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)'), 32632)) -(NULL) DELETED test/sql_stmt_proj492_tests/transform5.testcase Index: test/sql_stmt_proj492_tests/transform5.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform5.testcase +++ test/sql_stmt_proj492_tests/transform5.testcase @@ -1,7 +0,0 @@ -transform - Point (unknown destination SRID) -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 326320)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)', 4326), 326320)) -(NULL) DELETED test/sql_stmt_proj492_tests/transform6.testcase Index: test/sql_stmt_proj492_tests/transform6.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform6.testcase +++ test/sql_stmt_proj492_tests/transform6.testcase @@ -1,7 +0,0 @@ -transform - Point (NULL srid) -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), NULL)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)', 4326), NULL)) -(NULL) DELETED test/sql_stmt_proj492_tests/transform7.testcase Index: test/sql_stmt_proj492_tests/transform7.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform7.testcase +++ test/sql_stmt_proj492_tests/transform7.testcase @@ -1,7 +0,0 @@ -transform - Linestring -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42)', 4326), 32632)) -LINESTRING(663019.070082 4762755.64169, 744533.019451 4765182.932802, 748464.920716 4654130.891324) DELETED test/sql_stmt_proj492_tests/transform8.testcase Index: test/sql_stmt_proj492_tests/transform8.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform8.testcase +++ test/sql_stmt_proj492_tests/transform8.testcase @@ -1,7 +0,0 @@ -transform - illegal Linestring -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42', 4326), 32632)) -(NULL) DELETED test/sql_stmt_proj492_tests/transform9.testcase Index: test/sql_stmt_proj492_tests/transform9.testcase ================================================================== --- test/sql_stmt_proj492_tests/transform9.testcase +++ test/sql_stmt_proj492_tests/transform9.testcase @@ -1,7 +0,0 @@ -transform - Linestring Z -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) -LINESTRING Z(663019.070082 4762755.64169 100, 744533.019451 4765182.932802 101, 748464.920716 4654130.891324 102) DELETED test/sql_stmt_proj493_tests/Makefile.am Index: test/sql_stmt_proj493_tests/Makefile.am ================================================================== --- test/sql_stmt_proj493_tests/Makefile.am +++ test/sql_stmt_proj493_tests/Makefile.am @@ -1,22 +0,0 @@ - -EXTRA_DIST = transform10.testcase \ - transform11.testcase \ - transform12.testcase \ - transform13.testcase \ - transform14.testcase \ - transform15.testcase \ - transform16.testcase \ - transform17.testcase \ - transform18.testcase \ - transform19.testcase \ - transform1.testcase \ - transform20.testcase \ - transform21.testcase \ - transform2.testcase \ - transform3.testcase \ - transform4.testcase \ - transform5.testcase \ - transform6.testcase \ - transform7.testcase \ - transform8.testcase \ - transform9.testcase DELETED test/sql_stmt_proj493_tests/Makefile.in Index: test/sql_stmt_proj493_tests/Makefile.in ================================================================== --- test/sql_stmt_proj493_tests/Makefile.in +++ test/sql_stmt_proj493_tests/Makefile.in @@ -1,470 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_proj493_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = transform10.testcase \ - transform11.testcase \ - transform12.testcase \ - transform13.testcase \ - transform14.testcase \ - transform15.testcase \ - transform16.testcase \ - transform17.testcase \ - transform18.testcase \ - transform19.testcase \ - transform1.testcase \ - transform20.testcase \ - transform21.testcase \ - transform2.testcase \ - transform3.testcase \ - transform4.testcase \ - transform5.testcase \ - transform6.testcase \ - transform7.testcase \ - transform8.testcase \ - transform9.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_proj493_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_proj493_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_proj493_tests/transform1.testcase Index: test/sql_stmt_proj493_tests/transform1.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform1.testcase +++ test/sql_stmt_proj493_tests/transform1.testcase @@ -1,7 +0,0 @@ -transform - null args -:memory: #use in-memory database -SELECT Transform(NULL, NULL) -1 # rows (not including the header row) -1 # columns -Transform(NULL, NULL) -(NULL) DELETED test/sql_stmt_proj493_tests/transform10.testcase Index: test/sql_stmt_proj493_tests/transform10.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform10.testcase +++ test/sql_stmt_proj493_tests/transform10.testcase @@ -1,7 +0,0 @@ -transform - Linestring M -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRINGM(11 43 1, 12 43 2, 12 42 3)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRINGM(11 43 1, 12 43 2, 12 42 3)', 4326), 32632)) -LINESTRING M(663019.070081 4762755.641689 1, 744533.019447 4765182.932801 2, 748464.920712 4654130.891323 3) DELETED test/sql_stmt_proj493_tests/transform11.testcase Index: test/sql_stmt_proj493_tests/transform11.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform11.testcase +++ test/sql_stmt_proj493_tests/transform11.testcase @@ -1,7 +0,0 @@ -transform - Linestring ZM -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRINGZM(11 43 100 1, 12 43 101 2, 12 42 102 3)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRINGZM(11 43 100 1, 12 43 101 2, 12 42 102 3)', 4326), 32632)) -LINESTRING ZM(663019.070081 4762755.641689 100 1, 744533.019447 4765182.932801 101 2, 748464.920712 4654130.891323 102 3) DELETED test/sql_stmt_proj493_tests/transform12.testcase Index: test/sql_stmt_proj493_tests/transform12.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform12.testcase +++ test/sql_stmt_proj493_tests/transform12.testcase @@ -1,7 +0,0 @@ -transform - Point Z -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINTZ(11 43 100)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINTZ(11 43 100)', 4326), 32632)) -POINT Z(663019.070081 4762755.641689 100) DELETED test/sql_stmt_proj493_tests/transform13.testcase Index: test/sql_stmt_proj493_tests/transform13.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform13.testcase +++ test/sql_stmt_proj493_tests/transform13.testcase @@ -1,7 +0,0 @@ -transform - Point M -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINTM(11 43 1)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINTM(11 43 1)', 4326), 32632)) -POINT M(663019.070081 4762755.641689 1) DELETED test/sql_stmt_proj493_tests/transform14.testcase Index: test/sql_stmt_proj493_tests/transform14.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform14.testcase +++ test/sql_stmt_proj493_tests/transform14.testcase @@ -1,7 +0,0 @@ -transform - Point ZM -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINTZM(11 43 100 1)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINTZM(11 43 100 1)', 4326), 32632)) -POINT ZM(663019.070081 4762755.641689 100 1) DELETED test/sql_stmt_proj493_tests/transform15.testcase Index: test/sql_stmt_proj493_tests/transform15.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform15.testcase +++ test/sql_stmt_proj493_tests/transform15.testcase @@ -1,7 +0,0 @@ -transform - Point ZM -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINTZM(663019 4762755 100 1)', 32632), 4326)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINTZM(663019 4762755 100 1)', 32632), 4326)) -POINT ZM(10.999999 42.999994 100 1) DELETED test/sql_stmt_proj493_tests/transform16.testcase Index: test/sql_stmt_proj493_tests/transform16.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform16.testcase +++ test/sql_stmt_proj493_tests/transform16.testcase @@ -1,7 +0,0 @@ -transform - Polygon -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGON((11 43, 12 43, 12 44, 11 44, 11 43), (11.4 43.4, 11.6 43.4, 11.6 43.6, 11.4 43.6, 11.4 43.4))', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGON((11 43, 12 43, 12 44, 11 44, 11 43), (11.4 43.4, 11.6 43.4, 11.6 43.6, 11.4 43.6, 11.4 43.4))', 4326), 32632)) -POLYGON((663019.070081 4762755.641689, 744533.019447 4765182.932801, 740526.321052 4876249.126962, 660349.410578 4873817.33344, 663019.070081 4762755.641689), (694349.575561 4808033.274617, 710545.984353 4808519.151148, 709851.653211 4830731.987848, 693708.725205 4830245.931092, 694349.575561 4808033.274617)) DELETED test/sql_stmt_proj493_tests/transform17.testcase Index: test/sql_stmt_proj493_tests/transform17.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform17.testcase +++ test/sql_stmt_proj493_tests/transform17.testcase @@ -1,7 +0,0 @@ -transform - Polygon Z -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGONZ((11 43 100, 12 43 101, 12 44 102, 11 44 103, 11 43 100), (11.4 43.4 100, 11.6 43.4 101, 11.6 43.6 102, 11.4 43.6 103, 11.4 43.4 100))', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGONZ((11 43 100, 12 43 101, 12 44 102, 11 44 103, 11 43 100), (11.4 43.4 100, 11.6 43.4 101, 11.6 43.6 102, 11.4 43.6 103, 11.4 43.4 100))', 4326), 32632)) -POLYGON Z((663019.070081 4762755.641689 100, 744533.019447 4765182.932801 101, 740526.321052 4876249.126962 102, 660349.410578 4873817.33344 103, 663019.070081 4762755.641689 100), (694349.575561 4808033.274617 100, 710545.984353 4808519.151148 101, 709851.653211 4830731.987848 102, 693708.725205 4830245.931092 103, 694349.575561 4808033.274617 100)) DELETED test/sql_stmt_proj493_tests/transform18.testcase Index: test/sql_stmt_proj493_tests/transform18.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform18.testcase +++ test/sql_stmt_proj493_tests/transform18.testcase @@ -1,7 +0,0 @@ -transform - Polygon M -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGONM((11 43 1, 12 43 2, 12 44 3, 11 44 4, 11 43 1), (11.4 43.4 1, 11.6 43.4 2, 11.6 43.6 3, 11.4 43.6 4, 11.4 43.4 1))', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGONM((11 43 1, 12 43 2, 12 44 3, 11 44 4, 11 43 1), (11.4 43.4 1, 11.6 43.4 2, 11.6 43.6 3, 11.4 43.6 4, 11.4 43.4 1))', 4326), 32632)) -POLYGON M((663019.070081 4762755.641689 1, 744533.019447 4765182.932801 2, 740526.321052 4876249.126962 3, 660349.410578 4873817.33344 4, 663019.070081 4762755.641689 1), (694349.575561 4808033.274617 1, 710545.984353 4808519.151148 2, 709851.653211 4830731.987848 3, 693708.725205 4830245.931092 4, 694349.575561 4808033.274617 1)) DELETED test/sql_stmt_proj493_tests/transform19.testcase Index: test/sql_stmt_proj493_tests/transform19.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform19.testcase +++ test/sql_stmt_proj493_tests/transform19.testcase @@ -1,7 +0,0 @@ -transform - Polygon ZM -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGONZM((11 43 100 1, 12 43 101 2, 12 44 102 3, 11 44 103 4, 11 43 100 1), (11.4 43.4 100 1, 11.6 43.4 101 2, 11.6 43.6 102 3, 11.4 43.6 103 4, 11.4 43.4 100 1))', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGONZM((11 43 100 1, 12 43 101 2, 12 44 102 3, 11 44 103 4, 11 43 100 1), (11.4 43.4 100 1, 11.6 43.4 101 2, 11.6 43.6 102 3, 11.4 43.6 103 4, 11.4 43.4 100 1))', 4326), 32632)) -POLYGON ZM((663019.070081 4762755.641689 100 1, 744533.019447 4765182.932801 101 2, 740526.321052 4876249.126962 102 3, 660349.410578 4873817.33344 103 4, 663019.070081 4762755.641689 100 1), (694349.575561 4808033.274617 100 1, 710545.984353 4808519.151148 101 2, 709851.653211 4830731.987848 102 3, 693708.725205 4830245.931092 103 4, 694349.575561 4808033.274617 100 1)) DELETED test/sql_stmt_proj493_tests/transform2.testcase Index: test/sql_stmt_proj493_tests/transform2.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform2.testcase +++ test/sql_stmt_proj493_tests/transform2.testcase @@ -1,7 +0,0 @@ -transform - zeroblob arg -:memory: #use in-memory database -SELECT Transform(zeroblob(48), NULL) -1 # rows (not including the header row) -1 # columns -Transform(zeroblob(48), NULL) -(NULL) DELETED test/sql_stmt_proj493_tests/transform20.testcase Index: test/sql_stmt_proj493_tests/transform20.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform20.testcase +++ test/sql_stmt_proj493_tests/transform20.testcase @@ -1,7 +0,0 @@ -transform - Polygon -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POLYGON((663000 4762000, 663100 4762000, 663100 4762100, 663000 4762100, 663000 4762000), (663010 4762010, 663020 4762010, 663020 4762020, 663010 4762020, 663010 4762010))', 32632), 4326)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POLYGON((663000 4762000, 663100 4762000, 663100 4762100, 663000 4762100, 663000 4762000), (663010 4762010, 663020 4762010, 663020 4762020, 663010 4762020, 663010 4762010))', 32632), 4326)) -POLYGON((10.999546 42.993204, 11.000772 42.993182, 11.000801 42.994082, 10.999575 42.994104, 10.999546 42.993204), (10.999671 42.993291, 10.999794 42.993289, 10.999797 42.993379, 10.999674 42.993381, 10.999671 42.993291)) DELETED test/sql_stmt_proj493_tests/transform21.testcase Index: test/sql_stmt_proj493_tests/transform21.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform21.testcase +++ test/sql_stmt_proj493_tests/transform21.testcase @@ -1,7 +0,0 @@ -transform - Point -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32656)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32656)) -POINT(-2597420.600731 14476742.727325) DELETED test/sql_stmt_proj493_tests/transform3.testcase Index: test/sql_stmt_proj493_tests/transform3.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform3.testcase +++ test/sql_stmt_proj493_tests/transform3.testcase @@ -1,7 +0,0 @@ -transform - Point -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32632)) -POINT(663019.070081 4762755.641689) DELETED test/sql_stmt_proj493_tests/transform4.testcase Index: test/sql_stmt_proj493_tests/transform4.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform4.testcase +++ test/sql_stmt_proj493_tests/transform4.testcase @@ -1,7 +0,0 @@ -transform - Point (unknown srid) -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)'), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)'), 32632)) -(NULL) DELETED test/sql_stmt_proj493_tests/transform5.testcase Index: test/sql_stmt_proj493_tests/transform5.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform5.testcase +++ test/sql_stmt_proj493_tests/transform5.testcase @@ -1,7 +0,0 @@ -transform - Point (unknown destination SRID) -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 326320)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)', 4326), 326320)) -(NULL) DELETED test/sql_stmt_proj493_tests/transform6.testcase Index: test/sql_stmt_proj493_tests/transform6.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform6.testcase +++ test/sql_stmt_proj493_tests/transform6.testcase @@ -1,7 +0,0 @@ -transform - Point (NULL srid) -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), NULL)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('POINT(11 43)', 4326), NULL)) -(NULL) DELETED test/sql_stmt_proj493_tests/transform7.testcase Index: test/sql_stmt_proj493_tests/transform7.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform7.testcase +++ test/sql_stmt_proj493_tests/transform7.testcase @@ -1,7 +0,0 @@ -transform - Linestring -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42)', 4326), 32632)) -LINESTRING(663019.070081 4762755.641689, 744533.019447 4765182.932801, 748464.920712 4654130.891323) DELETED test/sql_stmt_proj493_tests/transform8.testcase Index: test/sql_stmt_proj493_tests/transform8.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform8.testcase +++ test/sql_stmt_proj493_tests/transform8.testcase @@ -1,7 +0,0 @@ -transform - illegal Linestring -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42', 4326), 32632)) -(NULL) DELETED test/sql_stmt_proj493_tests/transform9.testcase Index: test/sql_stmt_proj493_tests/transform9.testcase ================================================================== --- test/sql_stmt_proj493_tests/transform9.testcase +++ test/sql_stmt_proj493_tests/transform9.testcase @@ -1,7 +0,0 @@ -transform - Linestring Z -:memory: #use in-memory database -SELECT AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) -1 # rows (not including the header row) -1 # columns -AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) -LINESTRING Z(663019.070081 4762755.641689 100, 744533.019447 4765182.932801 101, 748464.920712 4654130.891323 102) Index: test/sql_stmt_proj_tests/Makefile.am ================================================================== --- test/sql_stmt_proj_tests/Makefile.am +++ test/sql_stmt_proj_tests/Makefile.am @@ -46,6 +46,27 @@ output4.testcase \ output5.testcase \ output6.testcase \ output7.testcase \ output8.testcase \ - output9.testcase + output9.testcase \ + transform10.testcase \ + transform11.testcase \ + transform12.testcase \ + transform13.testcase \ + transform14.testcase \ + transform15.testcase \ + transform16.testcase \ + transform17.testcase \ + transform18.testcase \ + transform19.testcase \ + transform1.testcase \ + transform20.testcase \ + transform21.testcase \ + transform2.testcase \ + transform3.testcase \ + transform4.testcase \ + transform5.testcase \ + transform6.testcase \ + transform7.testcase \ + transform8.testcase \ + transform9.testcase Index: test/sql_stmt_proj_tests/Makefile.in ================================================================== --- test/sql_stmt_proj_tests/Makefile.in +++ test/sql_stmt_proj_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_proj_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -298,11 +287,32 @@ output4.testcase \ output5.testcase \ output6.testcase \ output7.testcase \ output8.testcase \ - output9.testcase + output9.testcase \ + transform10.testcase \ + transform11.testcase \ + transform12.testcase \ + transform13.testcase \ + transform14.testcase \ + transform15.testcase \ + transform16.testcase \ + transform17.testcase \ + transform18.testcase \ + transform19.testcase \ + transform1.testcase \ + transform20.testcase \ + transform21.testcase \ + transform2.testcase \ + transform3.testcase \ + transform4.testcase \ + transform5.testcase \ + transform6.testcase \ + transform7.testcase \ + transform8.testcase \ + transform9.testcase all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @@ -315,10 +325,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_proj_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_proj_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -489,11 +500,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: ADDED test/sql_stmt_proj_tests/transform1.testcase Index: test/sql_stmt_proj_tests/transform1.testcase ================================================================== --- test/sql_stmt_proj_tests/transform1.testcase +++ test/sql_stmt_proj_tests/transform1.testcase @@ -0,0 +1,7 @@ +transform - null args +:memory: #use in-memory database +SELECT Transform(NULL, NULL) +1 # rows (not including the header row) +1 # columns +Transform(NULL, NULL) +(NULL) ADDED test/sql_stmt_proj_tests/transform10.testcase Index: test/sql_stmt_proj_tests/transform10.testcase ================================================================== --- test/sql_stmt_proj_tests/transform10.testcase +++ test/sql_stmt_proj_tests/transform10.testcase @@ -0,0 +1,7 @@ +transform - Linestring M +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('LINESTRINGM(11 43 1, 12 43 2, 12 42 3)', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('LINESTRINGM(11 43 1, 12 43 2, 12 42 3)', 4326), 32632)) +LINESTRING M(663019.070082 4762755.64169 1, 744533.019451 4765182.932802 2, 748464.920716 4654130.891324 3) ADDED test/sql_stmt_proj_tests/transform11.testcase Index: test/sql_stmt_proj_tests/transform11.testcase ================================================================== --- test/sql_stmt_proj_tests/transform11.testcase +++ test/sql_stmt_proj_tests/transform11.testcase @@ -0,0 +1,7 @@ +transform - Linestring ZM +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('LINESTRINGZM(11 43 100 1, 12 43 101 2, 12 42 102 3)', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('LINESTRINGZM(11 43 100 1, 12 43 101 2, 12 42 102 3)', 4326), 32632)) +LINESTRING ZM(663019.070082 4762755.64169 100 1, 744533.019451 4765182.932802 101 2, 748464.920716 4654130.891324 102 3) ADDED test/sql_stmt_proj_tests/transform12.testcase Index: test/sql_stmt_proj_tests/transform12.testcase ================================================================== --- test/sql_stmt_proj_tests/transform12.testcase +++ test/sql_stmt_proj_tests/transform12.testcase @@ -0,0 +1,7 @@ +transform - Point Z +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINTZ(11 43 100)', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINTZ(11 43 100)', 4326), 32632)) +POINT Z(663019.070082 4762755.64169 100) ADDED test/sql_stmt_proj_tests/transform13.testcase Index: test/sql_stmt_proj_tests/transform13.testcase ================================================================== --- test/sql_stmt_proj_tests/transform13.testcase +++ test/sql_stmt_proj_tests/transform13.testcase @@ -0,0 +1,7 @@ +transform - Point M +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINTM(11 43 1)', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINTM(11 43 1)', 4326), 32632)) +POINT M(663019.070082 4762755.64169 1) ADDED test/sql_stmt_proj_tests/transform14.testcase Index: test/sql_stmt_proj_tests/transform14.testcase ================================================================== --- test/sql_stmt_proj_tests/transform14.testcase +++ test/sql_stmt_proj_tests/transform14.testcase @@ -0,0 +1,7 @@ +transform - Point ZM +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINTZM(11 43 100 1)', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINTZM(11 43 100 1)', 4326), 32632)) +POINT ZM(663019.070082 4762755.64169 100 1) ADDED test/sql_stmt_proj_tests/transform15.testcase Index: test/sql_stmt_proj_tests/transform15.testcase ================================================================== --- test/sql_stmt_proj_tests/transform15.testcase +++ test/sql_stmt_proj_tests/transform15.testcase @@ -0,0 +1,7 @@ +transform - Point ZM +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINTZM(663019 4762755 100 1)', 32632), 4326)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINTZM(663019 4762755 100 1)', 32632), 4326)) +POINT ZM(10.999999 42.999994 100 1) ADDED test/sql_stmt_proj_tests/transform16.testcase Index: test/sql_stmt_proj_tests/transform16.testcase ================================================================== --- test/sql_stmt_proj_tests/transform16.testcase +++ test/sql_stmt_proj_tests/transform16.testcase @@ -0,0 +1,7 @@ +transform - Polygon +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POLYGON((11 43, 12 43, 12 44, 11 44, 11 43), (11.4 43.4, 11.6 43.4, 11.6 43.6, 11.4 43.6, 11.4 43.4))', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POLYGON((11 43, 12 43, 12 44, 11 44, 11 43), (11.4 43.4, 11.6 43.4, 11.6 43.6, 11.4 43.6, 11.4 43.4))', 4326), 32632)) +POLYGON((663019.070082 4762755.64169, 744533.019451 4765182.932802, 740526.321055 4876249.126963, 660349.410579 4873817.333441, 663019.070082 4762755.64169), (694349.575562 4808033.274618, 710545.984354 4808519.151148, 709851.653212 4830731.987849, 693708.725206 4830245.931093, 694349.575562 4808033.274618)) ADDED test/sql_stmt_proj_tests/transform17.testcase Index: test/sql_stmt_proj_tests/transform17.testcase ================================================================== --- test/sql_stmt_proj_tests/transform17.testcase +++ test/sql_stmt_proj_tests/transform17.testcase @@ -0,0 +1,7 @@ +transform - Polygon Z +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POLYGONZ((11 43 100, 12 43 101, 12 44 102, 11 44 103, 11 43 100), (11.4 43.4 100, 11.6 43.4 101, 11.6 43.6 102, 11.4 43.6 103, 11.4 43.4 100))', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POLYGONZ((11 43 100, 12 43 101, 12 44 102, 11 44 103, 11 43 100), (11.4 43.4 100, 11.6 43.4 101, 11.6 43.6 102, 11.4 43.6 103, 11.4 43.4 100))', 4326), 32632)) +POLYGON Z((663019.070082 4762755.64169 100, 744533.019451 4765182.932802 101, 740526.321055 4876249.126963 102, 660349.410579 4873817.333441 103, 663019.070082 4762755.64169 100), (694349.575562 4808033.274618 100, 710545.984354 4808519.151148 101, 709851.653212 4830731.987849 102, 693708.725206 4830245.931093 103, 694349.575562 4808033.274618 100)) ADDED test/sql_stmt_proj_tests/transform18.testcase Index: test/sql_stmt_proj_tests/transform18.testcase ================================================================== --- test/sql_stmt_proj_tests/transform18.testcase +++ test/sql_stmt_proj_tests/transform18.testcase @@ -0,0 +1,7 @@ +transform - Polygon M +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POLYGONM((11 43 1, 12 43 2, 12 44 3, 11 44 4, 11 43 1), (11.4 43.4 1, 11.6 43.4 2, 11.6 43.6 3, 11.4 43.6 4, 11.4 43.4 1))', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POLYGONM((11 43 1, 12 43 2, 12 44 3, 11 44 4, 11 43 1), (11.4 43.4 1, 11.6 43.4 2, 11.6 43.6 3, 11.4 43.6 4, 11.4 43.4 1))', 4326), 32632)) +POLYGON M((663019.070082 4762755.64169 1, 744533.019451 4765182.932802 2, 740526.321055 4876249.126963 3, 660349.410579 4873817.333441 4, 663019.070082 4762755.64169 1), (694349.575562 4808033.274618 1, 710545.984354 4808519.151148 2, 709851.653212 4830731.987849 3, 693708.725206 4830245.931093 4, 694349.575562 4808033.274618 1)) ADDED test/sql_stmt_proj_tests/transform19.testcase Index: test/sql_stmt_proj_tests/transform19.testcase ================================================================== --- test/sql_stmt_proj_tests/transform19.testcase +++ test/sql_stmt_proj_tests/transform19.testcase @@ -0,0 +1,7 @@ +transform - Polygon ZM +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POLYGONZM((11 43 100 1, 12 43 101 2, 12 44 102 3, 11 44 103 4, 11 43 100 1), (11.4 43.4 100 1, 11.6 43.4 101 2, 11.6 43.6 102 3, 11.4 43.6 103 4, 11.4 43.4 100 1))', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POLYGONZM((11 43 100 1, 12 43 101 2, 12 44 102 3, 11 44 103 4, 11 43 100 1), (11.4 43.4 100 1, 11.6 43.4 101 2, 11.6 43.6 102 3, 11.4 43.6 103 4, 11.4 43.4 100 1))', 4326), 32632)) +POLYGON ZM((663019.070082 4762755.64169 100 1, 744533.019451 4765182.932802 101 2, 740526.321055 4876249.126963 102 3, 660349.410579 4873817.333441 103 4, 663019.070082 4762755.64169 100 1), (694349.575562 4808033.274618 100 1, 710545.984354 4808519.151148 101 2, 709851.653212 4830731.987849 102 3, 693708.725206 4830245.931093 103 4, 694349.575562 4808033.274618 100 1)) ADDED test/sql_stmt_proj_tests/transform2.testcase Index: test/sql_stmt_proj_tests/transform2.testcase ================================================================== --- test/sql_stmt_proj_tests/transform2.testcase +++ test/sql_stmt_proj_tests/transform2.testcase @@ -0,0 +1,7 @@ +transform - zeroblob arg +:memory: #use in-memory database +SELECT Transform(zeroblob(48), NULL) +1 # rows (not including the header row) +1 # columns +Transform(zeroblob(48), NULL) +(NULL) ADDED test/sql_stmt_proj_tests/transform20.testcase Index: test/sql_stmt_proj_tests/transform20.testcase ================================================================== --- test/sql_stmt_proj_tests/transform20.testcase +++ test/sql_stmt_proj_tests/transform20.testcase @@ -0,0 +1,7 @@ +transform - Polygon +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POLYGON((663000 4762000, 663100 4762000, 663100 4762100, 663000 4762100, 663000 4762000), (663010 4762010, 663020 4762010, 663020 4762020, 663010 4762020, 663010 4762010))', 32632), 4326)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POLYGON((663000 4762000, 663100 4762000, 663100 4762100, 663000 4762100, 663000 4762000), (663010 4762010, 663020 4762010, 663020 4762020, 663010 4762020, 663010 4762010))', 32632), 4326)) +POLYGON((10.999546 42.993204, 11.000772 42.993182, 11.000801 42.994082, 10.999575 42.994104, 10.999546 42.993204), (10.999671 42.993291, 10.999794 42.993289, 10.999797 42.993379, 10.999674 42.993381, 10.999671 42.993291)) ADDED test/sql_stmt_proj_tests/transform21.testcase Index: test/sql_stmt_proj_tests/transform21.testcase ================================================================== --- test/sql_stmt_proj_tests/transform21.testcase +++ test/sql_stmt_proj_tests/transform21.testcase @@ -0,0 +1,7 @@ +transform - Point +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32656)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32656)) +(NULL) ADDED test/sql_stmt_proj_tests/transform3.testcase Index: test/sql_stmt_proj_tests/transform3.testcase ================================================================== --- test/sql_stmt_proj_tests/transform3.testcase +++ test/sql_stmt_proj_tests/transform3.testcase @@ -0,0 +1,7 @@ +transform - Point +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINT(11 43)', 4326), 32632)) +POINT(663019.070082 4762755.64169) ADDED test/sql_stmt_proj_tests/transform4.testcase Index: test/sql_stmt_proj_tests/transform4.testcase ================================================================== --- test/sql_stmt_proj_tests/transform4.testcase +++ test/sql_stmt_proj_tests/transform4.testcase @@ -0,0 +1,7 @@ +transform - Point (unknown srid) +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINT(11 43)'), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINT(11 43)'), 32632)) +(NULL) ADDED test/sql_stmt_proj_tests/transform5.testcase Index: test/sql_stmt_proj_tests/transform5.testcase ================================================================== --- test/sql_stmt_proj_tests/transform5.testcase +++ test/sql_stmt_proj_tests/transform5.testcase @@ -0,0 +1,7 @@ +transform - Point (unknown destination SRID) +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), 326320)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINT(11 43)', 4326), 326320)) +(NULL) ADDED test/sql_stmt_proj_tests/transform6.testcase Index: test/sql_stmt_proj_tests/transform6.testcase ================================================================== --- test/sql_stmt_proj_tests/transform6.testcase +++ test/sql_stmt_proj_tests/transform6.testcase @@ -0,0 +1,7 @@ +transform - Point (NULL srid) +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('POINT(11 43)', 4326), NULL)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('POINT(11 43)', 4326), NULL)) +(NULL) ADDED test/sql_stmt_proj_tests/transform7.testcase Index: test/sql_stmt_proj_tests/transform7.testcase ================================================================== --- test/sql_stmt_proj_tests/transform7.testcase +++ test/sql_stmt_proj_tests/transform7.testcase @@ -0,0 +1,7 @@ +transform - Linestring +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42)', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42)', 4326), 32632)) +LINESTRING(663019.070082 4762755.64169, 744533.019451 4765182.932802, 748464.920716 4654130.891324) ADDED test/sql_stmt_proj_tests/transform8.testcase Index: test/sql_stmt_proj_tests/transform8.testcase ================================================================== --- test/sql_stmt_proj_tests/transform8.testcase +++ test/sql_stmt_proj_tests/transform8.testcase @@ -0,0 +1,7 @@ +transform - illegal Linestring +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('LINESTRING(11 43, 12 43, 12 42', 4326), 32632)) +(NULL) ADDED test/sql_stmt_proj_tests/transform9.testcase Index: test/sql_stmt_proj_tests/transform9.testcase ================================================================== --- test/sql_stmt_proj_tests/transform9.testcase +++ test/sql_stmt_proj_tests/transform9.testcase @@ -0,0 +1,7 @@ +transform - Linestring Z +:memory: #use in-memory database +SELECT AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) +1 # rows (not including the header row) +1 # columns +AsText(Transform(GeomFromText('LINESTRINGZ(11 43 100, 12 43 101, 12 42 102)', 4326), 32632)) +LINESTRING Z(663019.070082 4762755.64169 100, 744533.019451 4765182.932802 101, 748464.920716 4654130.891324 102) DELETED test/sql_stmt_rtgeom_tests/3ddistance1.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance1.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance1.testcase @@ -1,8 +0,0 @@ -3DDistance - two 2D points -:memory: #use in-memory database -SELECT ST_3DDistance(MakePoint(1, 2), MakePoint(4, 6)) -1 # rows (not including the header row) -1 # columns -ST_3DDistance(MakePoint(1, 2), MakePoint(4, 6)) -5.0 - DELETED test/sql_stmt_rtgeom_tests/3ddistance10.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance10.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance10.testcase @@ -1,8 +0,0 @@ -3DDistance - two 3D linestring -:memory: #use in-memory database -SELECT ST_3DDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); -1 # rows (not including the header row) -1 # columns -ST_3DDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); -1.262388:6 - DELETED test/sql_stmt_rtgeom_tests/3ddistance2.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance2.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance2.testcase @@ -1,8 +0,0 @@ -3DDistance - two 2D identical points -:memory: #use in-memory database -SELECT ST_3DDistance(MakePoint(1, 2), MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_3DDistance(MakePoint(1, 2), MakePoint(1, 2)) -0.0 - DELETED test/sql_stmt_rtgeom_tests/3ddistance3.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance3.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance3.testcase @@ -1,8 +0,0 @@ -3DDistance - bad blob first arg -:memory: #use in-memory database -SELECT ST_3DDistance(zeroblob(100), MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_3DDistance(zeroblob(100), MakePoint(1, 2)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/3ddistance4.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance4.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance4.testcase @@ -1,8 +0,0 @@ -3DDistance - bad blob second arg -:memory: #use in-memory database -SELECT ST_3DDistance(MakePoint(1, 2), zeroblob(100)) -1 # rows (not including the header row) -1 # columns -ST_3DDistance(MakePoint(1, 2), zeroblob(100)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/3ddistance5.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance5.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance5.testcase @@ -1,8 +0,0 @@ -3DDistance - non-blob first arg -:memory: #use in-memory database -SELECT ST_3DDistance(3, MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_3DDistance(3, MakePoint(1, 2)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/3ddistance6.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance6.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance6.testcase @@ -1,8 +0,0 @@ -3DDistance - bad blob second arg -:memory: #use in-memory database -SELECT ST_3DDistance(MakePoint(1, 2), "hello") -1 # rows (not including the header row) -1 # columns -ST_3DDistance(MakePoint(1, 2), "hello") -(NULL) - DELETED test/sql_stmt_rtgeom_tests/3ddistance7.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance7.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance7.testcase @@ -1,8 +0,0 @@ -3DDistance - parallel 2D lines -:memory: #use in-memory database -SELECT ST_3DDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) -1 # rows (not including the header row) -1 # columns -ST_3DDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) -2.0 - DELETED test/sql_stmt_rtgeom_tests/3ddistance8.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance8.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance8.testcase @@ -1,8 +0,0 @@ -3DDistance - intersecting 2D lines -:memory: #use in-memory database -SELECT ST_3DDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) -1 # rows (not including the header row) -1 # columns -ST_3DDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) -0.0 - DELETED test/sql_stmt_rtgeom_tests/3ddistance9.testcase Index: test/sql_stmt_rtgeom_tests/3ddistance9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3ddistance9.testcase +++ test/sql_stmt_rtgeom_tests/3ddistance9.testcase @@ -1,8 +0,0 @@ -3DDistance - two 3D points -:memory: #use in-memory database -SELECT ST_3DDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)); -1 # rows (not including the header row) -1 # columns -ST_3DDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)) -5.385164:6 - DELETED test/sql_stmt_rtgeom_tests/3dlength1.testcase Index: test/sql_stmt_rtgeom_tests/3dlength1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dlength1.testcase +++ test/sql_stmt_rtgeom_tests/3dlength1.testcase @@ -1,7 +0,0 @@ -3dLength - NULL geometry -:memory: #use in-memory database -SELECT ST_3dLength(NULL) -1 # rows (not including the header row) -1 # columns -ST_3dLength(NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/3dlength2.testcase Index: test/sql_stmt_rtgeom_tests/3dlength2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dlength2.testcase +++ test/sql_stmt_rtgeom_tests/3dlength2.testcase @@ -1,7 +0,0 @@ -3dLength - INT geometry -:memory: #use in-memory database -SELECT ST_3dLength(1) -1 # rows (not including the header row) -1 # columns -ST_3dLength(1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/3dlength3.testcase Index: test/sql_stmt_rtgeom_tests/3dlength3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dlength3.testcase +++ test/sql_stmt_rtgeom_tests/3dlength3.testcase @@ -1,7 +0,0 @@ -3dLength - DOUBLE geometry -:memory: #use in-memory database -SELECT ST_3dLength(1.5) -1 # rows (not including the header row) -1 # columns -ST_3dLength(1.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/3dlength4.testcase Index: test/sql_stmt_rtgeom_tests/3dlength4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dlength4.testcase +++ test/sql_stmt_rtgeom_tests/3dlength4.testcase @@ -1,7 +0,0 @@ -3dLength - TEXT geometry -:memory: #use in-memory database -SELECT ST_3dLength('alpha') -1 # rows (not including the header row) -1 # columns -ST_3dLength('alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/3dlength5.testcase Index: test/sql_stmt_rtgeom_tests/3dlength5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dlength5.testcase +++ test/sql_stmt_rtgeom_tests/3dlength5.testcase @@ -1,7 +0,0 @@ -3dLength - invalid BLOB geometry -:memory: #use in-memory database -SELECT ST_3dLength(zeroblob(100)) -1 # rows (not including the header row) -1 # columns -ST_3dLength(zeroblob(100)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/3dlength6.testcase Index: test/sql_stmt_rtgeom_tests/3dlength6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dlength6.testcase +++ test/sql_stmt_rtgeom_tests/3dlength6.testcase @@ -1,7 +0,0 @@ -3dLength - Point geometry -:memory: #use in-memory database -SELECT ST_3dLength(ST_GeomFromText('POINT(1 2)')) -1 # rows (not including the header row) -1 # columns -ST_3dLength(ST_GeomFromText('POINT(1 2)')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/3dlength7.testcase Index: test/sql_stmt_rtgeom_tests/3dlength7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dlength7.testcase +++ test/sql_stmt_rtgeom_tests/3dlength7.testcase @@ -1,7 +0,0 @@ -3dLength - 2D linestring -:memory: #use in-memory database -SELECT ST_3dLength(ST_GeomFromText('LINESTRING(0 0, 1 0, 1 1, 2 1, 2 2, 3 2, 3 3)')) -1 # rows (not including the header row) -1 # columns -ST_3dLength(ST_GeomFromText('LINESTRING(0 0, 1 0, 1 1, 2 1, 2 2, 3 2, 3 3)')) -6.0 DELETED test/sql_stmt_rtgeom_tests/3dlength8.testcase Index: test/sql_stmt_rtgeom_tests/3dlength8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dlength8.testcase +++ test/sql_stmt_rtgeom_tests/3dlength8.testcase @@ -1,7 +0,0 @@ -3dLength - 3D linestring -:memory: #use in-memory database -SELECT ST_3dLength(ST_GeomFromText('LINESTRING Z(0 0 0, 1 0 0, 1 0 1, 2 0 1, 2 0 2, 3 0 2, 3 0 3)')) -1 # rows (not including the header row) -1 # columns -ST_3dLength(ST_GeomFromText('LINESTRING Z(0 0 0, 1 0 0, 1 0 1, 2 0 1, 2 0 2, 3 0 2, 3 0 3)')) -6.0 DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance1.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance1.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance1.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - two 2D points -:memory: #use in-memory database -SELECT ST_3DMaxDistance(MakePoint(1, 2), MakePoint(4, 6)) -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(MakePoint(1, 2), MakePoint(4, 6)) -5.0 - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance10.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance10.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance10.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - two 3D linestring -:memory: #use in-memory database -SELECT ST_3DMaxDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); -10.862780:6 - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance2.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance2.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance2.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - two 2D identical points -:memory: #use in-memory database -SELECT ST_3DMaxDistance(MakePoint(1, 2), MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(MakePoint(1, 2), MakePoint(1, 2)) -0.0 - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance3.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance3.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance3.testcase @@ -1,8 +0,0 @@ -MaxDistance - bad blob first arg -:memory: #use in-memory database -SELECT ST_MaxDistance(zeroblob(100), MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(zeroblob(100), MakePoint(1, 2)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance4.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance4.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance4.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - bad blob second arg -:memory: #use in-memory database -SELECT ST_3DMaxDistance(MakePoint(1, 2), zeroblob(100)) -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(MakePoint(1, 2), zeroblob(100)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance5.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance5.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance5.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - non-blob first arg -:memory: #use in-memory database -SELECT ST_3DMaxDistance(3, MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(3, MakePoint(1, 2)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance6.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance6.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance6.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - bad blob second arg -:memory: #use in-memory database -SELECT ST_3DMaxDistance(MakePoint(1, 2), "hello") -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(MakePoint(1, 2), "hello") -(NULL) - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance7.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance7.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance7.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - parallel 2D lines -:memory: #use in-memory database -SELECT ST_3DMaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) -10.198039:6 - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance8.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance8.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance8.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - intersecting 2D lines -:memory: #use in-memory database -SELECT ST_3DMaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) -11.180339:6 - DELETED test/sql_stmt_rtgeom_tests/3dmaxdistance9.testcase Index: test/sql_stmt_rtgeom_tests/3dmaxdistance9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/3dmaxdistance9.testcase +++ test/sql_stmt_rtgeom_tests/3dmaxdistance9.testcase @@ -1,8 +0,0 @@ -3DMaxDistance - two 3D points -:memory: #use in-memory database -SELECT ST_3DMaxDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)); -1 # rows (not including the header row) -1 # columns -ST_3DMaxDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)) -5.385164:6 - DELETED test/sql_stmt_rtgeom_tests/Makefile.am Index: test/sql_stmt_rtgeom_tests/Makefile.am ================================================================== --- test/sql_stmt_rtgeom_tests/Makefile.am +++ test/sql_stmt_rtgeom_tests/Makefile.am @@ -1,298 +0,0 @@ - -EXTRA_DIST = 3ddistance10.testcase \ - 3ddistance1.testcase \ - 3ddistance2.testcase \ - 3ddistance3.testcase \ - 3ddistance4.testcase \ - 3ddistance5.testcase \ - 3ddistance6.testcase \ - 3ddistance7.testcase \ - 3ddistance8.testcase \ - 3ddistance9.testcase \ - 3dlength1.testcase \ - 3dlength2.testcase \ - 3dlength3.testcase \ - 3dlength4.testcase \ - 3dlength5.testcase \ - 3dlength6.testcase \ - 3dlength7.testcase \ - 3dlength8.testcase \ - 3dmaxdistance10.testcase \ - 3dmaxdistance1.testcase \ - 3dmaxdistance2.testcase \ - 3dmaxdistance3.testcase \ - 3dmaxdistance4.testcase \ - 3dmaxdistance5.testcase \ - 3dmaxdistance6.testcase \ - 3dmaxdistance7.testcase \ - 3dmaxdistance8.testcase \ - 3dmaxdistance9.testcase \ - maxdistance10.testcase \ - maxdistance1.testcase \ - maxdistance2.testcase \ - maxdistance3.testcase \ - maxdistance4.testcase \ - maxdistance5.testcase \ - maxdistance6.testcase \ - maxdistance7.testcase \ - maxdistance8.testcase \ - maxdistance9.testcase \ - st_asx3d10.testcase \ - st_asx3d11.testcase \ - st_asx3d12.testcase \ - st_asx3d13.testcase \ - st_asx3d14.testcase \ - st_asx3d15.testcase \ - st_asx3d16.testcase \ - st_asx3d17.testcase \ - st_asx3d18.testcase \ - st_asx3d19.testcase \ - st_asx3d1.testcase \ - st_asx3d20.testcase \ - st_asx3d21.testcase \ - st_asx3d22.testcase \ - st_asx3d23.testcase \ - st_asx3d24.testcase \ - st_asx3d25.testcase \ - st_asx3d26.testcase \ - st_asx3d27.testcase \ - st_asx3d28.testcase \ - st_asx3d29.testcase \ - st_asx3d30.testcase \ - st_asx3d2.testcase \ - st_asx3d3.testcase \ - st_asx3d4.testcase \ - st_asx3d5.testcase \ - st_asx3d6.testcase \ - st_asx3d7.testcase \ - st_asx3d8.testcase \ - st_asx3d9.testcase \ - st_area10.testcase \ - st_area11.testcase \ - st_area12.testcase \ - st_area13.testcase \ - st_area14.testcase \ - st_area15.testcase \ - st_area16.testcase \ - st_area17.testcase \ - st_area18.testcase \ - st_azimuth11.testcase \ - st_azimuth12.testcase \ - st_azimuth13.testcase \ - st_azimuth14.testcase \ - st_azimuth15.testcase \ - st_azimuth16.testcase \ - st_azimuth17.testcase \ - st_azimuth1.testcase \ - st_azimuth2.testcase \ - st_azimuth3.testcase \ - st_azimuth4.testcase \ - st_azimuth5.testcase \ - st_azimuth6.testcase \ - st_azimuth7.testcase \ - st_azimuth8.testcase \ - st_azimuth9.testcase \ - st_geohash10.testcase \ - st_geohash1.testcase \ - st_geohash2.testcase \ - st_geohash3.testcase \ - st_geohash4.testcase \ - st_geohash5.testcase \ - st_geohash6.testcase \ - st_geohash7.testcase \ - st_geohash8.testcase \ - st_geohash9.testcase \ - st_makevalid1.testcase \ - st_makevalid2.testcase \ - st_makevalid3.testcase \ - st_makevalid4.testcase \ - st_makevalid5.testcase \ - st_makevalid6.testcase \ - st_makevalid7.testcase \ - st_makevalid8.testcase \ - st_makevaliddiscarded1.testcase \ - st_makevaliddiscarded2.testcase \ - st_makevaliddiscarded3.testcase \ - st_makevaliddiscarded4.testcase \ - st_makevaliddiscarded5.testcase \ - st_makevaliddiscarded6.testcase \ - st_makevaliddiscarded7.testcase \ - st_makevaliddiscarded8.testcase \ - st_project1.testcase \ - st_project2.testcase \ - st_project3.testcase \ - st_project4.testcase \ - st_project5.testcase \ - st_project6.testcase \ - st_project7.testcase \ - st_project8.testcase \ - st_project9.testcase \ - st_project10.testcase \ - st_project11.testcase \ - st_project12.testcase \ - st_project13.testcase \ - st_project14.testcase \ - st_segmentize10.testcase \ - st_segmentize11.testcase \ - st_segmentize12.testcase \ - st_segmentize13.testcase \ - st_segmentize14.testcase \ - st_segmentize15.testcase \ - st_segmentize16.testcase \ - st_segmentize17.testcase \ - st_segmentize18.testcase \ - st_segmentize19.testcase \ - st_segmentize1.testcase \ - st_segmentize20.testcase \ - st_segmentize21.testcase \ - st_segmentize22.testcase \ - st_segmentize23.testcase \ - st_segmentize24.testcase \ - st_segmentize25.testcase \ - st_segmentize26.testcase \ - st_segmentize27.testcase \ - st_segmentize28.testcase \ - st_segmentize29.testcase \ - st_segmentize2.testcase \ - st_segmentize30.testcase \ - st_segmentize31.testcase \ - st_segmentize3.testcase \ - st_segmentize4.testcase \ - st_segmentize5.testcase \ - st_segmentize6.testcase \ - st_segmentize7.testcase \ - st_segmentize8.testcase \ - st_segmentize9.testcase \ - st_snaptogrid10.testcase \ - st_snaptogrid11.testcase \ - st_snaptogrid12.testcase \ - st_snaptogrid13.testcase \ - st_snaptogrid14.testcase \ - st_snaptogrid15.testcase \ - st_snaptogrid16.testcase \ - st_snaptogrid17.testcase \ - st_snaptogrid18.testcase \ - st_snaptogrid19.testcase \ - st_snaptogrid1.testcase \ - st_snaptogrid20.testcase \ - st_snaptogrid21.testcase \ - st_snaptogrid22.testcase \ - st_snaptogrid23.testcase \ - st_snaptogrid24.testcase \ - st_snaptogrid25.testcase \ - st_snaptogrid26.testcase \ - st_snaptogrid27.testcase \ - st_snaptogrid28.testcase \ - st_snaptogrid29.testcase \ - st_snaptogrid2.testcase \ - st_snaptogrid30.testcase \ - st_snaptogrid31.testcase \ - st_snaptogrid32.testcase \ - st_snaptogrid33.testcase \ - st_snaptogrid34.testcase \ - st_snaptogrid35.testcase \ - st_snaptogrid36.testcase \ - st_snaptogrid37.testcase \ - st_snaptogrid38.testcase \ - st_snaptogrid39.testcase \ - st_snaptogrid3.testcase \ - st_snaptogrid40.testcase \ - st_snaptogrid41.testcase \ - st_snaptogrid42.testcase \ - st_snaptogrid43.testcase \ - st_snaptogrid44.testcase \ - st_snaptogrid45.testcase \ - st_snaptogrid46.testcase \ - st_snaptogrid47.testcase \ - st_snaptogrid48.testcase \ - st_snaptogrid49.testcase \ - st_snaptogrid4.testcase \ - st_snaptogrid50.testcase \ - st_snaptogrid51.testcase \ - st_snaptogrid52.testcase \ - st_snaptogrid53.testcase \ - st_snaptogrid54.testcase \ - st_snaptogrid55.testcase \ - st_snaptogrid56.testcase \ - st_snaptogrid57.testcase \ - st_snaptogrid58.testcase \ - st_snaptogrid59.testcase \ - st_snaptogrid5.testcase \ - st_snaptogrid60.testcase \ - st_snaptogrid61.testcase \ - st_snaptogrid62.testcase \ - st_snaptogrid63.testcase \ - st_snaptogrid64.testcase \ - st_snaptogrid65.testcase \ - st_snaptogrid6.testcase \ - st_snaptogrid7.testcase \ - st_snaptogrid8.testcase \ - st_snaptogrid9.testcase \ - st_split10.testcase \ - st_split11.testcase \ - st_split12.testcase \ - st_split13.testcase \ - st_split14.testcase \ - st_split15.testcase \ - st_split16.testcase \ - st_split17.testcase \ - st_split18.testcase \ - st_split19.testcase \ - st_split1.testcase \ - st_split20.testcase \ - st_split21.testcase \ - st_split22.testcase \ - st_split23.testcase \ - st_split24.testcase \ - st_split25.testcase \ - st_split26.testcase \ - st_split27.testcase \ - st_split28.testcase \ - st_split29.testcase \ - st_split2.testcase \ - st_split30.testcase \ - st_split31.testcase \ - st_split32.testcase \ - st_split33.testcase \ - st_split34.testcase \ - st_split35.testcase \ - st_split36.testcase \ - st_split37.testcase \ - st_split38.testcase \ - st_split39.testcase \ - st_split3.testcase \ - st_split40.testcase \ - st_split41.testcase \ - st_split42.testcase \ - st_split43.testcase \ - st_split44.testcase \ - st_split45.testcase \ - st_split46.testcase \ - st_split47.testcase \ - st_split48.testcase \ - st_split49.testcase \ - st_split4.testcase \ - st_split5.testcase \ - st_split6.testcase \ - st_split7.testcase \ - st_split8.testcase \ - st_split9.testcase \ - st_node1.testcase \ - st_node2.testcase \ - st_node3.testcase \ - st_node4.testcase \ - st_node5.testcase \ - st_node6.testcase \ - st_node7.testcase \ - st_node8.testcase \ - st_node9.testcase \ - st_self1.testcase \ - st_self2.testcase \ - st_self3.testcase \ - st_self4.testcase \ - st_self5.testcase \ - st_self6.testcase \ - st_self7.testcase \ - st_self8.testcase \ - st_self9.testcase - DELETED test/sql_stmt_rtgeom_tests/Makefile.in Index: test/sql_stmt_rtgeom_tests/Makefile.in ================================================================== --- test/sql_stmt_rtgeom_tests/Makefile.in +++ test/sql_stmt_rtgeom_tests/Makefile.in @@ -1,745 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_rtgeom_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = 3ddistance10.testcase \ - 3ddistance1.testcase \ - 3ddistance2.testcase \ - 3ddistance3.testcase \ - 3ddistance4.testcase \ - 3ddistance5.testcase \ - 3ddistance6.testcase \ - 3ddistance7.testcase \ - 3ddistance8.testcase \ - 3ddistance9.testcase \ - 3dlength1.testcase \ - 3dlength2.testcase \ - 3dlength3.testcase \ - 3dlength4.testcase \ - 3dlength5.testcase \ - 3dlength6.testcase \ - 3dlength7.testcase \ - 3dlength8.testcase \ - 3dmaxdistance10.testcase \ - 3dmaxdistance1.testcase \ - 3dmaxdistance2.testcase \ - 3dmaxdistance3.testcase \ - 3dmaxdistance4.testcase \ - 3dmaxdistance5.testcase \ - 3dmaxdistance6.testcase \ - 3dmaxdistance7.testcase \ - 3dmaxdistance8.testcase \ - 3dmaxdistance9.testcase \ - maxdistance10.testcase \ - maxdistance1.testcase \ - maxdistance2.testcase \ - maxdistance3.testcase \ - maxdistance4.testcase \ - maxdistance5.testcase \ - maxdistance6.testcase \ - maxdistance7.testcase \ - maxdistance8.testcase \ - maxdistance9.testcase \ - st_asx3d10.testcase \ - st_asx3d11.testcase \ - st_asx3d12.testcase \ - st_asx3d13.testcase \ - st_asx3d14.testcase \ - st_asx3d15.testcase \ - st_asx3d16.testcase \ - st_asx3d17.testcase \ - st_asx3d18.testcase \ - st_asx3d19.testcase \ - st_asx3d1.testcase \ - st_asx3d20.testcase \ - st_asx3d21.testcase \ - st_asx3d22.testcase \ - st_asx3d23.testcase \ - st_asx3d24.testcase \ - st_asx3d25.testcase \ - st_asx3d26.testcase \ - st_asx3d27.testcase \ - st_asx3d28.testcase \ - st_asx3d29.testcase \ - st_asx3d30.testcase \ - st_asx3d2.testcase \ - st_asx3d3.testcase \ - st_asx3d4.testcase \ - st_asx3d5.testcase \ - st_asx3d6.testcase \ - st_asx3d7.testcase \ - st_asx3d8.testcase \ - st_asx3d9.testcase \ - st_area10.testcase \ - st_area11.testcase \ - st_area12.testcase \ - st_area13.testcase \ - st_area14.testcase \ - st_area15.testcase \ - st_area16.testcase \ - st_area17.testcase \ - st_area18.testcase \ - st_azimuth11.testcase \ - st_azimuth12.testcase \ - st_azimuth13.testcase \ - st_azimuth14.testcase \ - st_azimuth15.testcase \ - st_azimuth16.testcase \ - st_azimuth17.testcase \ - st_azimuth1.testcase \ - st_azimuth2.testcase \ - st_azimuth3.testcase \ - st_azimuth4.testcase \ - st_azimuth5.testcase \ - st_azimuth6.testcase \ - st_azimuth7.testcase \ - st_azimuth8.testcase \ - st_azimuth9.testcase \ - st_geohash10.testcase \ - st_geohash1.testcase \ - st_geohash2.testcase \ - st_geohash3.testcase \ - st_geohash4.testcase \ - st_geohash5.testcase \ - st_geohash6.testcase \ - st_geohash7.testcase \ - st_geohash8.testcase \ - st_geohash9.testcase \ - st_makevalid1.testcase \ - st_makevalid2.testcase \ - st_makevalid3.testcase \ - st_makevalid4.testcase \ - st_makevalid5.testcase \ - st_makevalid6.testcase \ - st_makevalid7.testcase \ - st_makevalid8.testcase \ - st_makevaliddiscarded1.testcase \ - st_makevaliddiscarded2.testcase \ - st_makevaliddiscarded3.testcase \ - st_makevaliddiscarded4.testcase \ - st_makevaliddiscarded5.testcase \ - st_makevaliddiscarded6.testcase \ - st_makevaliddiscarded7.testcase \ - st_makevaliddiscarded8.testcase \ - st_project1.testcase \ - st_project2.testcase \ - st_project3.testcase \ - st_project4.testcase \ - st_project5.testcase \ - st_project6.testcase \ - st_project7.testcase \ - st_project8.testcase \ - st_project9.testcase \ - st_project10.testcase \ - st_project11.testcase \ - st_project12.testcase \ - st_project13.testcase \ - st_project14.testcase \ - st_segmentize10.testcase \ - st_segmentize11.testcase \ - st_segmentize12.testcase \ - st_segmentize13.testcase \ - st_segmentize14.testcase \ - st_segmentize15.testcase \ - st_segmentize16.testcase \ - st_segmentize17.testcase \ - st_segmentize18.testcase \ - st_segmentize19.testcase \ - st_segmentize1.testcase \ - st_segmentize20.testcase \ - st_segmentize21.testcase \ - st_segmentize22.testcase \ - st_segmentize23.testcase \ - st_segmentize24.testcase \ - st_segmentize25.testcase \ - st_segmentize26.testcase \ - st_segmentize27.testcase \ - st_segmentize28.testcase \ - st_segmentize29.testcase \ - st_segmentize2.testcase \ - st_segmentize30.testcase \ - st_segmentize31.testcase \ - st_segmentize3.testcase \ - st_segmentize4.testcase \ - st_segmentize5.testcase \ - st_segmentize6.testcase \ - st_segmentize7.testcase \ - st_segmentize8.testcase \ - st_segmentize9.testcase \ - st_snaptogrid10.testcase \ - st_snaptogrid11.testcase \ - st_snaptogrid12.testcase \ - st_snaptogrid13.testcase \ - st_snaptogrid14.testcase \ - st_snaptogrid15.testcase \ - st_snaptogrid16.testcase \ - st_snaptogrid17.testcase \ - st_snaptogrid18.testcase \ - st_snaptogrid19.testcase \ - st_snaptogrid1.testcase \ - st_snaptogrid20.testcase \ - st_snaptogrid21.testcase \ - st_snaptogrid22.testcase \ - st_snaptogrid23.testcase \ - st_snaptogrid24.testcase \ - st_snaptogrid25.testcase \ - st_snaptogrid26.testcase \ - st_snaptogrid27.testcase \ - st_snaptogrid28.testcase \ - st_snaptogrid29.testcase \ - st_snaptogrid2.testcase \ - st_snaptogrid30.testcase \ - st_snaptogrid31.testcase \ - st_snaptogrid32.testcase \ - st_snaptogrid33.testcase \ - st_snaptogrid34.testcase \ - st_snaptogrid35.testcase \ - st_snaptogrid36.testcase \ - st_snaptogrid37.testcase \ - st_snaptogrid38.testcase \ - st_snaptogrid39.testcase \ - st_snaptogrid3.testcase \ - st_snaptogrid40.testcase \ - st_snaptogrid41.testcase \ - st_snaptogrid42.testcase \ - st_snaptogrid43.testcase \ - st_snaptogrid44.testcase \ - st_snaptogrid45.testcase \ - st_snaptogrid46.testcase \ - st_snaptogrid47.testcase \ - st_snaptogrid48.testcase \ - st_snaptogrid49.testcase \ - st_snaptogrid4.testcase \ - st_snaptogrid50.testcase \ - st_snaptogrid51.testcase \ - st_snaptogrid52.testcase \ - st_snaptogrid53.testcase \ - st_snaptogrid54.testcase \ - st_snaptogrid55.testcase \ - st_snaptogrid56.testcase \ - st_snaptogrid57.testcase \ - st_snaptogrid58.testcase \ - st_snaptogrid59.testcase \ - st_snaptogrid5.testcase \ - st_snaptogrid60.testcase \ - st_snaptogrid61.testcase \ - st_snaptogrid62.testcase \ - st_snaptogrid63.testcase \ - st_snaptogrid64.testcase \ - st_snaptogrid65.testcase \ - st_snaptogrid6.testcase \ - st_snaptogrid7.testcase \ - st_snaptogrid8.testcase \ - st_snaptogrid9.testcase \ - st_split10.testcase \ - st_split11.testcase \ - st_split12.testcase \ - st_split13.testcase \ - st_split14.testcase \ - st_split15.testcase \ - st_split16.testcase \ - st_split17.testcase \ - st_split18.testcase \ - st_split19.testcase \ - st_split1.testcase \ - st_split20.testcase \ - st_split21.testcase \ - st_split22.testcase \ - st_split23.testcase \ - st_split24.testcase \ - st_split25.testcase \ - st_split26.testcase \ - st_split27.testcase \ - st_split28.testcase \ - st_split29.testcase \ - st_split2.testcase \ - st_split30.testcase \ - st_split31.testcase \ - st_split32.testcase \ - st_split33.testcase \ - st_split34.testcase \ - st_split35.testcase \ - st_split36.testcase \ - st_split37.testcase \ - st_split38.testcase \ - st_split39.testcase \ - st_split3.testcase \ - st_split40.testcase \ - st_split41.testcase \ - st_split42.testcase \ - st_split43.testcase \ - st_split44.testcase \ - st_split45.testcase \ - st_split46.testcase \ - st_split47.testcase \ - st_split48.testcase \ - st_split49.testcase \ - st_split4.testcase \ - st_split5.testcase \ - st_split6.testcase \ - st_split7.testcase \ - st_split8.testcase \ - st_split9.testcase \ - st_node1.testcase \ - st_node2.testcase \ - st_node3.testcase \ - st_node4.testcase \ - st_node5.testcase \ - st_node6.testcase \ - st_node7.testcase \ - st_node8.testcase \ - st_node9.testcase \ - st_self1.testcase \ - st_self2.testcase \ - st_self3.testcase \ - st_self4.testcase \ - st_self5.testcase \ - st_self6.testcase \ - st_self7.testcase \ - st_self8.testcase \ - st_self9.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_rtgeom_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_rtgeom_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_rtgeom_tests/maxdistance1.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance1.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance1.testcase @@ -1,8 +0,0 @@ -MaxDistance - two 2D points -:memory: #use in-memory database -SELECT ST_MaxDistance(MakePoint(1, 2), MakePoint(4, 6)) -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(MakePoint(1, 2), MakePoint(4, 6)) -5.0 - DELETED test/sql_stmt_rtgeom_tests/maxdistance10.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance10.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance10.testcase @@ -1,8 +0,0 @@ -MaxDistance - two 3D linestring -:memory: #use in-memory database -SELECT ST_MaxDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(GeomFromText("LINESTRINGZ(0 0 1, 10 2 5)"), GeomFromText("LINESTRINGZ(0 2 3, 10 3 4)")); -10.440306:6 - DELETED test/sql_stmt_rtgeom_tests/maxdistance2.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance2.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance2.testcase @@ -1,8 +0,0 @@ -MaxDistance - two 2D identical points -:memory: #use in-memory database -SELECT ST_MaxDistance(MakePoint(1, 2), MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(MakePoint(1, 2), MakePoint(1, 2)) -0.0 - DELETED test/sql_stmt_rtgeom_tests/maxdistance3.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance3.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance3.testcase @@ -1,8 +0,0 @@ -MaxDistance - bad blob first arg -:memory: #use in-memory database -SELECT ST_MaxDistance(zeroblob(100), MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(zeroblob(100), MakePoint(1, 2)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/maxdistance4.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance4.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance4.testcase @@ -1,8 +0,0 @@ -MaxDistance - bad blob second arg -:memory: #use in-memory database -SELECT ST_MaxDistance(MakePoint(1, 2), zeroblob(100)) -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(MakePoint(1, 2), zeroblob(100)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/maxdistance5.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance5.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance5.testcase @@ -1,8 +0,0 @@ -MaxDistance - non-blob first arg -:memory: #use in-memory database -SELECT ST_MaxDistance(3, MakePoint(1, 2)) -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(3, MakePoint(1, 2)) -(NULL) - DELETED test/sql_stmt_rtgeom_tests/maxdistance6.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance6.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance6.testcase @@ -1,8 +0,0 @@ -MaxDistance - bad blob second arg -:memory: #use in-memory database -SELECT ST_MaxDistance(MakePoint(1, 2), "hello") -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(MakePoint(1, 2), "hello") -(NULL) - DELETED test/sql_stmt_rtgeom_tests/maxdistance7.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance7.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance7.testcase @@ -1,8 +0,0 @@ -MaxDistance - parallel 2D lines -:memory: #use in-memory database -SELECT ST_MaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 2, 10 2)")) -10.198039:6 - DELETED test/sql_stmt_rtgeom_tests/maxdistance8.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance8.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance8.testcase @@ -1,8 +0,0 @@ -MaxDistance - intersecting 2D lines -:memory: #use in-memory database -SELECT ST_MaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(GeomFromText("LINESTRING(0 0, 10 0)"), GeomFromText("LINESTRING(0 0, 0 5)")) -11.180339:6 - DELETED test/sql_stmt_rtgeom_tests/maxdistance9.testcase Index: test/sql_stmt_rtgeom_tests/maxdistance9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/maxdistance9.testcase +++ test/sql_stmt_rtgeom_tests/maxdistance9.testcase @@ -1,8 +0,0 @@ -MaxDistance - two 3D points -:memory: #use in-memory database -SELECT ST_MaxDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)); -1 # rows (not including the header row) -1 # columns -ST_MaxDistance(MakePointZ(1, 2, 3), MakePointZ(4, 6, 5)) -5.0 - DELETED test/sql_stmt_rtgeom_tests/st_area10.testcase Index: test/sql_stmt_rtgeom_tests/st_area10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area10.testcase +++ test/sql_stmt_rtgeom_tests/st_area10.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - valid Polygon - Sphere/Equator -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 0); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 0) -189884187084.89:2 DELETED test/sql_stmt_rtgeom_tests/st_area11.testcase Index: test/sql_stmt_rtgeom_tests/st_area11.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area11.testcase +++ test/sql_stmt_rtgeom_tests/st_area11.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - valid Polygon - Ellipsoid/Equator -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 1); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 1) -189884187084.89:2 DELETED test/sql_stmt_rtgeom_tests/st_area12.testcase Index: test/sql_stmt_rtgeom_tests/st_area12.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area12.testcase +++ test/sql_stmt_rtgeom_tests/st_area12.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - valid Polygon - Sphere -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))"), 0); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))"), 0) -67724290215.61:2 DELETED test/sql_stmt_rtgeom_tests/st_area13.testcase Index: test/sql_stmt_rtgeom_tests/st_area13.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area13.testcase +++ test/sql_stmt_rtgeom_tests/st_area13.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - valid Polygon - Ellipsoid -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))"), 1); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))"), 1) -67989516071.49:2 DELETED test/sql_stmt_rtgeom_tests/st_area14.testcase Index: test/sql_stmt_rtgeom_tests/st_area14.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area14.testcase +++ test/sql_stmt_rtgeom_tests/st_area14.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - Point - Ellipsoid -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POINT(50.4 50.4)"), 1); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POINT(50.4 50.4)"), 1) -0.0 DELETED test/sql_stmt_rtgeom_tests/st_area15.testcase Index: test/sql_stmt_rtgeom_tests/st_area15.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area15.testcase +++ test/sql_stmt_rtgeom_tests/st_area15.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - planar Polygon - Sphere -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))", 32632), 0); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POLYGON((50.4 50.4, 50.4 54, 54 54, 54 50.4, 50.4 50.4),(51 51, 51 53, 53 53, 53 51, 51 51))", 32632), 0) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_area16.testcase Index: test/sql_stmt_rtgeom_tests/st_area16.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area16.testcase +++ test/sql_stmt_rtgeom_tests/st_area16.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - DOUBLE use_ellipsoid -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 0.5); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_area17.testcase Index: test/sql_stmt_rtgeom_tests/st_area17.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area17.testcase +++ test/sql_stmt_rtgeom_tests/st_area17.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - TEXT use_ellipsoid -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_area18.testcase Index: test/sql_stmt_rtgeom_tests/st_area18.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_area18.testcase +++ test/sql_stmt_rtgeom_tests/st_area18.testcase @@ -1,7 +0,0 @@ -ST_Area Geodesic - BLOB use_ellipsoid -:memory: #use in-memory database -SELECT ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_Area(GeomFromText("POLYGON((-0.4 -0.4, -0.4 4, 4 4, 4 -0.4, -0.4 -0.4),(1 1, 1 3, 3 3, 3 1, 1 1))"), zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d1.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d1.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d1.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - NULL geometry -:memory: #use in-memory database -SELECT ST_AsX3D(NULL); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d10.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d10.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d10.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 2D multipoint -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('MULTIPOINT(10 10, 11 10, 11 11)')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('MULTIPOINT(10 10, 11 10, 11 11)')) -:0 DELETED test/sql_stmt_rtgeom_tests/st_asx3d11.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d11.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d11.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d11.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D multipoint -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('MULTIPOINTZ(10 10 101, 11 10 102, 11 11 103)')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('MULTIPOINTZ(10 10 101, 11 10 102, 11 11 103)')) -:0 DELETED test/sql_stmt_rtgeom_tests/st_asx3d12.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d12.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d12.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d12.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 2D multilinestring -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('MULTILINESTRING((10 10, 11 10, 11 11), (20 20, 21 20, 21 21))')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('MULTILINESTRING((10 10, 11 10, 11 11), (20 20, 21 20, 21 21))')) -10 10 11 10 11 11 20 20 21 20 21 21 ' />:0 DELETED test/sql_stmt_rtgeom_tests/st_asx3d13.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d13.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d13.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d13.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D multilinestring -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('MULTILINESTRINGZ((10 10 1, 11 10 2, 11 11 2), (20 20 4, 21 20 5, 21 21 6))')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('MULTILINESTRINGZ((10 10 1, 11 10 2, 11 11 2), (20 20 4, 21 20 5, 21 21 6))')) -:0 DELETED test/sql_stmt_rtgeom_tests/st_asx3d14.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d14.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d14.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d14.testcase @@ -1,8 +0,0 @@ -ST_AsX3D - 2D multipolygon -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('MULTIPOLYGON(((10 10, 11 10, 11 11, 10 11, 10 10)), ((20 20, 21 20, 21 21, 20 21, 20 20)))')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('MULTIPOLYGON(((10 10, 11 10, 11 11, 10 11, 10 10)), ((20 20, 21 20, 21 21, 20 21, 20 20)))')) -10 10 11 10 11 11 10 11 20 20 21 20 21 21 20 21 ' /> -# 10 10 11 10 11 11 10 11 20 20 21 20 21 21 20 21 ' /> DELETED test/sql_stmt_rtgeom_tests/st_asx3d15.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d15.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d15.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d15.testcase @@ -1,8 +0,0 @@ -ST_AsX3D - 3D multipolygon -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('MULTIPOLYGONZ(((10 10 1, 11 10 2, 11 11 3, 10 11 4, 10 10 1)), ((20 20 5, 21 20 6, 21 21 7, 20 21 8, 20 20 5)))')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('MULTIPOLYGONZ(((10 10 1, 11 10 2, 11 11 3, 10 11 4, 10 10 1)), ((20 20 5, 21 20 6, 21 21 7, 20 21 8, 20 20 5)))')) - -# DELETED test/sql_stmt_rtgeom_tests/st_asx3d16.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d16.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d16.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d16.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring NULL precision -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), NULL); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d17.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d17.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d17.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d17.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring TEXT precision -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d18.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d18.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d18.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d18.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring BLOB precision -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d19.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d19.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d19.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d19.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring DOUBLE precision -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), 0.5); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)'), 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d2.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d2.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d2.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - text geometry -:memory: #use in-memory database -SELECT ST_AsX3D('alpha'); -1 # rows (not including the header row) -1 # columns -ST_AsX3D('alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d20.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d20.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d20.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d20.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6) -:0 DELETED test/sql_stmt_rtgeom_tests/st_asx3d21.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d21.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d21.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d21.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, NULL options -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, NULL); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d22.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d22.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d22.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d22.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, text options -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d23.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d23.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d23.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d23.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, blob options -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d24.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d24.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d24.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d24.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, double options -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, 0.5); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128)'), 6, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d25.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d25.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d25.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d25.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, short SRS -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 0); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 0) -15.123457 14.765432 7.654321 DELETED test/sql_stmt_rtgeom_tests/st_asx3d26.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d26.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d26.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d26.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, long SRS -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1) -14.765432 15.123457 7.654321 DELETED test/sql_stmt_rtgeom_tests/st_asx3d27.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d27.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d27.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d27.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, long SRS, NULL refid -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d28.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d28.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d28.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d28.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, long SRS, int refid -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 1); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d29.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d29.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d29.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d29.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, long SRS, BLOB refid -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d3.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d3.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d3.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - int geometry -:memory: #use in-memory database -SELECT ST_AsX3D(1); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_asx3d30.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d30.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d30.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d30.testcase @@ -1,8 +0,0 @@ -ST_AsX3D - 3D linestring, 6 digit precision, long SRS, refid -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 'test_'); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('GEOMETRYCOLLECTIONZ(LINESTRINGZ(10.12345678 10.98765432 101.123, 11 10 102, 11.321 11.12 103.6453128), POINTZ(15.1234567 14.7654321 7.654321))', 4326), 6, 1, 'test_') -14.765432 15.123457 7.654321 - DELETED test/sql_stmt_rtgeom_tests/st_asx3d4.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d4.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d4.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 2D point -:memory: #use in-memory database -SELECT ST_AsX3D(MakePoint(12, 21)); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(MakePoint(12, 21)) -12 21 DELETED test/sql_stmt_rtgeom_tests/st_asx3d5.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d5.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d5.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D point -:memory: #use in-memory database -SELECT ST_AsX3D(MakePointZ(12, 21, 101)); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(MakePointZ(12, 21, 101)) -12 21 101 DELETED test/sql_stmt_rtgeom_tests/st_asx3d6.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d6.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d6.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 2D linestring -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRING(10 10, 11 10, 11 11)')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRING(10 10, 11 10, 11 11)')) -:0 DELETED test/sql_stmt_rtgeom_tests/st_asx3d7.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d7.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d7.testcase @@ -1,7 +0,0 @@ -ST_AsX3D - 3D linestring -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('LINESTRINGZ(10 10 101, 11 10 102, 11 11 103)')) -:0 DELETED test/sql_stmt_rtgeom_tests/st_asx3d8.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d8.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d8.testcase @@ -1,8 +0,0 @@ -ST_AsX3D - 2D polygon -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('POLYGON((10 10, 11 10, 11 11, 10 11, 10 10))')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('POLYGON((10 10, 11 10, 11 11, 10 11, 10 10))')) -10 10 11 10 11 11 10 11 ' /> -# 10 10 11 10 11 11 10 11 ' />| DELETED test/sql_stmt_rtgeom_tests/st_asx3d9.testcase Index: test/sql_stmt_rtgeom_tests/st_asx3d9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_asx3d9.testcase +++ test/sql_stmt_rtgeom_tests/st_asx3d9.testcase @@ -1,8 +0,0 @@ -ST_AsX3D - 3D polygon -:memory: #use in-memory database -SELECT ST_AsX3D(GeomFromText('POLYGONZ((10 10 101, 11 10 102, 11 11 103, 10 11 104, 10 10 101))')); -1 # rows (not including the header row) -1 # columns -ST_AsX3D(GeomFromText('POLYGONZ((10 10 101, 11 10 102, 11 11 103, 10 11 104, 10 10 101))')) - -# DELETED test/sql_stmt_rtgeom_tests/st_azimuth1.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth1.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth1.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - WGS84 points -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10.5, 10, 4326), MakePoint(11.5, 11, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10.5, 10, 4326), MakePoint(11.5, 11, 4326)) -0.778630:6 DELETED test/sql_stmt_rtgeom_tests/st_azimuth10.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth10.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth10.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - text PointA (error) -:memory: #use in-memory database -SELECT ST_Azimuth('alpha', MakePoint(10, 10, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth('alpha', MakePoint(10, 10, 4326)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth11.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth11.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth11.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth11.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - text PointB (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), 'beta'); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), 'beta') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth12.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth12.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth12.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth12.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - NULL PointA (error) -:memory: #use in-memory database -SELECT ST_Azimuth(NULL, MakePoint(10, 10, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(NULL, MakePoint(10, 10, 4326)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth13.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth13.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth13.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth13.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - NULL PointB (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), NULL); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth14.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth14.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth14.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth14.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - MultiPoint (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('MULTIPOINT(0 0, 1 1)')); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('MULTIPOINT(0 0, 1 1)')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth15.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth15.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth15.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth15.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - Linestring (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('LINESTRING(0 0, 1 1)')); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('LINESTRING(0 0, 1 1)')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth16.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth16.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth16.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth16.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - Polygon (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth17.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth17.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth17.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth17.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - Collection (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 0, 1 1), POINT(2 2))')); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 0, 1 1), POINT(2 2))')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth2.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth2.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth2.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - -1 SRID points -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(123456, 12345678.5, -1), MakePoint(123457, 12345679.5, -1)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(123456, 12345678.5, -1), MakePoint(123457, 12345679.5, -1)); -0.785398:6 DELETED test/sql_stmt_rtgeom_tests/st_azimuth3.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth3.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth3.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - same Point -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10.5, 10.5, 4326), MakePoint(10.5, 10.5, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10.5, 10.5, 4326), MakePoint(10.5, 10.5, 4326)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth4.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth4.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth4.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - bad blob PointA (error) -:memory: #use in-memory database -SELECT ST_Azimuth(zeroblob(4), MakePoint(10, 10, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(zeroblob(4), MakePoint(10, 10, 4326)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth5.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth5.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth5.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - bad blob PointB (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth6.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth6.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth6.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - integer PointA (error) -:memory: #use in-memory database -SELECT ST_Azimuth(1, MakePoint(10, 10, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(1, MakePoint(10, 10, 4326)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth7.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth7.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth7.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - integer PointB (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), 1); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), 1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth8.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth8.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth8.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - double PointA (error) -:memory: #use in-memory database -SELECT ST_Azimuth(1.1, MakePoint(10, 10, 4326)); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(1.1, MakePoint(10, 10, 4326)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_azimuth9.testcase Index: test/sql_stmt_rtgeom_tests/st_azimuth9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_azimuth9.testcase +++ test/sql_stmt_rtgeom_tests/st_azimuth9.testcase @@ -1,7 +0,0 @@ -ST_Azimuth - double PointB (error) -:memory: #use in-memory database -SELECT ST_Azimuth(MakePoint(10, 10, 4326), 1.1); -1 # rows (not including the header row) -1 # columns -ST_Azimuth(MakePoint(10, 10, 4326), 1.1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_geohash1.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash1.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash1.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - NULL geometry -:memory: #use in-memory database -SELECT ST_GeoHash(NULL); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_geohash10.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash10.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash10.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - WGS84 Point, precision 6 -:memory: #use in-memory database -SELECT ST_GeoHash(MakePoint(10, -20, 4326), 6); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(MakePoint(10, -20, 4326), 6) -khrn5x DELETED test/sql_stmt_rtgeom_tests/st_geohash2.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash2.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash2.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - text geometry -:memory: #use in-memory database -SELECT ST_GeoHash('alpha'); -1 # rows (not including the header row) -1 # columns -ST_GeoHash('alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_geohash3.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash3.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash3.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - int geometry -:memory: #use in-memory database -SELECT ST_GeoHash(1); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_geohash4.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash4.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash4.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - not Long/Lat geometry -:memory: #use in-memory database -SELECT ST_GeoHash(MakePoint(123456, 654321)); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(MakePoint(123456, 654321)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_geohash5.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash5.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash5.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - zeroblob geometry -:memory: #use in-memory database -SELECT ST_GeoHash(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_geohash6.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash6.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash6.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - WGS84 Point -:memory: #use in-memory database -SELECT ST_GeoHash(MakePoint(10, -20, 4326)); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(MakePoint(10, -20, 4326)) -khrn5x1g8cu2yhrn5x1g DELETED test/sql_stmt_rtgeom_tests/st_geohash7.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash7.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash7.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - WGS84 Linestring -:memory: #use in-memory database -SELECT ST_GeoHash(GeomFromText('LINESTRING(10 -20, 10.0001 -19.9899, 10.0002 -19.9899)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(GeomFromText('LINESTRING(10 -20, 10.0001 -19.9899, 10.0002 -19.9899)', 4326)) -khrn DELETED test/sql_stmt_rtgeom_tests/st_geohash8.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash8.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash8.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - WGS84 Polygon -:memory: #use in-memory database -SELECT ST_GeoHash(GeomFromText('POLYGON((7 10, 7.0001 10, 7.0001 10.0001, 7 10.0001, 7 10))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(GeomFromText('POLYGON((7 10, 7.0001 10, 7.0001 10.0001, 7 10.0001, 7 10))', 4326)) -s1ubzk3 DELETED test/sql_stmt_rtgeom_tests/st_geohash9.testcase Index: test/sql_stmt_rtgeom_tests/st_geohash9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_geohash9.testcase +++ test/sql_stmt_rtgeom_tests/st_geohash9.testcase @@ -1,7 +0,0 @@ -ST_GeoHash - WGS84 Point, invalid precision -:memory: #use in-memory database -SELECT ST_GeoHash(MakePoint(10, -20, 4326), 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_GeoHash(MakePoint(10, -20, 4326), 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevalid1.testcase Index: test/sql_stmt_rtgeom_tests/st_makevalid1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevalid1.testcase +++ test/sql_stmt_rtgeom_tests/st_makevalid1.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - Invalid BLOB (error) -:memory: #use in-memory database -SELECT ST_MakeValid(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_MakeValid(zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevalid2.testcase Index: test/sql_stmt_rtgeom_tests/st_makevalid2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevalid2.testcase +++ test/sql_stmt_rtgeom_tests/st_makevalid2.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - NULL BLOB (error) -:memory: #use in-memory database -SELECT ST_MakeValid(NULL); -1 # rows (not including the header row) -1 # columns -ST_MakeValid(NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevalid3.testcase Index: test/sql_stmt_rtgeom_tests/st_makevalid3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevalid3.testcase +++ test/sql_stmt_rtgeom_tests/st_makevalid3.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - text (error) -:memory: #use in-memory database -SELECT ST_MakeValid('alpha'); -1 # rows (not including the header row) -1 # columns -ST_MakeValid('alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevalid4.testcase Index: test/sql_stmt_rtgeom_tests/st_makevalid4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevalid4.testcase +++ test/sql_stmt_rtgeom_tests/st_makevalid4.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - already valid MultiPolygon -:memory: #use in-memory database -SELECT ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))); -1 # rows (not including the header row) -1 # columns -ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))) -1 DELETED test/sql_stmt_rtgeom_tests/st_makevalid5.testcase Index: test/sql_stmt_rtgeom_tests/st_makevalid5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevalid5.testcase +++ test/sql_stmt_rtgeom_tests/st_makevalid5.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - already valid Polygon -:memory: #use in-memory database -SELECT ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'))); -1 # rows (not including the header row) -1 # columns -ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'))) -1 DELETED test/sql_stmt_rtgeom_tests/st_makevalid6.testcase Index: test/sql_stmt_rtgeom_tests/st_makevalid6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevalid6.testcase +++ test/sql_stmt_rtgeom_tests/st_makevalid6.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - invalid MultiPolygon -:memory: #use in-memory database -SELECT ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 0 1, 1 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))); -1 # rows (not including the header row) -1 # columns -ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 0 1, 1 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))) -1 DELETED test/sql_stmt_rtgeom_tests/st_makevalid7.testcase Index: test/sql_stmt_rtgeom_tests/st_makevalid7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevalid7.testcase +++ test/sql_stmt_rtgeom_tests/st_makevalid7.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - invalid Polygon -:memory: #use in-memory database -SELECT ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 0 1, 1 1, 0 0))'))); -1 # rows (not including the header row) -1 # columns -ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 0 1, 1 1, 0 0))'))) -1 DELETED test/sql_stmt_rtgeom_tests/st_makevalid8.testcase Index: test/sql_stmt_rtgeom_tests/st_makevalid8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevalid8.testcase +++ test/sql_stmt_rtgeom_tests/st_makevalid8.testcase @@ -1,11 +0,0 @@ -ST_MakeValid - invalid MultiPolygon [discarded items] -:memory: #use in-memory database -SELECT IsValid(v.v), NumGeometries(v.v), GeometryType(v.v) FROM (SELECT MakeValid(g.g) AS v FROM (SELECT GeomFromText ('MULTIPOLYGON(((0 0, 1 0, 1 2, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 2.5, 2.5 2.5, 3 2.5, 3 3, 2 3, 2 2)))') AS g) AS g) AS v; -1 # rows (not including the header row) -3 # columns -IsValid(v.v) -NumGeometries(v.v) -GeometryType(v.v) -1 -2 -MULTIPOLYGON DELETED test/sql_stmt_rtgeom_tests/st_makevaliddiscarded1.testcase Index: test/sql_stmt_rtgeom_tests/st_makevaliddiscarded1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevaliddiscarded1.testcase +++ test/sql_stmt_rtgeom_tests/st_makevaliddiscarded1.testcase @@ -1,7 +0,0 @@ -ST_MakeValidDiscarded - Invalid BLOB (error) -:memory: #use in-memory database -SELECT ST_MakeValidDiscarded(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_MakeValidDiscarded(zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevaliddiscarded2.testcase Index: test/sql_stmt_rtgeom_tests/st_makevaliddiscarded2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevaliddiscarded2.testcase +++ test/sql_stmt_rtgeom_tests/st_makevaliddiscarded2.testcase @@ -1,7 +0,0 @@ -ST_MakeValidDiscarded - NULL BLOB (error) -:memory: #use in-memory database -SELECT ST_MakeValidDiscarded(NULL); -1 # rows (not including the header row) -1 # columns -ST_MakeValidDiscarded(NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevaliddiscarded3.testcase Index: test/sql_stmt_rtgeom_tests/st_makevaliddiscarded3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevaliddiscarded3.testcase +++ test/sql_stmt_rtgeom_tests/st_makevaliddiscarded3.testcase @@ -1,7 +0,0 @@ -ST_MakeValidDiscarded - text (error) -:memory: #use in-memory database -SELECT ST_MakeValidDiscarded('alpha'); -1 # rows (not including the header row) -1 # columns -ST_MakeValidDiscarded('alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevaliddiscarded4.testcase Index: test/sql_stmt_rtgeom_tests/st_makevaliddiscarded4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevaliddiscarded4.testcase +++ test/sql_stmt_rtgeom_tests/st_makevaliddiscarded4.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - already valid MultiPolygon -:memory: #use in-memory database -SELECT ST_MakeValidDiscarded(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))')); -1 # rows (not including the header row) -1 # columns -ST_MakeValidDiscarded(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevaliddiscarded5.testcase Index: test/sql_stmt_rtgeom_tests/st_makevaliddiscarded5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevaliddiscarded5.testcase +++ test/sql_stmt_rtgeom_tests/st_makevaliddiscarded5.testcase @@ -1,7 +0,0 @@ -ST_MakeValidDiscarded - already valid Polygon -:memory: #use in-memory database -SELECT ST_MakeValidDiscarded(GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')); -1 # rows (not including the header row) -1 # columns -ST_MakeValidDiscarded(GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_makevaliddiscarded6.testcase Index: test/sql_stmt_rtgeom_tests/st_makevaliddiscarded6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevaliddiscarded6.testcase +++ test/sql_stmt_rtgeom_tests/st_makevaliddiscarded6.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - invalid MultiPolygon -:memory: #use in-memory database -SELECT ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 0 1, 1 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))); -1 # rows (not including the header row) -1 # columns -ST_IsValid(ST_MakeValid(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 0 1, 1 1, 0 0)), ((2 2, 3 2, 3 3, 2 3, 2 2)))'))) -1 DELETED test/sql_stmt_rtgeom_tests/st_makevaliddiscarded7.testcase Index: test/sql_stmt_rtgeom_tests/st_makevaliddiscarded7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevaliddiscarded7.testcase +++ test/sql_stmt_rtgeom_tests/st_makevaliddiscarded7.testcase @@ -1,7 +0,0 @@ -ST_MakeValid - invalid Polygon -:memory: #use in-memory database -SELECT ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 0 1, 1 1, 0 0))'))); -1 # rows (not including the header row) -1 # columns -ST_IsValid(ST_MakeValid(GeomFromText('POLYGON((0 0, 1 0, 0 1, 1 1, 0 0))'))) -1 DELETED test/sql_stmt_rtgeom_tests/st_makevaliddiscarded8.testcase Index: test/sql_stmt_rtgeom_tests/st_makevaliddiscarded8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_makevaliddiscarded8.testcase +++ test/sql_stmt_rtgeom_tests/st_makevaliddiscarded8.testcase @@ -1,11 +0,0 @@ -ST_MakeValidDiscarded - invalid MultiPolygon [discarded items] -:memory: #use in-memory database -SELECT IsValid(v.v), NumGeometries(v.v), GeometryType(v.v) FROM (SELECT MakeValidDiscarded(g.g) AS v FROM (SELECT GeomFromText ('MULTIPOLYGON(((0 0, 1 0, 1 2, 1 1, 0 1, 0 0)), ((2 2, 3 2, 3 2.5, 2.5 2.5, 3 2.5, 3 3, 2 3, 2 2)))') AS g) AS g) AS v; -1 # rows (not including the header row) -3 # columns -IsValid(v.v) -NumGeometries(v.v) -GeometryType(v.v) -1 -2 -MULTILINESTRING DELETED test/sql_stmt_rtgeom_tests/st_node1.testcase Index: test/sql_stmt_rtgeom_tests/st_node1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node1.testcase +++ test/sql_stmt_rtgeom_tests/st_node1.testcase @@ -1,7 +0,0 @@ -ST_Node - Invalid BLOB input (error) -:memory: #use in-memory database -SELECT ST_Node(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_Node(zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_node2.testcase Index: test/sql_stmt_rtgeom_tests/st_node2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node2.testcase +++ test/sql_stmt_rtgeom_tests/st_node2.testcase @@ -1,7 +0,0 @@ -ST_Node - Invalid INT input (error) -:memory: #use in-memory database -SELECT ST_Node(1); -1 # rows (not including the header row) -1 # columns -ST_Node(1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_node3.testcase Index: test/sql_stmt_rtgeom_tests/st_node3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node3.testcase +++ test/sql_stmt_rtgeom_tests/st_node3.testcase @@ -1,7 +0,0 @@ -ST_Node - Invalid DOUBLE input (error) -:memory: #use in-memory database -SELECT ST_Node(1.1); -1 # rows (not including the header row) -1 # columns -ST_Node(1.1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_node4.testcase Index: test/sql_stmt_rtgeom_tests/st_node4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node4.testcase +++ test/sql_stmt_rtgeom_tests/st_node4.testcase @@ -1,7 +0,0 @@ -ST_Node - Invalid TEXT input (error) -:memory: #use in-memory database -SELECT ST_Node('alpha'); -1 # rows (not including the header row) -1 # columns -ST_Node('alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_node5.testcase Index: test/sql_stmt_rtgeom_tests/st_node5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node5.testcase +++ test/sql_stmt_rtgeom_tests/st_node5.testcase @@ -1,7 +0,0 @@ -ST_Node - Valid 2D input -:memory: #use in-memory database -SELECT ST_AsText(ST_Node(ST_GeomFromText('LINESTRING(0 0, 10 10, 0 10, 10 0)'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Node(ST_GeomFromText('LINESTRING(0 0, 10 10, 0 10, 10 0)'))) -MULTILINESTRING((0 0, 5 5), (5 5, 10 10, 0 10, 5 5), (5 5, 10 0)) DELETED test/sql_stmt_rtgeom_tests/st_node6.testcase Index: test/sql_stmt_rtgeom_tests/st_node6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node6.testcase +++ test/sql_stmt_rtgeom_tests/st_node6.testcase @@ -1,7 +0,0 @@ -ST_Node - Valid 3D input -:memory: #use in-memory database -SELECT ST_AsText(ST_Node(ST_GeomFromText('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Node(ST_GeomFromText('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))) -MULTILINESTRING Z((0 0 0, 5 5 4.5), (5 5 4.5, 10 10 10, 0 10 5, 5 5 4.5), (5 5 4.5, 10 0 3)) DELETED test/sql_stmt_rtgeom_tests/st_node7.testcase Index: test/sql_stmt_rtgeom_tests/st_node7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node7.testcase +++ test/sql_stmt_rtgeom_tests/st_node7.testcase @@ -1,7 +0,0 @@ -ST_Node - Valid MultiLinestring 2D input -:memory: #use in-memory database -SELECT ST_AsText(ST_Node(ST_GeomFromText('MULTILINESTRING((0 0, 10 10, 0 10, 10 0),(10 8, 10 12))'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Node(ST_GeomFromText('MULTILINESTRING((0 0, 10 10, 0 10, 10 0),(10 8, 10 12))'))) -MULTILINESTRING((0 0, 5 5), (5 5, 10 10), (10 10, 0 10, 5 5), (5 5, 10 0), (10 8, 10 10), (10 10, 10 12)) DELETED test/sql_stmt_rtgeom_tests/st_node8.testcase Index: test/sql_stmt_rtgeom_tests/st_node8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node8.testcase +++ test/sql_stmt_rtgeom_tests/st_node8.testcase @@ -1,7 +0,0 @@ -ST_Node - Valid MultiLinestring 3D input -:memory: #use in-memory database -SELECT ST_AsText(ST_Node(ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 10 10 10, 0 10 5, 10 0 3),(10 8 4, 10 12 5))'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Node(ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 10 10 10, 0 10 5, 10 0 3),(10 8 4, 10 12 5))'))) -MULTILINESTRING Z((0 0 0, 5 5 4.5), (5 5 4.5, 10 10 10), (10 10 10, 0 10 5, 5 5 4.5), (5 5 4.5, 10 0 3), (10 8 4, 10 10 10), (10 10 10, 10 12 5)) DELETED test/sql_stmt_rtgeom_tests/st_node9.testcase Index: test/sql_stmt_rtgeom_tests/st_node9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_node9.testcase +++ test/sql_stmt_rtgeom_tests/st_node9.testcase @@ -1,7 +0,0 @@ -ST_Node - Invalid MultiPoint 3D input -:memory: #use in-memory database -SELECT ST_AsText(ST_Node(ST_GeomFromText('MULTIPOINTZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Node(ST_GeomFromText('MULTIPOINTZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project1.testcase Index: test/sql_stmt_rtgeom_tests/st_project1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project1.testcase +++ test/sql_stmt_rtgeom_tests/st_project1.testcase @@ -1,7 +0,0 @@ -ST_Project - NULL start Point -:memory: #use in-memory database -SELECT ST_Project(NULL, 100000, Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(NULL, 100000, Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project10.testcase Index: test/sql_stmt_rtgeom_tests/st_project10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project10.testcase +++ test/sql_stmt_rtgeom_tests/st_project10.testcase @@ -1,7 +0,0 @@ -ST_Project - BLOB distance -:memory: #use in-memory database -SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), zeroblob(4), Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(GeomFromText('POINT(0 0)', 4326), zeroblob(4), Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project11.testcase Index: test/sql_stmt_rtgeom_tests/st_project11.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project11.testcase +++ test/sql_stmt_rtgeom_tests/st_project11.testcase @@ -1,7 +0,0 @@ -ST_Project - NULL bearing -:memory: #use in-memory database -SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, NULL); -1 # rows (not including the header row) -1 # columns -ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project12.testcase Index: test/sql_stmt_rtgeom_tests/st_project12.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project12.testcase +++ test/sql_stmt_rtgeom_tests/st_project12.testcase @@ -1,7 +0,0 @@ -ST_Project - TEXT bearing -:memory: #use in-memory database -SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project13.testcase Index: test/sql_stmt_rtgeom_tests/st_project13.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project13.testcase +++ test/sql_stmt_rtgeom_tests/st_project13.testcase @@ -1,7 +0,0 @@ -ST_Project - BLOB bearing -:memory: #use in-memory database -SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_Project(GeomFromText('POINT(0 0)', 4326), 100000, zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project14.testcase Index: test/sql_stmt_rtgeom_tests/st_project14.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project14.testcase +++ test/sql_stmt_rtgeom_tests/st_project14.testcase @@ -1,7 +0,0 @@ -ST_Project - valid -:memory: #use in-memory database -SELECT AsText(ST_Project(GeomFromText('POINT(0 0)'), 100000, Radians(45))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Project(GeomFromText('POINT(0 0)'), 100000, Radians(45))) -POINT(0.635231 0.639472) DELETED test/sql_stmt_rtgeom_tests/st_project2.testcase Index: test/sql_stmt_rtgeom_tests/st_project2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project2.testcase +++ test/sql_stmt_rtgeom_tests/st_project2.testcase @@ -1,7 +0,0 @@ -ST_Project - INTEGER start Point -:memory: #use in-memory database -SELECT ST_Project(1, 100000, Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(1, 100000, Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project3.testcase Index: test/sql_stmt_rtgeom_tests/st_project3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project3.testcase +++ test/sql_stmt_rtgeom_tests/st_project3.testcase @@ -1,7 +0,0 @@ -ST_Project - DOUBLE start Point -:memory: #use in-memory database -SELECT ST_Project(1.1, 100000, Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(1.1, 100000, Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project4.testcase Index: test/sql_stmt_rtgeom_tests/st_project4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project4.testcase +++ test/sql_stmt_rtgeom_tests/st_project4.testcase @@ -1,7 +0,0 @@ -ST_Project - TEXT start Point -:memory: #use in-memory database -SELECT ST_Project('alpha', 100000, Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project('alpha', 100000, Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project5.testcase Index: test/sql_stmt_rtgeom_tests/st_project5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project5.testcase +++ test/sql_stmt_rtgeom_tests/st_project5.testcase @@ -1,7 +0,0 @@ -ST_Project - invalid BLOB start Point -:memory: #use in-memory database -SELECT ST_Project(zeroblob(4), 100000, Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(zeroblob(4), 100000, Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project6.testcase Index: test/sql_stmt_rtgeom_tests/st_project6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project6.testcase +++ test/sql_stmt_rtgeom_tests/st_project6.testcase @@ -1,7 +0,0 @@ -ST_Project - start Point (not long/lat) -:memory: #use in-memory database -SELECT ST_Project(GeomFromText('POINT(0 0)', 32632), 100000, Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(GeomFromText('POINT(0 0)', 32632), 100000, Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project7.testcase Index: test/sql_stmt_rtgeom_tests/st_project7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project7.testcase +++ test/sql_stmt_rtgeom_tests/st_project7.testcase @@ -1,7 +0,0 @@ -ST_Project - start Point (actually: Linestring) -:memory: #use in-memory database -SELECT ST_Project(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 100000, Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 100000, Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project8.testcase Index: test/sql_stmt_rtgeom_tests/st_project8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project8.testcase +++ test/sql_stmt_rtgeom_tests/st_project8.testcase @@ -1,7 +0,0 @@ -ST_Project - NULL distance -:memory: #use in-memory database -SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), NULL, Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(GeomFromText('POINT(0 0)', 4326), NULL, Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_project9.testcase Index: test/sql_stmt_rtgeom_tests/st_project9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_project9.testcase +++ test/sql_stmt_rtgeom_tests/st_project9.testcase @@ -1,7 +0,0 @@ -ST_Project - TEXT distance -:memory: #use in-memory database -SELECT ST_Project(GeomFromText('POINT(0 0)', 4326), 'alpha', Radians(45)); -1 # rows (not including the header row) -1 # columns -ST_Project(GeomFromText('POINT(0 0)', 4326), 'alpha', Radians(45)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_segmentize1.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize1.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize1.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 1 2), POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 1 2), POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)) -GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 1 1.5, 1 2), POLYGON((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4))) DELETED test/sql_stmt_rtgeom_tests/st_segmentize10.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize10.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize10.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - NULL BLOB (error) -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(NULL, 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(NULL, 0.5)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_segmentize11.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize11.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize11.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize11.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection Z -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(0 0 10), LINESTRINGZ(1 1 10, 1 2 11), POLYGONZ((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10)))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(0 0 10), LINESTRINGZ(1 1 10, 1 2 11), POLYGONZ((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10)))'), 0.5)) -GEOMETRYCOLLECTION Z(POINT Z(0 0 10), LINESTRING Z(1 1 10, 1 1.5 10.5, 1 2 11), POLYGON Z((3 3 10, 3.5 3 10.166667, 4 3 10.333333, 4.5 3 10.5, 5 3 10.666667, 5.5 3 10.833333, 6 3 11, 6 3.5 11.166667, 6 4 11.333333, 6 4.5 11.5, 6 5 11.666667, 6 5.5 11.833333, 6 6 12, 5.5 6 12.166667, 5 6 12.333333, 4.5 6 12.5, 4 6 12.666667, 3.5 6 12.833333, 3 6 13, 3 5.5 12.5, 3 5 12, 3 4.5 11.5, 3 4 11, 3 3.5 10.5, 3 3 10), (4 4 10, 4.5 4 10.5, 5 4 11, 5 4.5 11.5, 5 5 12, 5 4.5 12.5, 5 4 13, 4.5 4 11.5, 4 4 10))) DELETED test/sql_stmt_rtgeom_tests/st_segmentize12.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize12.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize12.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize12.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection M -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(0 0 10), LINESTRINGM(1 1 10, 1 2 11), POLYGONM((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10)))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(0 0 10), LINESTRINGM(1 1 10, 1 2 11), POLYGONM((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10)))'), 0.5)) -GEOMETRYCOLLECTION M(POINT M(0 0 10), LINESTRING M(1 1 10, 1 1.5 10.5, 1 2 11), POLYGON M((3 3 10, 3.5 3 10.166667, 4 3 10.333333, 4.5 3 10.5, 5 3 10.666667, 5.5 3 10.833333, 6 3 11, 6 3.5 11.166667, 6 4 11.333333, 6 4.5 11.5, 6 5 11.666667, 6 5.5 11.833333, 6 6 12, 5.5 6 12.166667, 5 6 12.333333, 4.5 6 12.5, 4 6 12.666667, 3.5 6 12.833333, 3 6 13, 3 5.5 12.5, 3 5 12, 3 4.5 11.5, 3 4 11, 3 3.5 10.5, 3 3 10), (4 4 10, 4.5 4 10.5, 5 4 11, 5 4.5 11.5, 5 5 12, 5 4.5 12.5, 5 4 13, 4.5 4 11.5, 4 4 10))) DELETED test/sql_stmt_rtgeom_tests/st_segmentize13.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize13.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize13.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize13.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection ZM -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(0 0 10 11), LINESTRINGZM(1 1 10 11, 1 2 11 13), POLYGONZM((3 3 10 11, 6 3 11 12, 6 6 12 13, 3 6 13 14, 3 3 10 11), (4 4 10 11, 5 4 11 12, 5 5 12 13, 5 4 13 14, 4 4 10 11)))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(0 0 10 11), LINESTRINGZM(1 1 10 11, 1 2 11 13), POLYGONZM((3 3 10 11, 6 3 11 12, 6 6 12 13, 3 6 13 14, 3 3 10 11), (4 4 10 11, 5 4 11 12, 5 5 12 13, 5 4 13 14, 4 4 10 11)))'), 0.5)) -GEOMETRYCOLLECTION ZM(POINT ZM(0 0 10 11), LINESTRING ZM(1 1 10 11, 1 1.5 10.5 12, 1 2 11 13), POLYGON ZM((3 3 10 11, 3.5 3 10.166667 11.166667, 4 3 10.333333 11.333333, 4.5 3 10.5 11.5, 5 3 10.666667 11.666667, 5.5 3 10.833333 11.833333, 6 3 11 12, 6 3.5 11.166667 12.166667, 6 4 11.333333 12.333333, 6 4.5 11.5 12.5, 6 5 11.666667 12.666667, 6 5.5 11.833333 12.833333, 6 6 12 13, 5.5 6 12.166667 13.166667, 5 6 12.333333 13.333333, 4.5 6 12.5 13.5, 4 6 12.666667 13.666667, 3.5 6 12.833333 13.833333, 3 6 13 14, 3 5.5 12.5 13.5, 3 5 12 13, 3 4.5 11.5 12.5, 3 4 11 12, 3 3.5 10.5 11.5, 3 3 10 11), (4 4 10 11, 4.5 4 10.5 11.5, 5 4 11 12, 5 4.5 11.5 12.5, 5 5 12 13, 5 4.5 12.5 13.5, 5 4 13 14, 4.5 4 11.5 12.5, 4 4 10 11))) DELETED test/sql_stmt_rtgeom_tests/st_segmentize14.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize14.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize14.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize14.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Point -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('POINT(0 0)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('POINT(0 0)'), 0.5)) -POINT(0 0) DELETED test/sql_stmt_rtgeom_tests/st_segmentize15.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize15.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize15.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize15.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Point Z -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('POINTZ(0 0 10)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('POINTZ(0 0 10)'), 0.5)) -POINT Z(0 0 10) DELETED test/sql_stmt_rtgeom_tests/st_segmentize16.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize16.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize16.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize16.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Point M -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('POINTM(0 0 10)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('POINTM(0 0 10)'), 0.5)) -POINT M(0 0 10) DELETED test/sql_stmt_rtgeom_tests/st_segmentize17.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize17.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize17.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize17.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Point ZM -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('POINTZM(0 0 10 11)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('POINTZM(0 0 10 11)'), 0.5)) -POINT ZM(0 0 10 11) DELETED test/sql_stmt_rtgeom_tests/st_segmentize18.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize18.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize18.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize18.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Linestring -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 1 2)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 1 2)'), 0.5)) -LINESTRING(1 1, 1 1.5, 1 2) DELETED test/sql_stmt_rtgeom_tests/st_segmentize19.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize19.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize19.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize19.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Linestring Z -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGZ(1 1 10, 1 2 11)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGZ(1 1 10, 1 2 11)'), 0.5)) -LINESTRING Z(1 1 10, 1 1.5 10.5, 1 2 11) DELETED test/sql_stmt_rtgeom_tests/st_segmentize2.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize2.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize2.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - MultiPoint -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('MULTIPOINT(0 1, 2 3, 4 5)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('MULTIPOINT(0 1, 2 3, 4 5)'), 0.5)) -MULTIPOINT(0 1, 2 3, 4 5) DELETED test/sql_stmt_rtgeom_tests/st_segmentize20.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize20.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize20.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize20.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Linestring M -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGM(1 1 10, 1 2 11)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGM(1 1 10, 1 2 11)'), 0.5)) -LINESTRING M(1 1 10, 1 1.5 10.5, 1 2 11) DELETED test/sql_stmt_rtgeom_tests/st_segmentize21.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize21.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize21.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize21.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Linestring ZM -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGZM(1 1 10 11, 1 2 11 13)'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('LINESTRINGZM(1 1 10 11, 1 2 11 13)'), 0.5)) -LINESTRING ZM(1 1 10 11, 1 1.5 10.5 12, 1 2 11 13) DELETED test/sql_stmt_rtgeom_tests/st_segmentize22.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize22.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize22.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize22.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Polygon -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4))'), 0.5)); -1 # rows (not including the header row) -1 # column -ST_AsText(ST_Segmentize(GeomFromText('POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4))'), 0.5)) -POLYGON((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize23.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize23.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize23.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize23.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Polygon Z -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('POLYGONZ((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10))'), 0.5)); -1 # rows (not including the header row) -1 # column -ST_AsText(ST_Segmentize(GeomFromText('POLYGONZ((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10))'), 0.5)) -POLYGON Z((3 3 10, 3.5 3 10.166667, 4 3 10.333333, 4.5 3 10.5, 5 3 10.666667, 5.5 3 10.833333, 6 3 11, 6 3.5 11.166667, 6 4 11.333333, 6 4.5 11.5, 6 5 11.666667, 6 5.5 11.833333, 6 6 12, 5.5 6 12.166667, 5 6 12.333333, 4.5 6 12.5, 4 6 12.666667, 3.5 6 12.833333, 3 6 13, 3 5.5 12.5, 3 5 12, 3 4.5 11.5, 3 4 11, 3 3.5 10.5, 3 3 10), (4 4 10, 4.5 4 10.5, 5 4 11, 5 4.5 11.5, 5 5 12, 5 4.5 12.5, 5 4 13, 4.5 4 11.5, 4 4 10)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize24.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize24.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize24.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize24.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Polygon M -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('POLYGONM((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10))'), 0.5)); -1 # rows (not including the header row) -1 # column -ST_AsText(ST_Segmentize(GeomFromText('POLYGONM((3 3 10, 6 3 11, 6 6 12, 3 6 13, 3 3 10), (4 4 10, 5 4 11, 5 5 12, 5 4 13, 4 4 10))'), 0.5)) -POLYGON M((3 3 10, 3.5 3 10.166667, 4 3 10.333333, 4.5 3 10.5, 5 3 10.666667, 5.5 3 10.833333, 6 3 11, 6 3.5 11.166667, 6 4 11.333333, 6 4.5 11.5, 6 5 11.666667, 6 5.5 11.833333, 6 6 12, 5.5 6 12.166667, 5 6 12.333333, 4.5 6 12.5, 4 6 12.666667, 3.5 6 12.833333, 3 6 13, 3 5.5 12.5, 3 5 12, 3 4.5 11.5, 3 4 11, 3 3.5 10.5, 3 3 10), (4 4 10, 4.5 4 10.5, 5 4 11, 5 4.5 11.5, 5 5 12, 5 4.5 12.5, 5 4 13, 4.5 4 11.5, 4 4 10)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize25.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize25.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize25.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize25.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Polygon ZM -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('POLYGONZM((3 3 10 11, 6 3 11 12, 6 6 12 13, 3 6 13 14, 3 3 10 11), (4 4 10 11, 5 4 11 12, 5 5 12 13, 5 4 13 14, 4 4 10 11))'), 0.5)); -1 # rows (not including the header row) -1 # column -ST_AsText(ST_Segmentize(GeomFromText('POLYGONZM((3 3 10 11, 6 3 11 12, 6 6 12 13, 3 6 13 14, 3 3 10 11), (4 4 10 11, 5 4 11 12, 5 5 12 13, 5 4 13 14, 4 4 10 11))'), 0.5)) -POLYGON ZM((3 3 10 11, 3.5 3 10.166667 11.166667, 4 3 10.333333 11.333333, 4.5 3 10.5 11.5, 5 3 10.666667 11.666667, 5.5 3 10.833333 11.833333, 6 3 11 12, 6 3.5 11.166667 12.166667, 6 4 11.333333 12.333333, 6 4.5 11.5 12.5, 6 5 11.666667 12.666667, 6 5.5 11.833333 12.833333, 6 6 12 13, 5.5 6 12.166667 13.166667, 5 6 12.333333 13.333333, 4.5 6 12.5 13.5, 4 6 12.666667 13.666667, 3.5 6 12.833333 13.833333, 3 6 13 14, 3 5.5 12.5 13.5, 3 5 12 13, 3 4.5 11.5 12.5, 3 4 11 12, 3 3.5 10.5 11.5, 3 3 10 11), (4 4 10 11, 4.5 4 10.5 11.5, 5 4 11 12, 5 4.5 11.5 12.5, 5 5 12 13, 5 4.5 12.5 13.5, 5 4 13 14, 4.5 4 11.5 12.5, 4 4 10 11)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize26.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize26.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize26.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize26.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection - single Point -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0))'), 0.5)) -GEOMETRYCOLLECTION(POINT(0 0)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize27.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize27.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize27.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize27.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection - single Linestring -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1, 1 2))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1, 1 2))'), 0.5)) -GEOMETRYCOLLECTION(LINESTRING(1 1, 1 1.5, 1 2)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize28.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize28.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize28.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize28.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection - single Polygon -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)) -GEOMETRYCOLLECTION(POLYGON((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4))) DELETED test/sql_stmt_rtgeom_tests/st_segmentize29.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize29.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize29.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize29.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection - three Points -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), POINT(1 1), POINT(2 2))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), POINT(1 1), POINT(2 2))'), 0.5)) -GEOMETRYCOLLECTION(POINT(0 0), POINT(1 1), POINT(2 2)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize3.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize3.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize3.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Multilinestring -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('MULTILINESTRING((1 1, 1 2), (3 3, 4 3))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('MULTILINESTRING((1 1, 1 2), (3 3, 4 3))'), 0.5)) -MULTILINESTRING((1 1, 1 1.5, 1 2), (3 3, 3.5 3, 4 3)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize30.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize30.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize30.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize30.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection - two Linestrings -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1, 1 2), LINESTRING(3 3, 4 3))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(1 1, 1 2), LINESTRING(3 3, 4 3))'), 0.5)) -GEOMETRYCOLLECTION(LINESTRING(1 1, 1 1.5, 1 2), LINESTRING(3 3, 3.5 3, 4 3)) DELETED test/sql_stmt_rtgeom_tests/st_segmentize31.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize31.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize31.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize31.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Collection - two Polygons -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)), POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('GEOMETRYCOLLECTION(POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)), POLYGON((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)) -GEOMETRYCOLLECTION(POLYGON((0 0, 0.5 0, 1 0, 1 0.5, 1 1, 0.5 1, 0 1, 0 0.5, 0 0)), POLYGON((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4))) DELETED test/sql_stmt_rtgeom_tests/st_segmentize4.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize4.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize4.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Multipolygon -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('MULTIPOLYGON(((0 0, 1 0, 1 1, 0 1, 0 0)), ((3 3, 6 3, 6 6, 3 6, 3 3), (4 4, 5 4, 5 5, 5 4, 4 4)))'), 0.5)) -MULTIPOLYGON(((0 0, 0.5 0, 1 0, 1 0.5, 1 1, 0.5 1, 0 1, 0 0.5, 0 0)), ((3 3, 3.5 3, 4 3, 4.5 3, 5 3, 5.5 3, 6 3, 6 3.5, 6 4, 6 4.5, 6 5, 6 5.5, 6 6, 5.5 6, 5 6, 4.5 6, 4 6, 3.5 6, 3 6, 3 5.5, 3 5, 3 4.5, 3 4, 3 3.5, 3 3), (4 4, 4.5 4, 5 4, 5 4.5, 5 5, 5 4.5, 5 4, 4.5 4, 4 4))) DELETED test/sql_stmt_rtgeom_tests/st_segmentize5.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize5.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize5.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - Invalid BLOB (error) -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(zeroblob(4), 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(zeroblob(4), 0.5)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_segmentize6.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize6.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize6.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - NULL BLOB (error) -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(NULL, 0.5)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(NULL, 0.5)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_segmentize7.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize7.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize7.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - NULL distance (error) -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 2 2)'), NULL)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 2 2)'), NULL)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_segmentize8.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize8.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize8.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - text distance (error) -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 2 2)'), 'alpha')); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize(GeomFromText('LINESTRING(1 1, 2 2)'), 'alpha')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_segmentize9.testcase Index: test/sql_stmt_rtgeom_tests/st_segmentize9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_segmentize9.testcase +++ test/sql_stmt_rtgeom_tests/st_segmentize9.testcase @@ -1,7 +0,0 @@ -ST_Segmentize - text geometry (error) -:memory: #use in-memory database -SELECT ST_AsText(ST_Segmentize('alpha', 0)); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_Segmentize('alpha', 0)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_self1.testcase Index: test/sql_stmt_rtgeom_tests/st_self1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self1.testcase +++ test/sql_stmt_rtgeom_tests/st_self1.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Invalid BLOB input (error) -:memory: #use in-memory database -SELECT ST_SelfIntersections(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_SelfIntersections(zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_self2.testcase Index: test/sql_stmt_rtgeom_tests/st_self2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self2.testcase +++ test/sql_stmt_rtgeom_tests/st_self2.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Invalid INT input (error) -:memory: #use in-memory database -SELECT ST_SelfIntersections(1); -1 # rows (not including the header row) -1 # columns -ST_SelfIntersections(1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_self3.testcase Index: test/sql_stmt_rtgeom_tests/st_self3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self3.testcase +++ test/sql_stmt_rtgeom_tests/st_self3.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Invalid DOUBLE input (error) -:memory: #use in-memory database -SELECT ST_SelfIntersections(1.1); -1 # rows (not including the header row) -1 # columns -ST_SelfIntersections(1.1) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_self4.testcase Index: test/sql_stmt_rtgeom_tests/st_self4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self4.testcase +++ test/sql_stmt_rtgeom_tests/st_self4.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Invalid TEXT input (error) -:memory: #use in-memory database -SELECT ST_SelfIntersections('alpha'); -1 # rows (not including the header row) -1 # columns -ST_SelfIntersections('alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_self5.testcase Index: test/sql_stmt_rtgeom_tests/st_self5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self5.testcase +++ test/sql_stmt_rtgeom_tests/st_self5.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Valid 2D input -:memory: #use in-memory database -SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('LINESTRING(0 0, 10 10, 0 10, 10 0)'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_SelfIntersections(ST_GeomFromText('LINESTRING(0 0, 10 10, 0 10, 10 0)'))) -MULTIPOINT(5 5) DELETED test/sql_stmt_rtgeom_tests/st_self6.testcase Index: test/sql_stmt_rtgeom_tests/st_self6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self6.testcase +++ test/sql_stmt_rtgeom_tests/st_self6.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Valid 3D input -:memory: #use in-memory database -SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_SelfIntersections(ST_GeomFromText('LINESTRINGZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))) -MULTIPOINT Z(5 5 4.5) DELETED test/sql_stmt_rtgeom_tests/st_self7.testcase Index: test/sql_stmt_rtgeom_tests/st_self7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self7.testcase +++ test/sql_stmt_rtgeom_tests/st_self7.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Valid MultiLinestring 2D input -:memory: #use in-memory database -SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTILINESTRING((0 0, 10 10, 0 10, 10 0),(10 8, 10 12))'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTILINESTRING((0 0, 10 10, 0 10, 10 0),(10 8, 10 12))'))) -MULTIPOINT(5 5, 10 10) DELETED test/sql_stmt_rtgeom_tests/st_self8.testcase Index: test/sql_stmt_rtgeom_tests/st_self8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self8.testcase +++ test/sql_stmt_rtgeom_tests/st_self8.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Valid MultiLinestring 3D input -:memory: #use in-memory database -SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 10 10 10, 0 10 5, 10 0 3),(10 8 4, 10 12 5))'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTILINESTRINGZ((0 0 0, 10 10 10, 0 10 5, 10 0 3),(10 8 4, 10 12 5))'))) -MULTIPOINT Z(5 5 4.5, 10 10 10) DELETED test/sql_stmt_rtgeom_tests/st_self9.testcase Index: test/sql_stmt_rtgeom_tests/st_self9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_self9.testcase +++ test/sql_stmt_rtgeom_tests/st_self9.testcase @@ -1,7 +0,0 @@ -ST_SelfIntersections - Invalid MultiPoint 3D input -:memory: #use in-memory database -SELECT ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTIPOINTZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))); -1 # rows (not including the header row) -1 # columns -ST_AsText(ST_SelfIntersections(ST_GeomFromText('MULTIPOINTZ(0 0 0, 10 10 10, 0 10 5, 10 0 3)'))) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid1.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid1.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid1.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - two args - NULL BLOB (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(NULL, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(NULL, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid10.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid10.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid10.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - three args - NULL sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, NULL); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid11.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid11.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid11.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid11.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - three args - BLOB sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid12.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid12.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid12.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid12.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - three args - text sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 0.5, 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid13.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid13.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid13.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid13.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - NULL originX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 1, 0.5, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 1, 0.5, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid14.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid14.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid14.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid14.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - BLOB originX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(0), 1, 0.5, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(0), 1, 0.5, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid15.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid15.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid15.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid15.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - text originX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 1, 0.5, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 1, 0.5, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid16.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid16.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid16.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid16.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - NULL originY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, NULL, 0.5, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, NULL, 0.5, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid17.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid17.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid17.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid17.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - BLOB originY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, zeroblob(0), 0.5, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, zeroblob(0), 0.5, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid18.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid18.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid18.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid18.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - text originY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 'alpha', 0.5, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 'alpha', 0.5, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid19.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid19.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid19.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid19.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - NULL sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, NULL, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, NULL, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid2.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid2.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid2.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - two args - invalid BLOB (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(zeroblob(4), 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(zeroblob(4), 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid20.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid20.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid20.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid20.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - BLOB sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, zeroblob(0), 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, zeroblob(0), 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid21.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid21.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid21.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid21.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - text sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 'alpha', 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 'alpha', 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid22.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid22.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid22.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid22.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - NULL sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, NULL); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid23.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid23.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid23.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid23.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - BLOB sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, zeroblob(0)); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, zeroblob(0)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid24.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid24.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid24.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid24.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - five args - text sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1, 1, 0.5, 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid25.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid25.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid25.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid25.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - NULL grid origin (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 1, 2, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 1, 2, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid26.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid26.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid26.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid26.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - invalid BLOB grid origin (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(4), 1, 2, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(4), 1, 2, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid27.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid27.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid27.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid27.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - text grid origin (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 1, 2, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 1, 2, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid28.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid28.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid28.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid28.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - num grid origin (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 1.1, 1, 2, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 1.1, 1, 2, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid29.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid29.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid29.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid29.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - not-point grid origin (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), GeomFromText('LINESTRING(0 0, 1 1)'), 1, 2, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), GeomFromText('LINESTRING(0 0, 1 1)'), 1, 2, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid3.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid3.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid3.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - two args - NULL size (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), NULL); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid30.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid30.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid30.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid30.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - NULL sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), NULL, 2, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), NULL, 2, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid31.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid31.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid31.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid31.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - BLOB sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), zeroblob(4), 2, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), zeroblob(4), 2, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid32.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid32.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid32.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid32.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - text sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 'alpha', 2, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 'alpha', 2, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid33.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid33.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid33.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid33.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - NULL sizeM (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, NULL); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid34.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid34.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid34.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid34.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - BLOB sizeM (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid35.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid35.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid35.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid35.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - text sizeM (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 3, 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid36.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid36.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid36.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid36.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - NULL sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, NULL, 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, NULL, 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid37.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid37.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid37.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid37.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - BLOB sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, zeroblob(4), 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, zeroblob(4), 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid38.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid38.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid38.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid38.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - text sizeY (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 'alpha', 3, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 'alpha', 3, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid39.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid39.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid39.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid39.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - NULL sizeZ (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, NULL, 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, NULL, 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid4.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid4.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid4.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - two args - text size (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid40.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid40.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid40.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid40.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - BLOB sizeZ (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, zeroblob(4), 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, zeroblob(4), 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid41.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid41.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid41.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid41.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - six args - text sizeZ (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 'alpha', 4); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), MakePoint(1, 1), 1, 2, 'alpha', 4) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid42.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid42.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid42.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid42.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Point 2D -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('POINT(1.2 2.3)'), 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('POINT(1.2 2.3)'), 0.25)) -POINT(1.25 2.25) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid43.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid43.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid43.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid43.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Linestring 2D -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('LINESTRING(1.2 2.3, 1.21 2.31, 1.22 2.32, 2.1 3.9)'), 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('LINESTRING(1.2 2.3, 1.21 2.31, 1.22 2.32, 2.1 3.9)'), 0.25)) -LINESTRING(1.25 2.25, 2 4) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid44.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid44.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid44.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid44.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Polygon 2D -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('POLYGON((0.1 0.1, 0.2 0.2, 0.2 5.1, 4.9 4.9, 5.1 5.1, 4.9 0.15, 0.1 0.1), (3.1 3.1, 3.2 3.1, 3.2 3.2, 3.2 3.1, 3.1 3.1), (1.1 1.1, 1.1 2.1, 2.1 2.1, 2.1 1.1, 1.1 1.1))'), 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('POLYGON((0.1 0.1, 0.2 0.2, 0.2 5.1, 4.9 4.9, 5.1 5.1, 4.9 0.15, 0.1 0.1), (3.1 3.1, 3.2 3.1, 3.2 3.2, 3.2 3.1, 3.1 3.1), (1.1 1.1, 1.1 2.1, 2.1 2.1, 2.1 1.1, 1.1 1.1))'), 0.25)) -POLYGON((0 0, 0.25 0.25, 0.25 5, 5 5, 5 0.25, 0 0), (3 3, 3.25 3, 3.25 3.25, 3.25 3, 3 3), (1 1, 1 2, 2 2, 2 1, 1 1)) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid45.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid45.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid45.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid45.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiPoint 2D -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOINT(1.2 2.3, 1.21 2.31, 2.2 3.3, 2.21 3.33)'), 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTIPOINT(1.2 2.3, 1.21 2.31, 2.2 3.3, 2.21 3.33)'), 0.25)) -MULTIPOINT(1.25 2.25, 2.25 3.25) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid46.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid46.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid46.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid46.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiLinestring 2D -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRING((1.2 2.3, 1.21 2.31, 1.22 2.32, 2.1 3.9), (2.11 3.11, 2.12 3.12), (3.2 4.2, 4.2 3.2))'), 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRING((1.2 2.3, 1.21 2.31, 1.22 2.32, 2.1 3.9), (2.11 3.11, 2.12 3.12), (3.2 4.2, 4.2 3.2))'), 0.25)) -MULTILINESTRING((1.25 2.25, 2 4), (3.25 4.25, 4.25 3.25)) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid47.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid47.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid47.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid47.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiPolygon 2D -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGON(((5.11 5.11, 5.12 5.11, 4.11 5.11, 5.11 5.12, 5.11 5.11)), ((0.1 0.1, 0.2 0.2, 0.2 5.1, 4.9 4.9, 5.1 5.1, 4.9 0.15, 0.1 0.1), (3.1 3.1, 3.2 3.1, 3.2 3.2, 3.2 3.1, 3.1 3.1), (1.1 1.1, 1.1 2.1, 2.1 2.1, 2.1 1.1, 1.1 1.1)), ((5.51 5.51, 6.51 5.51, 6.51 6.51, 5.51 6.51, 5.51 5.51)))'), 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGON(((5.11 5.11, 5.12 5.11, 4.11 5.11, 5.11 5.12, 5.11 5.11)), ((0.1 0.1, 0.2 0.2, 0.2 5.1, 4.9 4.9, 5.1 5.1, 4.9 0.15, 0.1 0.1), (3.1 3.1, 3.2 3.1, 3.2 3.2, 3.2 3.1, 3.1 3.1), (1.1 1.1, 1.1 2.1, 2.1 2.1, 2.1 1.1, 1.1 1.1)), ((5.51 5.51, 6.51 5.51, 6.51 6.51, 5.51 6.51, 5.51 5.51)))'), 0.25)) -MULTIPOLYGON(((0 0, 0.25 0.25, 0.25 5, 5 5, 5 0.25, 0 0), (3 3, 3.25 3, 3.25 3.25, 3.25 3, 3 3), (1 1, 1 2, 2 2, 2 1, 1 1)), ((5.5 5.5, 6.5 5.5, 6.5 6.5, 5.5 6.5, 5.5 5.5))) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid48.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid48.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid48.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid48.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Point ZM -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('POINTZM(1.2 2.3 10.1 20.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('POINTZM(1.2 2.3 10.1 20.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -POINT ZM(1.25 2.25 10 20) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid49.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid49.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid49.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid49.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Linestring ZM -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('LINESTRINGZM(1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 1.22 2.32 10.12 20.12, 2.1 3.9 11.4 21.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('LINESTRINGZM(1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 1.22 2.32 10.12 20.12, 2.1 3.9 11.4 21.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -LINESTRING ZM(1.25 2.25 10 20, 2 4 11.5 21.5) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid5.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid5.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid5.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - two args - text geom (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid('alpha', NULL); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid('alpha', NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid50.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid50.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid50.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid50.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Polygon ZM -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('POLYGONZM((0.1 0.1 10.1 20.1, 0.2 0.2 10.11 20.12, 0.2 5.1 10.12 20.13, 4.9 4.9 10.51 20.51, 5.1 5.1 10.49 20.49, 4.9 0.15 10.1 20.1, 0.1 0.1 10.1 20.1), (3.1 3.1 10.1 20.1, 3.2 3.1 10.11 20.11, 3.2 3.2 10.12 20.12, 3.2 3.1 10.13 20.13, 3.1 3.1 10.1 20.1), (1.1 1.1 10.1 20.1, 1.1 2.1 10.2 20.2, 2.1 2.1 10.3 20.3, 2.1 1.1 10.4 20.4, 1.1 1.1 10.1 20.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('POLYGONZM((0.1 0.1 10.1 20.1, 0.2 0.2 10.11 20.12, 0.2 5.1 10.12 20.13, 4.9 4.9 10.51 20.51, 5.1 5.1 10.49 20.49, 4.9 0.15 10.1 20.1, 0.1 0.1 10.1 20.1), (3.1 3.1 10.1 20.1, 3.2 3.1 10.11 20.11, 3.2 3.2 10.12 20.12, 3.2 3.1 10.13 20.13, 3.1 3.1 10.1 20.1), (1.1 1.1 10.1 20.1, 1.1 2.1 10.2 20.2, 2.1 2.1 10.3 20.3, 2.1 1.1 10.4 20.4, 1.1 1.1 10.1 20.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -POLYGON ZM((0 0 10 20, 0.25 0.25 10 20, 0.25 5 10 20.25, 5 5 10.5 20.5, 5 0.25 10 20, 0 0 10 20), (3 3 10 20, 3.25 3 10 20, 3.25 3.25 10 20, 3.25 3 10.25 20.25, 3 3 10 20), (1 1 10 20, 1 2 10.25 20.25, 2 2 10.25 20.25, 2 1 10.5 20.5, 1 1 10 20)) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid51.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid51.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid51.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid51.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiPoint ZM -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTZM(1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 2.2 3.3 21.1 31.1, 2.21 3.33 21.12 31.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTZM(1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 2.2 3.3 21.1 31.1, 2.21 3.33 21.12 31.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTIPOINT ZM(1.25 2.25 10 20, 2.25 3.25 21 31) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid52.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid52.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid52.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid52.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiLinestring ZM -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGZM((1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 1.22 2.32 10.1 20.1, 2.1 3.9 10.11 20.11), (2.11 3.11 10 20, 2.12 3.12 10.1 20.1), (3.2 4.2 10.1 20.1, 4.2 3.2 10.4 20.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGZM((1.2 2.3 10.1 20.1, 1.21 2.31 10.11 20.11, 1.22 2.32 10.1 20.1, 2.1 3.9 10.11 20.11), (2.11 3.11 10 20, 2.12 3.12 10.1 20.1), (3.2 4.2 10.1 20.1, 4.2 3.2 10.4 20.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTILINESTRING ZM((1.25 2.25 10 20, 2 4 10 20), (3.25 4.25 10 20, 4.25 3.25 10.5 20.5)) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid53.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid53.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid53.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid53.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiPolygon ZM -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONZM(((5.11 5.11 10.1 20.1, 5.12 5.11 10.11 20.11, 5.11 5.11 10.12 20.12, 5.11 5.12 10.13 20.13, 5.11 5.11 10.1 20.1)), ((0.1 0.1 10.1 20.1, 0.2 0.2 10.11 20.11, 0.2 5.1 10.12 20.12, 4.9 4.9 10.13 20.13, 5.1 5.1 10.14 20.14, 4.9 0.15 10.15 20.15, 0.1 0.1 10.1 20.1), (3.1 3.1 10.1 20.1, 3.2 3.1 10.11 20.11, 3.2 3.2 10.11 20.11, 3.2 3.1 10.12 20.12, 3.1 3.1 10.1 20.1), (1.1 1.1 10.1 20.1, 1.1 2.1 10.11 20.11, 2.1 2.1 10.12 20.12, 2.1 1.1 10.13 20.13, 1.1 1.1 10.1 20.1)), ((5.51 5.51 10.1 20.1, 6.51 5.51 10.11 20.11, 6.51 6.51 10.12 20.12, 5.51 6.51 10.13 20.13, 5.51 5.51 10.1 20.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONZM(((5.11 5.11 10.1 20.1, 5.12 5.11 10.11 20.11, 5.11 5.11 10.12 20.12, 5.11 5.12 10.13 20.13, 5.11 5.11 10.1 20.1)), ((0.1 0.1 10.1 20.1, 0.2 0.2 10.11 20.11, 0.2 5.1 10.12 20.12, 4.9 4.9 10.13 20.13, 5.1 5.1 10.14 20.14, 4.9 0.15 10.15 20.15, 0.1 0.1 10.1 20.1), (3.1 3.1 10.1 20.1, 3.2 3.1 10.11 20.11, 3.2 3.2 10.11 20.11, 3.2 3.1 10.12 20.12, 3.1 3.1 10.1 20.1), (1.1 1.1 10.1 20.1, 1.1 2.1 10.11 20.11, 2.1 2.1 10.12 20.12, 2.1 1.1 10.13 20.13, 1.1 1.1 10.1 20.1)), ((5.51 5.51 10.1 20.1, 6.51 5.51 10.11 20.11, 6.51 6.51 10.12 20.12, 5.51 6.51 10.13 20.13, 5.51 5.51 10.1 20.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTIPOLYGON ZM(((0 0 10 20, 0.25 0.25 10 20, 0.25 5 10 20, 5 5 10.25 20.25, 5 0.25 10.25 20.25, 0 0 10 20), (3 3 10 20, 3.25 3 10 20, 3.25 3.25 10 20, 3.25 3 10 20, 3 3 10 20), (1 1 10 20, 1 2 10 20, 2 2 10 20, 2 1 10.25 20.25, 1 1 10 20)), ((5.5 5.5 10 20, 6.5 5.5 10 20, 6.5 6.5 10 20, 5.5 6.5 10.25 20.25, 5.5 5.5 10 20))) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid54.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid54.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid54.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid54.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Point Z -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('POINTZ(1.2 2.3 10.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('POINTZ(1.2 2.3 10.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -POINT Z(1.25 2.25 10) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid55.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid55.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid55.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid55.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Linestring Z -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('LINESTRINGZ(1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.12, 2.1 3.9 11.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('LINESTRINGZ(1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.12, 2.1 3.9 11.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -LINESTRING Z(1.25 2.25 10, 2 4 11.5) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid56.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid56.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid56.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid56.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Polygon Z -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('POLYGONZ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.51, 5.1 5.1 10.49, 4.9 0.15 10.1, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.12, 3.2 3.1 10.13, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.2, 2.1 2.1 10.3, 2.1 1.1 10.4, 1.1 1.1 10.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('POLYGONZ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.51, 5.1 5.1 10.49, 4.9 0.15 10.1, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.12, 3.2 3.1 10.13, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.2, 2.1 2.1 10.3, 2.1 1.1 10.4, 1.1 1.1 10.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -POLYGON Z((0 0 10, 0.25 0.25 10, 0.25 5 10, 5 5 10.5, 5 0.25 10, 0 0 10), (3 3 10, 3.25 3 10, 3.25 3.25 10, 3.25 3 10.25, 3 3 10), (1 1 10, 1 2 10.25, 2 2 10.25, 2 1 10.5, 1 1 10)) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid57.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid57.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid57.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid57.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiPoint Z -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTZ(1.2 2.3 10.1, 1.21 2.31 10.11, 2.2 3.3 21.1, 2.21 3.33 21.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTZ(1.2 2.3 10.1, 1.21 2.31 10.11, 2.2 3.3 21.1, 2.21 3.33 21.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTIPOINT Z(1.25 2.25 10, 2.25 3.25 21) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid58.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid58.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid58.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid58.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiLinestring Z -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGZ((1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.1, 2.1 3.9 10.11), (2.11 3.11 10, 2.12 3.12 10.1), (3.2 4.2 10.1, 4.2 3.2 10.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGZ((1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.1, 2.1 3.9 10.11), (2.11 3.11 10, 2.12 3.12 10.1), (3.2 4.2 10.1, 4.2 3.2 10.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTILINESTRING Z((1.25 2.25 10, 2 4 10), (3.25 4.25 10, 4.25 3.25 10.5)) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid59.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid59.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid59.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid59.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiPolygon Z -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONZ(((5.11 5.11 10.1, 5.12 5.11 10.11, 5.11 5.11 10.12, 5.11 5.12 10.13, 5.11 5.11 10.1)), ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.13, 5.1 5.1 10.14, 4.9 0.15 10.15, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.11, 3.2 3.1 10.12, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.11, 2.1 2.1 10.12, 2.1 1.1 10.13, 1.1 1.1 10.1)), ((5.51 5.51 10.1, 6.51 5.51 10.11, 6.51 6.51 10.12, 5.51 6.51 10.13, 5.51 5.51 10.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONZ(((5.11 5.11 10.1, 5.12 5.11 10.11, 5.11 5.11 10.12, 5.11 5.12 10.13, 5.11 5.11 10.1)), ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.13, 5.1 5.1 10.14, 4.9 0.15 10.15, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.11, 3.2 3.1 10.12, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.11, 2.1 2.1 10.12, 2.1 1.1 10.13, 1.1 1.1 10.1)), ((5.51 5.51 10.1, 6.51 5.51 10.11, 6.51 6.51 10.12, 5.51 6.51 10.13, 5.51 5.51 10.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTIPOLYGON Z(((0 0 10, 0.25 0.25 10, 0.25 5 10, 5 5 10.25, 5 0.25 10.25, 0 0 10), (3 3 10, 3.25 3 10, 3.25 3.25 10, 3.25 3 10, 3 3 10), (1 1 10, 1 2 10, 2 2 10, 2 1 10.25, 1 1 10)), ((5.5 5.5 10, 6.5 5.5 10, 6.5 6.5 10, 5.5 6.5 10.25, 5.5 5.5 10))) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid6.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid6.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid6.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - two args - double geom (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(1.2, NULL); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(1.2, NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid60.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid60.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid60.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid60.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Point M -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('POINTM(1.2 2.3 10.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('POINTM(1.2 2.3 10.1)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -POINT M(1.25 2.25 10) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid61.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid61.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid61.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid61.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Linestring M -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('LINESTRINGM(1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.12, 2.1 3.9 11.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('LINESTRINGM(1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.12, 2.1 3.9 11.4)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -LINESTRING M(1.25 2.25 10, 2 4 11.5) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid62.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid62.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid62.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid62.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - Polygon M -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('POLYGONM((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.51, 5.1 5.1 10.49, 4.9 0.15 10.1, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.12, 3.2 3.1 10.13, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.2, 2.1 2.1 10.3, 2.1 1.1 10.4, 1.1 1.1 10.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('POLYGONM((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.51, 5.1 5.1 10.49, 4.9 0.15 10.1, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.12, 3.2 3.1 10.13, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.2, 2.1 2.1 10.3, 2.1 1.1 10.4, 1.1 1.1 10.1))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -POLYGON M((0 0 10, 0.25 0.25 10, 0.25 5 10, 5 5 10.5, 5 0.25 10, 0 0 10), (3 3 10, 3.25 3 10, 3.25 3.25 10, 3.25 3 10.25, 3 3 10), (1 1 10, 1 2 10.25, 2 2 10.25, 2 1 10.5, 1 1 10)) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid63.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid63.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid63.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid63.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiPoint M -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTM(1.2 2.3 10.1, 1.21 2.31 10.11, 2.2 3.3 21.1, 2.21 3.33 21.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTIPOINTM(1.2 2.3 10.1, 1.21 2.31 10.11, 2.2 3.3 21.1, 2.21 3.33 21.12)'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTIPOINT M(1.25 2.25 10, 2.25 3.25 21) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid64.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid64.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid64.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid64.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiLinestring M -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGM((1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.1, 2.1 3.9 10.11), (2.11 3.11 10, 2.12 3.12 10.1), (3.2 4.2 10.1, 4.2 3.2 10.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTILINESTRINGM((1.2 2.3 10.1, 1.21 2.31 10.11, 1.22 2.32 10.1, 2.1 3.9 10.11), (2.11 3.11 10, 2.12 3.12 10.1), (3.2 4.2 10.1, 4.2 3.2 10.4))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTILINESTRING M((1.25 2.25 10, 2 4 10), (3.25 4.25 10, 4.25 3.25 10.5)) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid65.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid65.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid65.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid65.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - MultiPolygon M -:memory: #use in-memory database -SELECT AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONM(((5.11 5.11 10.1, 5.12 5.11 10.11, 5.11 5.11 10.12, 5.11 5.12 10.13, 5.11 5.11 10.1)), ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.13, 5.1 5.1 10.14, 4.9 0.15 10.15, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.11, 3.2 3.1 10.12, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.11, 2.1 2.1 10.12, 2.1 1.1 10.13, 1.1 1.1 10.1)), ((5.51 5.51 10.1, 6.51 5.51 10.11, 6.51 6.51 10.12, 5.51 6.51 10.13, 5.51 5.51 10.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)); -1 # rows (not including the header row) -1 # columns -AsText(ST_SnapToGrid(GeomFromText('MULTIPOLYGONM(((5.11 5.11 10.1, 5.12 5.11 10.11, 5.11 5.11 10.12, 5.11 5.12 10.13, 5.11 5.11 10.1)), ((0.1 0.1 10.1, 0.2 0.2 10.11, 0.2 5.1 10.12, 4.9 4.9 10.13, 5.1 5.1 10.14, 4.9 0.15 10.15, 0.1 0.1 10.1), (3.1 3.1 10.1, 3.2 3.1 10.11, 3.2 3.2 10.11, 3.2 3.1 10.12, 3.1 3.1 10.1), (1.1 1.1 10.1, 1.1 2.1 10.11, 2.1 2.1 10.12, 2.1 1.1 10.13, 1.1 1.1 10.1)), ((5.51 5.51 10.1, 6.51 5.51 10.11, 6.51 6.51 10.12, 5.51 6.51 10.13, 5.51 5.51 10.1)))'), MakePoint(0, 0), 0.25, 0.25, 0.25, 0.25)) -MULTIPOLYGON M(((0 0 10, 0.25 0.25 10, 0.25 5 10, 5 5 10.25, 5 0.25 10.25, 0 0 10), (3 3 10, 3.25 3 10, 3.25 3.25 10, 3.25 3 10, 3 3 10), (1 1 10, 1 2 10, 2 2 10, 2 1 10.25, 1 1 10)), ((5.5 5.5 10, 6.5 5.5 10, 6.5 6.5 10, 5.5 6.5 10.25, 5.5 5.5 10))) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid7.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid7.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid7.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - three args - NULL sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), NULL, 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid8.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid8.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid8.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - three args - BLOB sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(4), 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), zeroblob(4), 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_snaptogrid9.testcase Index: test/sql_stmt_rtgeom_tests/st_snaptogrid9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_snaptogrid9.testcase +++ test/sql_stmt_rtgeom_tests/st_snaptogrid9.testcase @@ -1,7 +0,0 @@ -ST_SnapToGrid - three args - text sizeX (error) -:memory: #use in-memory database -SELECT ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 0.5); -1 # rows (not including the header row) -1 # columns -ST_SnapToGrid(MakePoint(1.25, 2.35), 'alpha', 0.5) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split1.testcase Index: test/sql_stmt_rtgeom_tests/st_split1.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split1.testcase +++ test/sql_stmt_rtgeom_tests/st_split1.testcase @@ -1,7 +0,0 @@ -ST_Split - Invalid BLOB input (error) -:memory: #use in-memory database -SELECT ST_Split(zeroblob(4), MakePoint(5, 0)); -1 # rows (not including the header row) -1 # columns -ST_Split(zeroblob(4), MakePoint(5, 0)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split10.testcase Index: test/sql_stmt_rtgeom_tests/st_split10.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split10.testcase +++ test/sql_stmt_rtgeom_tests/st_split10.testcase @@ -1,7 +0,0 @@ -ST_Split - Polygon-Point (error) -:memory: #use in-memory database -SELECT ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), MakePoint(4, 1)); -1 # rows (not including the header row) -1 # columns -ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), MakePoint(4, 1)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split11.testcase Index: test/sql_stmt_rtgeom_tests/st_split11.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split11.testcase +++ test/sql_stmt_rtgeom_tests/st_split11.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Polygon (error) -:memory: #use in-memory database -SELECT ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')); -1 # rows (not including the header row) -1 # columns -ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split12.testcase Index: test/sql_stmt_rtgeom_tests/st_split12.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split12.testcase +++ test/sql_stmt_rtgeom_tests/st_split12.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Collection (error) -:memory: #use in-memory database -SELECT ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2)')); -1 # rows (not including the header row) -1 # columns -ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('GEOMETRYCOLLECTION(POINT(0 0), LINESTRING(1 1, 2 2)')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split13.testcase Index: test/sql_stmt_rtgeom_tests/st_split13.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split13.testcase +++ test/sql_stmt_rtgeom_tests/st_split13.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Point (split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(7, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(7, 0))) -MULTILINESTRING((0 0, 7 0), (7 0, 10 0)) DELETED test/sql_stmt_rtgeom_tests/st_split14.testcase Index: test/sql_stmt_rtgeom_tests/st_split14.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split14.testcase +++ test/sql_stmt_rtgeom_tests/st_split14.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(7 0, 7 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(7 0, 7 3)'))) -MULTILINESTRING((0 1, 7 1), (7 1, 10 1)) DELETED test/sql_stmt_rtgeom_tests/st_split15.testcase Index: test/sql_stmt_rtgeom_tests/st_split15.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split15.testcase +++ test/sql_stmt_rtgeom_tests/st_split15.testcase @@ -1,7 +0,0 @@ -ST_Split - MultiLine-Point (split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(7, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(7, 0))) -MULTILINESTRING((0 2, 10 2), (0 0, 7 0), (7 0, 10 0)) DELETED test/sql_stmt_rtgeom_tests/st_split16.testcase Index: test/sql_stmt_rtgeom_tests/st_split16.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split16.testcase +++ test/sql_stmt_rtgeom_tests/st_split16.testcase @@ -1,7 +0,0 @@ -ST_Split - MultiLine-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))) -MULTILINESTRING((0 2, 7 2), (7 2, 10 2), (0 1, 7 1), (7 1, 10 1)) DELETED test/sql_stmt_rtgeom_tests/st_split17.testcase Index: test/sql_stmt_rtgeom_tests/st_split17.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split17.testcase +++ test/sql_stmt_rtgeom_tests/st_split17.testcase @@ -1,7 +0,0 @@ -ST_Split - Polygon-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(7 0, 7 20)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(7 0, 7 20)'))) -MULTIPOLYGON(((7 1, 0 1, 0 10, 7 10, 7 1)), ((7 10, 10 10, 10 1, 7 1, 7 10))) DELETED test/sql_stmt_rtgeom_tests/st_split18.testcase Index: test/sql_stmt_rtgeom_tests/st_split18.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split18.testcase +++ test/sql_stmt_rtgeom_tests/st_split18.testcase @@ -1,7 +0,0 @@ -ST_Split - Collection-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(7 0, 7 20)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(7 0, 7 20)'))) -GEOMETRYCOLLECTION(LINESTRING(0 11, 7 11), LINESTRING(7 11, 10 11), POLYGON((7 1, 0 1, 0 10, 7 10, 7 1)), POLYGON((7 10, 10 10, 10 1, 7 1, 7 10))) DELETED test/sql_stmt_rtgeom_tests/st_split19.testcase Index: test/sql_stmt_rtgeom_tests/st_split19.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split19.testcase +++ test/sql_stmt_rtgeom_tests/st_split19.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Point (not split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))) -LINESTRING(0 0, 10 0) DELETED test/sql_stmt_rtgeom_tests/st_split2.testcase Index: test/sql_stmt_rtgeom_tests/st_split2.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split2.testcase +++ test/sql_stmt_rtgeom_tests/st_split2.testcase @@ -1,7 +0,0 @@ -ST_Split - NULL BLOB input (error) -:memory: #use in-memory database -SELECT ST_Split(NULL, MakePoint(5, 0)); -1 # rows (not including the header row) -1 # columns -ST_Split(NULL, MakePoint(5, 0)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split20.testcase Index: test/sql_stmt_rtgeom_tests/st_split20.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split20.testcase +++ test/sql_stmt_rtgeom_tests/st_split20.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))) -LINESTRING(0 1, 10 1) DELETED test/sql_stmt_rtgeom_tests/st_split21.testcase Index: test/sql_stmt_rtgeom_tests/st_split21.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split21.testcase +++ test/sql_stmt_rtgeom_tests/st_split21.testcase @@ -1,7 +0,0 @@ -ST_Split - MultiLine-Point (not split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0))) -MULTILINESTRING((0 2, 10 2), (0 0, 10 0)) DELETED test/sql_stmt_rtgeom_tests/st_split22.testcase Index: test/sql_stmt_rtgeom_tests/st_split22.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split22.testcase +++ test/sql_stmt_rtgeom_tests/st_split22.testcase @@ -1,7 +0,0 @@ -ST_Split - MultiLine-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)'))) -MULTILINESTRING((0 2, 10 2), (0 1, 10 1)) DELETED test/sql_stmt_rtgeom_tests/st_split23.testcase Index: test/sql_stmt_rtgeom_tests/st_split23.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split23.testcase +++ test/sql_stmt_rtgeom_tests/st_split23.testcase @@ -1,7 +0,0 @@ -ST_Split - Polygon-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(12 0, 12 20)')))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(12 0, 12 20)')))) -POLYGON((0 1, 0 10, 10 10, 10 1, 0 1)) DELETED test/sql_stmt_rtgeom_tests/st_split24.testcase Index: test/sql_stmt_rtgeom_tests/st_split24.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split24.testcase +++ test/sql_stmt_rtgeom_tests/st_split24.testcase @@ -1,7 +0,0 @@ -ST_Split - Collection-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_Split(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(-1 0, -1 20)')))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_Split(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(-1 0, -1 20)')))) -GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 0 10, 10 10, 10 1, 0 1))) DELETED test/sql_stmt_rtgeom_tests/st_split25.testcase Index: test/sql_stmt_rtgeom_tests/st_split25.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split25.testcase +++ test/sql_stmt_rtgeom_tests/st_split25.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Point (not split) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))) -LINESTRING(0 0, 10 0) DELETED test/sql_stmt_rtgeom_tests/st_split26.testcase Index: test/sql_stmt_rtgeom_tests/st_split26.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split26.testcase +++ test/sql_stmt_rtgeom_tests/st_split26.testcase @@ -1,7 +0,0 @@ -ST_SplitlLeft - Line-Point (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('LINESTRINGZM(0 0 10 100, 10 0 11 101)'), MakePointZM(7, 0, 10, 100))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('LINESTRINGZM(0 0 10 100, 10 0 11 101)'), MakePointZM(7, 0, 10, 100))) -LINESTRING ZM(0 0 10 100, 7 0 10.7 100.7) DELETED test/sql_stmt_rtgeom_tests/st_split27.testcase Index: test/sql_stmt_rtgeom_tests/st_split27.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split27.testcase +++ test/sql_stmt_rtgeom_tests/st_split27.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - Line-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('LINESTRINGM(0 1 10, 10 1 10)'), GeomFromText('LINESTRING(7 0, 7 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('LINESTRINGM(0 1 10, 10 1 10)'), GeomFromText('LINESTRING(7 0, 7 3)'))) -LINESTRING M(0 1 0, 7 1 0) DELETED test/sql_stmt_rtgeom_tests/st_split28.testcase Index: test/sql_stmt_rtgeom_tests/st_split28.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split28.testcase +++ test/sql_stmt_rtgeom_tests/st_split28.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - MultiLine-Point (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('MULTILINESTRINGZ((0 2 10, 10 2 11), (0 0 10, 10 0 11))'), MakePointZ(7, 0, 10))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('MULTILINESTRINGZ((0 2 10, 10 2 11), (0 0 10, 10 0 11))'), MakePointZ(7, 0, 10))) -MULTILINESTRING Z((0 2 10, 10 2 11), (0 0 10, 7 0 10.7)) DELETED test/sql_stmt_rtgeom_tests/st_split29.testcase Index: test/sql_stmt_rtgeom_tests/st_split29.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split29.testcase +++ test/sql_stmt_rtgeom_tests/st_split29.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - MultiLine-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))) -MULTILINESTRING((0 2, 7 2), (0 1, 7 1)) DELETED test/sql_stmt_rtgeom_tests/st_split3.testcase Index: test/sql_stmt_rtgeom_tests/st_split3.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split3.testcase +++ test/sql_stmt_rtgeom_tests/st_split3.testcase @@ -1,7 +0,0 @@ -ST_Split - text input (error) -:memory: #use in-memory database -SELECT ST_Split('alpha', MakePoint(5, 0)); -1 # rows (not including the header row) -1 # columns -ST_Split('alpha', MakePoint(5, 0)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split30.testcase Index: test/sql_stmt_rtgeom_tests/st_split30.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split30.testcase +++ test/sql_stmt_rtgeom_tests/st_split30.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - Polygon-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('POLYGONZ((0 1 10, 10 1 11, 10 10 12, 0 10 13, 0 1 10), (5 5 10, 9 5 11, 9 9 12, 5 9 13, 5 5 10))'), GeomFromText('LINESTRING(7 0, 7 20)')))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('POLYGONZ((0 1 10, 10 1 11, 10 10 12, 0 10 13, 0 1 10), (5 5 10, 9 5 11, 9 9 12, 5 9 13, 5 5 10))'), GeomFromText('LINESTRING(7 0, 7 20)')))) -POLYGON Z((7 1 10.7, 0 1 10, 0 10 13, 7 10 12.3, 7 9 12.5, 5 9 13, 5 5 10, 7 5 10.5, 7 1 10.7)) DELETED test/sql_stmt_rtgeom_tests/st_split31.testcase Index: test/sql_stmt_rtgeom_tests/st_split31.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split31.testcase +++ test/sql_stmt_rtgeom_tests/st_split31.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - Collection-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('GEOMETRYCOLLECTIONM(LINESTRINGM(0 11 10, 10 11 10), POLYGONM((0 1 10, 10 1 11, 10 10 12, 0 10 13, 0 1 10), (5 5 10, 9 5 11, 9 9 12, 5 9 13, 5 5 10)))'), GeomFromText('LINESTRING(7 0, 7 20)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('GEOMETRYCOLLECTIONM(LINESTRINGM(0 11 10, 10 11 10), POLYGONM((0 1 10, 10 1 11, 10 10 12, 0 10 13, 0 1 10), (5 5 10, 9 5 11, 9 9 12, 5 9 13, 5 5 10)))'), GeomFromText('LINESTRING(7 0, 7 20)'))) -GEOMETRYCOLLECTION M(LINESTRING M(0 11 0, 7 11 0), POLYGON M((7 1 0, 0 1 0, 0 10 0, 7 10 0, 7 9 0, 5 9 0, 5 5 0, 7 5 0, 7 1 0))) DELETED test/sql_stmt_rtgeom_tests/st_split32.testcase Index: test/sql_stmt_rtgeom_tests/st_split32.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split32.testcase +++ test/sql_stmt_rtgeom_tests/st_split32.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - Line-Point (not split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))) -LINESTRING(0 0, 10 0) DELETED test/sql_stmt_rtgeom_tests/st_split33.testcase Index: test/sql_stmt_rtgeom_tests/st_split33.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split33.testcase +++ test/sql_stmt_rtgeom_tests/st_split33.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - Line-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))) -LINESTRING(0 1, 10 1) DELETED test/sql_stmt_rtgeom_tests/st_split34.testcase Index: test/sql_stmt_rtgeom_tests/st_split34.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split34.testcase +++ test/sql_stmt_rtgeom_tests/st_split34.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - MultiLine-Point (not split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0))) -MULTILINESTRING((0 2, 10 2), (0 0, 10 0)) DELETED test/sql_stmt_rtgeom_tests/st_split35.testcase Index: test/sql_stmt_rtgeom_tests/st_split35.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split35.testcase +++ test/sql_stmt_rtgeom_tests/st_split35.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - MultiLine-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitLeft(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)'))) -MULTILINESTRING((0 2, 10 2), (0 1, 10 1)) DELETED test/sql_stmt_rtgeom_tests/st_split36.testcase Index: test/sql_stmt_rtgeom_tests/st_split36.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split36.testcase +++ test/sql_stmt_rtgeom_tests/st_split36.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - Polygon-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5))'), GeomFromText('LINESTRING(12 0, 12 20)')))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5))'), GeomFromText('LINESTRING(12 0, 12 20)')))) -POLYGON((0 1, 0 10, 10 10, 10 1, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)) DELETED test/sql_stmt_rtgeom_tests/st_split37.testcase Index: test/sql_stmt_rtgeom_tests/st_split37.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split37.testcase +++ test/sql_stmt_rtgeom_tests/st_split37.testcase @@ -1,7 +0,0 @@ -ST_SplitLeft - Collection-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)))'), GeomFromText('LINESTRING(-1 0, -1 20)')))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_SplitLeft(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)))'), GeomFromText('LINESTRING(-1 0, -1 20)')))) -GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 0 10, 10 10, 10 1, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5))) DELETED test/sql_stmt_rtgeom_tests/st_split38.testcase Index: test/sql_stmt_rtgeom_tests/st_split38.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split38.testcase +++ test/sql_stmt_rtgeom_tests/st_split38.testcase @@ -1,7 +0,0 @@ -ST_SplitlRight - Line-Point (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitRight(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(7, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitRight(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(7, 0))) -LINESTRING(7 0, 10 0) DELETED test/sql_stmt_rtgeom_tests/st_split39.testcase Index: test/sql_stmt_rtgeom_tests/st_split39.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split39.testcase +++ test/sql_stmt_rtgeom_tests/st_split39.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - Line-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitRight(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(7 0, 7 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitRight(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(7 0, 7 3)'))) -LINESTRING(7 1, 10 1) DELETED test/sql_stmt_rtgeom_tests/st_split4.testcase Index: test/sql_stmt_rtgeom_tests/st_split4.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split4.testcase +++ test/sql_stmt_rtgeom_tests/st_split4.testcase @@ -1,7 +0,0 @@ -ST_Split - Invalid BLOB blade (error) -:memory: #use in-memory database -SELECT ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), zeroblob(4)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split40.testcase Index: test/sql_stmt_rtgeom_tests/st_split40.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split40.testcase +++ test/sql_stmt_rtgeom_tests/st_split40.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - MultiLine-Point (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(7, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(7, 0))) -LINESTRING(7 0, 10 0) DELETED test/sql_stmt_rtgeom_tests/st_split41.testcase Index: test/sql_stmt_rtgeom_tests/st_split41.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split41.testcase +++ test/sql_stmt_rtgeom_tests/st_split41.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - MultiLine-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(7 0, 7 3)'))) -MULTILINESTRING((7 2, 10 2), (7 1, 10 1)) DELETED test/sql_stmt_rtgeom_tests/st_split42.testcase Index: test/sql_stmt_rtgeom_tests/st_split42.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split42.testcase +++ test/sql_stmt_rtgeom_tests/st_split42.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - Polygon-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitRight(GeomFromText('POLYGONZM((0 1 10 100, 10 1 11 101, 10 10 12 102, 0 10 13 103, 0 1 10 100), (5 5 10 100, 9 5 11 101, 9 9 12 102, 5 9 13 103, 5 5 10 100))'), GeomFromText('LINESTRING(7 0, 7 20)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitRight(GeomFromText('POLYGONZM((0 1 10 100, 10 1 11 101, 10 10 12 102, 0 10 13 103, 0 1 10 100), (5 5 10 100, 9 5 11 101, 9 9 12 102, 5 9 13 103, 5 5 10 100))'), GeomFromText('LINESTRING(7 0, 7 20)'))) -POLYGON ZM((7 10 12.3 0, 10 10 12 0, 10 1 11 0, 7 1 10.7 0, 7 5 10.5 0, 9 5 11 0, 9 9 12 0, 7 9 12.5 0, 7 10 12.3 0)) DELETED test/sql_stmt_rtgeom_tests/st_split43.testcase Index: test/sql_stmt_rtgeom_tests/st_split43.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split43.testcase +++ test/sql_stmt_rtgeom_tests/st_split43.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - Collection-Line (split) -:memory: #use in-memory database -SELECT AsText(ST_SplitRight(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)))'), GeomFromText('LINESTRING(7 0, 7 20)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitRight(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1), (5 5, 9 5, 9 9, 5 9, 5 5)))'), GeomFromText('LINESTRING(7 0, 7 20)'))) -GEOMETRYCOLLECTION(LINESTRING(7 11, 10 11), POLYGON((7 10, 10 10, 10 1, 7 1, 7 5, 9 5, 9 9, 7 9, 7 10))) DELETED test/sql_stmt_rtgeom_tests/st_split44.testcase Index: test/sql_stmt_rtgeom_tests/st_split44.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split44.testcase +++ test/sql_stmt_rtgeom_tests/st_split44.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - Line-Point (not split) -:memory: #use in-memory database -SELECT AsText(ST_SplitRight(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitRight(GeomFromText('LINESTRING(0 0, 10 0)'), MakePoint(11, 0))) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split45.testcase Index: test/sql_stmt_rtgeom_tests/st_split45.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split45.testcase +++ test/sql_stmt_rtgeom_tests/st_split45.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - Line-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_SplitRight(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_SplitRight(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('LINESTRING(11 0, 11 3)'))) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split46.testcase Index: test/sql_stmt_rtgeom_tests/st_split46.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split46.testcase +++ test/sql_stmt_rtgeom_tests/st_split46.testcase @@ -1,7 +0,0 @@ -ST_SplitRigt - MultiLine-Point (not split) -:memory: #use in-memory database -SELECT ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0)); -1 # rows (not including the header row) -1 # columns -ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 0, 10 0))'), MakePoint(-1, 0)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split47.testcase Index: test/sql_stmt_rtgeom_tests/st_split47.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split47.testcase +++ test/sql_stmt_rtgeom_tests/st_split47.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - MultiLine-Line (not split) -:memory: #use in-memory database -SELECT ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)')); -1 # rows (not including the header row) -1 # columns -ST_SplitRight(GeomFromText('MULTILINESTRING((0 2, 10 2), (0 1, 10 1))'), GeomFromText('LINESTRING(-1 0, -1 3)')) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split48.testcase Index: test/sql_stmt_rtgeom_tests/st_split48.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split48.testcase +++ test/sql_stmt_rtgeom_tests/st_split48.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - Polygon-Line (not split) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_SplitRight(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(12 0, 12 20)')))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_SplitRight(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('LINESTRING(12 0, 12 20)')))) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split49.testcase Index: test/sql_stmt_rtgeom_tests/st_split49.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split49.testcase +++ test/sql_stmt_rtgeom_tests/st_split49.testcase @@ -1,7 +0,0 @@ -ST_SplitRight - Collection-Line (not split) -:memory: #use in-memory database -SELECT ST_ForceLHR(ST_SplitRight(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(-1 0, -1 20)'))); -1 # rows (not including the header row) -1 # columns -ST_ForceLHR(ST_SplitRight(GeomFromText('GEOMETRYCOLLECTION(LINESTRING(0 11, 10 11), POLYGON((0 1, 10 1, 10 10, 0 10, 0 1)))'), GeomFromText('LINESTRING(-1 0, -1 20)'))) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split5.testcase Index: test/sql_stmt_rtgeom_tests/st_split5.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split5.testcase +++ test/sql_stmt_rtgeom_tests/st_split5.testcase @@ -1,7 +0,0 @@ -ST_Split - NULL BLOB blade (error) -:memory: #use in-memory database -SELECT ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), NULL); -1 # rows (not including the header row) -1 # columns -ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), NULL) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split6.testcase Index: test/sql_stmt_rtgeom_tests/st_split6.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split6.testcase +++ test/sql_stmt_rtgeom_tests/st_split6.testcase @@ -1,7 +0,0 @@ -ST_Split - text input blade (error) -:memory: #use in-memory database -SELECT ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_Split(GeomFromText('LINESTRING(0 0, 10 0)'), 'alpha') -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split7.testcase Index: test/sql_stmt_rtgeom_tests/st_split7.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split7.testcase +++ test/sql_stmt_rtgeom_tests/st_split7.testcase @@ -1,7 +0,0 @@ -ST_Split - Point-Point (error) -:memory: #use in-memory database -SELECT ST_Split(MakePoint(0, 0), MakePoint(1, 1)); -1 # rows (not including the header row) -1 # columns -ST_Split(MakePoint(0, 0), MakePoint(1, 1)) -(NULL) DELETED test/sql_stmt_rtgeom_tests/st_split8.testcase Index: test/sql_stmt_rtgeom_tests/st_split8.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split8.testcase +++ test/sql_stmt_rtgeom_tests/st_split8.testcase @@ -1,7 +0,0 @@ -ST_Split - Line-Multiline (error) -:memory: #use in-memory database -SELECT AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('MULTILINESTRING((3 0, 3 3), (5 0, 5 3))'))); -1 # rows (not including the header row) -1 # columns -AsText(ST_Split(GeomFromText('LINESTRING(0 1, 10 1)'), GeomFromText('MULTILINESTRING((3 0, 3 3), (5 0, 5 3))'))) -MULTILINESTRING((0 1, 3 1), (3 1, 5 1), (5 1, 10 1)) DELETED test/sql_stmt_rtgeom_tests/st_split9.testcase Index: test/sql_stmt_rtgeom_tests/st_split9.testcase ================================================================== --- test/sql_stmt_rtgeom_tests/st_split9.testcase +++ test/sql_stmt_rtgeom_tests/st_split9.testcase @@ -1,7 +0,0 @@ -ST_Split - Polygon-Multiline (error) -:memory: #use in-memory database -SELECT ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('MULTILINESTRING((3 -1, 3 11), (5 -1, 5 11))')); -1 # rows (not including the header row) -1 # columns -ST_Split(GeomFromText('POLYGON((0 1, 10 1, 10 10, 0 10, 0 1))'), GeomFromText('MULTILINESTRING((3 -1, 3 11), (5 -1, 5 11))')) -(NULL) DELETED test/sql_stmt_rttopo_tests/Makefile.am Index: test/sql_stmt_rttopo_tests/Makefile.am ================================================================== --- test/sql_stmt_rttopo_tests/Makefile.am +++ test/sql_stmt_rttopo_tests/Makefile.am @@ -1,1217 +0,0 @@ - -EXTRA_DIST = addedgemodface1.testcase \ - addedgemodface2.testcase \ - addedgemodface3.testcase \ - addedgemodface4.testcase \ - addedgemodface5.testcase \ - addedgemodface6.testcase \ - addedgemodface7.testcase \ - addedgemodface8.testcase \ - addedgemodface9.testcase \ - addedgemodface10.testcase \ - addedgemodface11.testcase \ - addedgemodface12.testcase \ - addedgemodface13.testcase \ - addedgemodface14.testcase \ - addedgemodface15.testcase \ - addedgemodface16.testcase \ - addedgemodface17.testcase \ - addedgemodface18.testcase \ - addedgemodface19.testcase \ - addedgemodface20.testcase \ - addedgenewfaces1.testcase \ - addedgenewfaces2.testcase \ - addedgenewfaces3.testcase \ - addedgenewfaces4.testcase \ - addedgenewfaces5.testcase \ - addedgenewfaces6.testcase \ - addedgenewfaces7.testcase \ - addedgenewfaces8.testcase \ - addedgenewfaces9.testcase \ - addedgenewfaces10.testcase \ - addedgenewfaces11.testcase \ - addedgenewfaces12.testcase \ - addedgenewfaces13.testcase \ - addedgenewfaces14.testcase \ - addedgenewfaces15.testcase \ - addedgenewfaces16.testcase \ - addedgenewfaces17.testcase \ - addedgenewfaces18.testcase \ - addedgenewfaces19.testcase \ - addedgenewfaces20.testcase \ - addisoedge1.testcase \ - addisoedge2.testcase \ - addisoedge3.testcase \ - addisoedge4.testcase \ - addisoedge5.testcase \ - addisoedge6.testcase \ - addisoedge7.testcase \ - addisoedge8.testcase \ - addisoedge9.testcase \ - addisoedge10.testcase \ - addisoedge11.testcase \ - addisoedge12.testcase \ - addisoedge13.testcase \ - addisoedge14.testcase \ - addisoedge15.testcase \ - addisoedge16.testcase \ - addisoedge17.testcase \ - addisoedge18.testcase \ - addisoedge19.testcase \ - addisoedge20.testcase \ - addisonetnode1.testcase \ - addisonetnode2.testcase \ - addisonetnode3.testcase \ - addisonetnode4.testcase \ - addisonetnode5.testcase \ - addisonode1.testcase \ - addisonode2.testcase \ - addisonode3.testcase \ - addisonode4.testcase \ - addisonode5.testcase \ - addisonode6.testcase \ - addisonode7.testcase \ - addisonode8.testcase \ - addisonode9.testcase \ - addisonode10.testcase \ - addisonode11.testcase \ - addisonode12.testcase \ - addisonode13.testcase \ - addisonode14.testcase \ - addisonode15.testcase \ - addisonode16.testcase \ - addisonode17.testcase \ - addisonode1.testcase \ - addisonode2.testcase \ - addisonode3.testcase \ - addisonode4.testcase \ - addisonode5.testcase \ - addisonode6.testcase \ - addisonode7.testcase \ - addisonode8.testcase \ - addisonode9.testcase \ - addisonode10.testcase \ - addisonode11.testcase \ - addisonode12.testcase \ - addisonode13.testcase \ - addisonode14.testcase \ - addisonode15.testcase \ - addisonode16.testcase \ - addisonode17.testcase \ - addlink1.testcase \ - addlink2.testcase \ - addlink3.testcase \ - addlink4.testcase \ - addlink5.testcase \ - addlink6.testcase \ - addlink7.testcase \ - addlink8.testcase \ - addlink9.testcase \ - addlink10.testcase \ - addlink11.testcase \ - addlink12.testcase \ - addlink13.testcase \ - changeedgegeom1.testcase \ - changeedgegeom2.testcase \ - changeedgegeom3.testcase \ - changeedgegeom4.testcase \ - changeedgegeom5.testcase \ - changeedgegeom6.testcase \ - changeedgegeom7.testcase \ - changeedgegeom8.testcase \ - changeedgegeom9.testcase \ - changeedgegeom10.testcase \ - changeedgegeom11.testcase \ - changeedgegeom12.testcase \ - changeedgegeom13.testcase \ - changeedgegeom14.testcase \ - changeedgegeom15.testcase \ - changeedgegeom16.testcase \ - changeedgegeom17.testcase \ - changelinkgeom1.testcase \ - changelinkgeom2.testcase \ - changelinkgeom3.testcase \ - changelinkgeom4.testcase \ - changelinkgeom5.testcase \ - changelinkgeom6.testcase \ - changelinkgeom7.testcase \ - changelinkgeom8.testcase \ - createtopogeo1.testcase \ - createtopogeo2.testcase \ - createtopogeo3.testcase \ - createtopogeo4.testcase \ - createtopogeo5.testcase \ - createtopogeo6.testcase \ - createtopogeo7.testcase \ - createtopogeo8.testcase \ - createtopogeo9.testcase \ - createtopogeo10.testcase \ - createtopolayer1.testcase \ - createtopolayer2.testcase \ - createtopolayer3.testcase \ - createtopolayer4.testcase \ - createtopolayer5.testcase \ - createtopolayer6.testcase \ - createtopolayer7.testcase \ - createtopolayer8.testcase \ - createtopolayer9.testcase \ - createtopolayer10.testcase \ - createtopolayer11.testcase \ - createtopolayer12.testcase \ - createtopolayer13.testcase \ - createtopolayer14.testcase \ - createtopolayer15.testcase \ - createtopolayer16.testcase \ - createtopolayer17.testcase \ - createtopolayer18.testcase \ - createtopolayer19.testcase \ - createtopolayer20.testcase \ - createtopolayer21.testcase \ - createtopolayer22.testcase \ - createtopolayer23.testcase \ - createtopolayer24.testcase \ - createtopolayer25.testcase \ - createtopolayer26.testcase \ - createtopology1.testcase \ - createtopology2.testcase \ - createtopology3.testcase \ - createtopology4.testcase \ - createtopology5.testcase \ - createtopology6.testcase \ - createtopology7.testcase \ - createtopology8.testcase \ - createtopology9.testcase \ - createtopology10.testcase \ - createtopology11.testcase \ - createtopology12.testcase \ - createtopology13.testcase \ - createtopology14.testcase \ - createtopology15.testcase \ - createtopology16.testcase \ - createtopology17.testcase \ - createtopology18.testcase \ - createtopology19.testcase \ - createtopology20.testcase \ - createtopology21.testcase \ - createtopology22.testcase \ - createnetwork1.testcase \ - createnetwork2.testcase \ - createnetwork3.testcase \ - createnetwork4.testcase \ - createnetwork5.testcase \ - createnetwork6.testcase \ - createnetwork7.testcase \ - createnetwork8.testcase \ - createnetwork9.testcase \ - createnetwork10.testcase \ - createnetwork11.testcase \ - createnetwork12.testcase \ - createnetwork13.testcase \ - createnetwork14.testcase \ - createnetwork15.testcase \ - createnetwork16.testcase \ - createnetwork17.testcase \ - createnetwork18.testcase \ - createnetwork19.testcase \ - createnetwork20.testcase \ - createnetwork21.testcase \ - createnetwork22.testcase \ - createnetwork23.testcase \ - createnetwork24.testcase \ - createnetwork25.testcase \ - droptopology1.testcase \ - droptopology2.testcase \ - droptopology3.testcase \ - droptopology4.testcase \ - droptopology5.testcase \ - dropnetwork1.testcase \ - dropnetwork2.testcase \ - dropnetwork3.testcase \ - dropnetwork4.testcase \ - dropnetwork5.testcase \ - exporttopolayer1.testcase \ - exporttopolayer2.testcase \ - exporttopolayer3.testcase \ - exporttopolayer4.testcase \ - exporttopolayer5.testcase \ - exporttopolayer6.testcase \ - exporttopolayer7.testcase \ - exporttopolayer8.testcase \ - exporttopolayer9.testcase \ - exporttopolayer10.testcase \ - exporttopolayer11.testcase \ - exporttopolayer12.testcase \ - exporttopolayer13.testcase \ - exporttopolayer14.testcase \ - exporttopolayer15.testcase \ - exporttopolayer16.testcase \ - exporttopolayer17.testcase \ - exporttopolayer18.testcase \ - exporttopolayer19.testcase \ - exporttopolayer20.testcase \ - exporttopolayer21.testcase \ - exporttopolayer22.testcase \ - exporttopolayer23.testcase \ - featuretopolayer1.testcase \ - featuretopolayer2.testcase \ - featuretopolayer3.testcase \ - featuretopolayer4.testcase \ - featuretopolayer5.testcase \ - featuretopolayer6.testcase \ - featuretopolayer7.testcase \ - featuretopolayer8.testcase \ - featuretopolayer9.testcase \ - featuretopolayer10.testcase \ - featuretopolayer11.testcase \ - featuretopolayer12.testcase \ - featuretopolayer13.testcase \ - featuretopolayer14.testcase \ - featuretopolayer15.testcase \ - featuretopolayer16.testcase \ - featuretopolayer17.testcase \ - getedgeseed1.testcase \ - getedgeseed2.testcase \ - getedgeseed3.testcase \ - getedgeseed4.testcase \ - getedgeseed5.testcase \ - getedgeseed6.testcase \ - getedgeseed7.testcase \ - getedgeseed8.testcase \ - getedgeseed9.testcase \ - getlinkseed1.testcase \ - getlinkseed2.testcase \ - getlinkseed3.testcase \ - getlinkseed4.testcase \ - getlinkseed5.testcase \ - getlinkseed6.testcase \ - getlinkseed7.testcase \ - getlinkseed8.testcase \ - getlinkseed9.testcase \ - getfaceedges1.testcase \ - getfaceedges2.testcase \ - getfaceedges3.testcase \ - getfaceedges4.testcase \ - getfaceedges5.testcase \ - getfaceedges6.testcase \ - getfaceedges7.testcase \ - getfaceedges8.testcase \ - getfaceedges9.testcase \ - getfacegeometry1.testcase \ - getfacegeometry2.testcase \ - getfacegeometry3.testcase \ - getfacegeometry4.testcase \ - getfacegeometry5.testcase \ - getfacegeometry6.testcase \ - getfacegeometry7.testcase \ - getfacegeometry8.testcase \ - getfacegeometry9.testcase \ - getedgebypoint1.testcase \ - getedgebypoint2.testcase \ - getedgebypoint3.testcase \ - getedgebypoint4.testcase \ - getedgebypoint5.testcase \ - getedgebypoint6.testcase \ - getedgebypoint7.testcase \ - getedgebypoint8.testcase \ - getedgebypoint9.testcase \ - getedgebypoint10.testcase \ - getedgebypoint11.testcase \ - getedgebypoint12.testcase \ - getedgebypoint13.testcase \ - getedgebypoint14.testcase \ - getedgebypoint15.testcase \ - getedgebypoint16.testcase \ - getedgebypoint17.testcase \ - getedgebypoint18.testcase \ - getedgebypoint19.testcase \ - getfacegeometry1.testcase \ - getfacegeometry2.testcase \ - getfacegeometry3.testcase \ - getfacegeometry4.testcase \ - getfacegeometry5.testcase \ - getfacegeometry6.testcase \ - getfacegeometry7.testcase \ - getfacegeometry8.testcase \ - getfacegeometry9.testcase \ - getfacebypoint1.testcase \ - getfacebypoint2.testcase \ - getfacebypoint3.testcase \ - getfacebypoint4.testcase \ - getfacebypoint5.testcase \ - getfacebypoint6.testcase \ - getfacebypoint7.testcase \ - getfacebypoint8.testcase \ - getfacebypoint9.testcase \ - getfacebypoint10.testcase \ - getfacebypoint11.testcase \ - getfacebypoint12.testcase \ - getfacebypoint13.testcase \ - getfacebypoint14.testcase \ - getfacebypoint15.testcase \ - getfacebypoint16.testcase \ - getfacebypoint17.testcase \ - getfaceseed1.testcase \ - getfaceseed2.testcase \ - getfaceseed3.testcase \ - getfaceseed4.testcase \ - getfaceseed5.testcase \ - getfaceseed6.testcase \ - getfaceseed7.testcase \ - getfaceseed8.testcase \ - getfaceseed9.testcase \ - getlinkbypoint1.testcase \ - getlinkbypoint2.testcase \ - getlinkbypoint3.testcase \ - getlinkbypoint4.testcase \ - getlinkbypoint5.testcase \ - getlinkbypoint6.testcase \ - getlinkbypoint7.testcase \ - getlinkbypoint8.testcase \ - getlinkbypoint9.testcase \ - getlinkbypoint10.testcase \ - getlinkbypoint11.testcase \ - getlinkbypoint12.testcase \ - getlinkbypoint13.testcase \ - getlinkbypoint14.testcase \ - getlinkbypoint15.testcase \ - getlinkbypoint16.testcase \ - getlinkbypoint17.testcase \ - getlinkbypoint18.testcase \ - getlinkbypoint19.testcase \ - getlinkbypoint20.testcase \ - getnetnodebypoint1.testcase \ - getnetnodebypoint2.testcase \ - getnetnodebypoint3.testcase \ - getnetnodebypoint4.testcase \ - getnetnodebypoint5.testcase \ - getnetnodebypoint6.testcase \ - getnetnodebypoint7.testcase \ - getnetnodebypoint8.testcase \ - getnetnodebypoint9.testcase \ - getnetnodebypoint10.testcase \ - getnetnodebypoint11.testcase \ - getnetnodebypoint12.testcase \ - getnetnodebypoint13.testcase \ - getnetnodebypoint14.testcase \ - getnetnodebypoint15.testcase \ - getnetnodebypoint16.testcase \ - getnetnodebypoint17.testcase \ - getnetnodebypoint18.testcase \ - getnetnodebypoint19.testcase \ - getnetnodebypoint20.testcase \ - getnodebypoint1.testcase \ - getnodebypoint2.testcase \ - getnodebypoint3.testcase \ - getnodebypoint4.testcase \ - getnodebypoint5.testcase \ - getnodebypoint6.testcase \ - getnodebypoint7.testcase \ - getnodebypoint8.testcase \ - getnodebypoint9.testcase \ - getnodebypoint10.testcase \ - getnodebypoint11.testcase \ - getnodebypoint12.testcase \ - getnodebypoint13.testcase \ - getnodebypoint14.testcase \ - getnodebypoint15.testcase \ - getnodebypoint16.testcase \ - getnodebypoint17.testcase \ - getnodebypoint18.testcase \ - getnodebypoint19.testcase \ - inittopolayer1.testcase \ - inittopolayer2.testcase \ - inittopolayer3.testcase \ - inittopolayer4.testcase \ - inittopolayer5.testcase \ - inittopolayer6.testcase \ - inittopolayer7.testcase \ - inittopolayer8.testcase \ - inittopolayer9.testcase \ - inittopolayer10.testcase \ - inittopolayer11.testcase \ - inittopolayer12.testcase \ - inittopolayer13.testcase \ - inittopolayer14.testcase \ - inittopolayer15.testcase \ - inittopolayer16.testcase \ - inittopolayer17.testcase \ - linesnapseed1.testcase \ - linesnapseed2.testcase \ - linesnapseed3.testcase \ - linesnapseed4.testcase \ - linesnapseed5.testcase \ - linesnapseed6.testcase \ - linesnapseed7.testcase \ - linesnapseed8.testcase \ - linesnapseed9.testcase \ - linesnapseed10.testcase \ - linesnapseed11.testcase \ - linesnapseed12.testcase \ - linesnapseed13.testcase \ - linesnapseed14.testcase \ - linesnapseed15.testcase \ - linesnapseed16.testcase \ - linesnapseed17.testcase \ - loginetfromtgeo1.testcase \ - loginetfromtgeo2.testcase \ - loginetfromtgeo3.testcase \ - loginetfromtgeo4.testcase \ - loginetfromtgeo5.testcase \ - loginetfromtgeo6.testcase \ - loginetfromtgeo7.testcase \ - loginetfromtgeo8.testcase \ - loginetfromtgeo9.testcase \ - modedgeheal1.testcase \ - modedgeheal2.testcase \ - modedgeheal3.testcase \ - modedgeheal4.testcase \ - modedgeheal5.testcase \ - modedgeheal6.testcase \ - modedgeheal7.testcase \ - modedgeheal8.testcase \ - modedgeheal9.testcase \ - modedgeheal10.testcase \ - modedgeheal11.testcase \ - modedgeheal12.testcase \ - modedgeheal13.testcase \ - modedgesplit1.testcase \ - modedgesplit2.testcase \ - modedgesplit3.testcase \ - modedgesplit4.testcase \ - modedgesplit5.testcase \ - modedgesplit6.testcase \ - modedgesplit7.testcase \ - modedgesplit8.testcase \ - modedgesplit9.testcase \ - modedgesplit10.testcase \ - modedgesplit11.testcase \ - modedgesplit12.testcase \ - modedgesplit13.testcase \ - modedgesplit14.testcase \ - modedgesplit15.testcase \ - modedgesplit16.testcase \ - modgeolinksplit1.testcase \ - modgeolinksplit2.testcase \ - modgeolinksplit3.testcase \ - modgeolinksplit4.testcase \ - modgeolinksplit5.testcase \ - modgeolinksplit6.testcase \ - modgeolinksplit7.testcase \ - modgeolinksplit8.testcase \ - modgeolinksplit9.testcase \ - modlinkheal1.testcase \ - modlinkheal2.testcase \ - modlinkheal3.testcase \ - modlinkheal4.testcase \ - modlinkheal5.testcase \ - modlinkheal6.testcase \ - modlinkheal7.testcase \ - modlinkheal8.testcase \ - modlinkheal9.testcase \ - modlinkheal10.testcase \ - modlinkheal11.testcase \ - modlinkheal12.testcase \ - modlinkheal13.testcase \ - modloglinksplit1.testcase \ - modloglinksplit2.testcase \ - modloglinksplit3.testcase \ - modloglinksplit4.testcase \ - modloglinksplit5.testcase \ - modloglinksplit6.testcase \ - modloglinksplit7.testcase \ - modloglinksplit8.testcase \ - modloglinksplit9.testcase \ - moveisonetnode1.testcase \ - moveisonetnode2.testcase \ - moveisonetnode3.testcase \ - moveisonetnode4.testcase \ - moveisonetnode5.testcase \ - moveisonetnode6.testcase \ - moveisonetnode7.testcase \ - moveisonetnode8.testcase \ - moveisonetnode9.testcase \ - moveisonode1.testcase \ - moveisonode2.testcase \ - moveisonode3.testcase \ - moveisonode4.testcase \ - moveisonode5.testcase \ - moveisonode6.testcase \ - moveisonode7.testcase \ - moveisonode8.testcase \ - moveisonode9.testcase \ - moveisonode10.testcase \ - moveisonode11.testcase \ - moveisonode12.testcase \ - moveisonode13.testcase \ - moveisonode14.testcase \ - moveisonode15.testcase \ - moveisonode16.testcase \ - moveisonode17.testcase \ - netexception1.testcase \ - netexception2.testcase \ - newedgeheal1.testcase \ - newedgeheal2.testcase \ - newedgeheal3.testcase \ - newedgeheal4.testcase \ - newedgeheal5.testcase \ - newedgeheal6.testcase \ - newedgeheal7.testcase \ - newedgeheal8.testcase \ - newedgeheal9.testcase \ - newedgeheal10.testcase \ - newedgeheal11.testcase \ - newedgeheal12.testcase \ - newedgeheal13.testcase \ - newedgessplit1.testcase \ - newedgessplit2.testcase \ - newedgessplit3.testcase \ - newedgessplit4.testcase \ - newedgessplit5.testcase \ - newedgessplit6.testcase \ - newedgessplit7.testcase \ - newedgessplit8.testcase \ - newedgessplit9.testcase \ - newedgessplit10.testcase \ - newedgessplit11.testcase \ - newedgessplit12.testcase \ - newedgessplit13.testcase \ - newedgessplit14.testcase \ - newedgessplit15.testcase \ - newedgessplit16.testcase \ - newgeolinksplit1.testcase \ - newgeolinksplit2.testcase \ - newgeolinksplit3.testcase \ - newgeolinksplit4.testcase \ - newgeolinksplit5.testcase \ - newgeolinksplit6.testcase \ - newgeolinksplit7.testcase \ - newgeolinksplit8.testcase \ - newgeolinksplit9.testcase \ - newlinkheal1.testcase \ - newlinkheal2.testcase \ - newlinkheal3.testcase \ - newlinkheal4.testcase \ - newlinkheal5.testcase \ - newlinkheal6.testcase \ - newlinkheal7.testcase \ - newlinkheal8.testcase \ - newlinkheal9.testcase \ - newlinkheal10.testcase \ - newlinkheal11.testcase \ - newlinkheal12.testcase \ - newlinkheal13.testcase \ - newloglinksplit1.testcase \ - newloglinksplit2.testcase \ - newloglinksplit3.testcase \ - newloglinksplit4.testcase \ - newloglinksplit5.testcase \ - newloglinksplit6.testcase \ - newloglinksplit7.testcase \ - newloglinksplit8.testcase \ - newloglinksplit9.testcase \ - pointsnapseed1.testcase \ - pointsnapseed2.testcase \ - pointsnapseed3.testcase \ - pointsnapseed4.testcase \ - pointsnapseed5.testcase \ - pointsnapseed6.testcase \ - pointsnapseed7.testcase \ - pointsnapseed8.testcase \ - pointsnapseed9.testcase \ - pointsnapseed10.testcase \ - pointsnapseed11.testcase \ - pointsnapseed12.testcase \ - pointsnapseed13.testcase \ - pointsnapseed14.testcase \ - pointsnapseed15.testcase \ - pointsnapseed16.testcase \ - pointsnapseed17.testcase \ - polygonize1.testcase \ - polygonize2.testcase \ - polygonize3.testcase \ - polygonize4.testcase \ - polygonize5.testcase \ - polygonize6.testcase \ - polygonize7.testcase \ - polygonize8.testcase \ - polygonize9.testcase \ - polygonize10.testcase \ - remedgemodface1.testcase \ - remedgemodface2.testcase \ - remedgemodface3.testcase \ - remedgemodface4.testcase \ - remedgemodface5.testcase \ - remedgemodface6.testcase \ - remedgemodface7.testcase \ - remedgemodface8.testcase \ - remedgemodface9.testcase \ - remedgenewface1.testcase \ - remedgenewface2.testcase \ - remedgenewface3.testcase \ - remedgenewface4.testcase \ - remedgenewface5.testcase \ - remedgenewface6.testcase \ - remedgenewface7.testcase \ - remedgenewface8.testcase \ - remedgenewface9.testcase \ - remisoedge1.testcase \ - remisoedge2.testcase \ - remisoedge3.testcase \ - remisoedge4.testcase \ - remisoedge5.testcase \ - remisoedge6.testcase \ - remisoedge7.testcase \ - remisoedge8.testcase \ - remisoedge9.testcase \ - remisonode1.testcase \ - remisonode2.testcase \ - remisonode3.testcase \ - remisonode4.testcase \ - remisonode5.testcase \ - remisonode6.testcase \ - remisonode7.testcase \ - remisonode8.testcase \ - remisonode9.testcase \ - remisonetnode1.testcase \ - remisonetnode2.testcase \ - remisonetnode3.testcase \ - remisonetnode4.testcase \ - remisonetnode5.testcase \ - remisonetnode6.testcase \ - remisonetnode7.testcase \ - remisonetnode8.testcase \ - remisonetnode9.testcase \ - remlink1.testcase \ - remlink2.testcase \ - remlink3.testcase \ - remlink4.testcase \ - remlink5.testcase \ - remlink6.testcase \ - remlink7.testcase \ - remlink8.testcase \ - remlink9.testcase \ - removetopolayer1.testcase \ - removetopolayer2.testcase \ - removetopolayer3.testcase \ - removetopolayer4.testcase \ - removetopolayer5.testcase \ - removetopolayer6.testcase \ - removetopolayer7.testcase \ - removetopolayer8.testcase \ - removetopolayer9.testcase \ - snappedgeotable1.testcase \ - snappedgeotable2.testcase \ - snappedgeotable3.testcase \ - snappedgeotable4.testcase \ - snappedgeotable5.testcase \ - snappedgeotable6.testcase \ - snappedgeotable7.testcase \ - snappedgeotable8.testcase \ - snappedgeotable9.testcase \ - snappedgeotable10.testcase \ - snappedgeotable11.testcase \ - snappedgeotable12.testcase \ - snappedgeotable13.testcase \ - snappedgeotable14.testcase \ - snappedgeotable15.testcase \ - snappedgeotable16.testcase \ - snappedgeotable17.testcase \ - snappedgeotable18.testcase \ - snappedgeotable19.testcase \ - snappedgeotable20.testcase \ - snappedgeotable21.testcase \ - snappedgeotable22.testcase \ - snappedgeotable23.testcase \ - snappedgeotable24.testcase \ - snappedgeotable25.testcase \ - snappedgeotable26.testcase \ - snappedgeotable27.testcase \ - snappedgeotable28.testcase \ - snappedgeotable29.testcase \ - snappedgeotable30.testcase \ - snappedgeotable31.testcase \ - snappedgeotable32.testcase \ - snappedgeotable33.testcase \ - spatnetfromtgeo1.testcase \ - spatnetfromtgeo2.testcase \ - spatnetfromtgeo3.testcase \ - spatnetfromtgeo4.testcase \ - spatnetfromtgeo5.testcase \ - spatnetfromtgeo6.testcase \ - spatnetfromtgeo7.testcase \ - spatnetfromtgeo8.testcase \ - spatnetfromtgeo9.testcase \ - spatnetfromgeom1.testcase \ - spatnetfromgeom2.testcase \ - spatnetfromgeom3.testcase \ - spatnetfromgeom4.testcase \ - spatnetfromgeom5.testcase \ - spatnetfromgeom6.testcase \ - spatnetfromgeom7.testcase \ - spatnetfromgeom8.testcase \ - spatnetfromgeom9.testcase \ - spatnetfromgeom10.testcase \ - topoexception1.testcase \ - topoexception2.testcase \ - topogeoaddpoint1.testcase \ - topogeoaddpoint2.testcase \ - topogeoaddpoint3.testcase \ - topogeoaddpoint4.testcase \ - topogeoaddpoint5.testcase \ - topogeoaddpoint6.testcase \ - topogeoaddpoint7.testcase \ - topogeoaddpoint8.testcase \ - topogeoaddpoint9.testcase \ - topogeoaddpoint10.testcase \ - topogeoaddpoint11.testcase \ - topogeoaddpoint12.testcase \ - topogeoaddpoint13.testcase \ - topogeoaddpoint14.testcase \ - topogeoaddpoint15.testcase \ - topogeoaddpoint16.testcase \ - topogeoaddpoint17.testcase \ - topogeoaddline1.testcase \ - topogeoaddline2.testcase \ - topogeoaddline3.testcase \ - topogeoaddline4.testcase \ - topogeoaddline5.testcase \ - topogeoaddline6.testcase \ - topogeoaddline7.testcase \ - topogeoaddline8.testcase \ - topogeoaddline9.testcase \ - topogeoaddline10.testcase \ - topogeoaddline11.testcase \ - topogeoaddline12.testcase \ - topogeoaddline13.testcase \ - topogeoaddline14.testcase \ - topogeoaddline15.testcase \ - topogeoaddline16.testcase \ - topogeoaddline17.testcase \ - topogeoaddline18.testcase \ - topogeoaddline19.testcase \ - topogeoaddlinenf1.testcase \ - topogeoaddlinenf2.testcase \ - topogeoaddlinenf3.testcase \ - topogeoaddlinenf4.testcase \ - topogeoaddlinenf5.testcase \ - topogeoaddlinenf6.testcase \ - topogeoaddlinenf7.testcase \ - topogeoaddlinenf8.testcase \ - topogeoaddlinenf9.testcase \ - topogeoaddlinenf10.testcase \ - topogeoaddlinenf11.testcase \ - topogeoaddlinenf12.testcase \ - topogeoaddlinenf13.testcase \ - topogeoaddlinenf14.testcase \ - topogeoaddlinenf15.testcase \ - topogeoaddlinenf16.testcase \ - topogeoaddlinenf17.testcase \ - topogeoaddlinenf18.testcase \ - topogeoaddlinenf19.testcase \ - topogeoclone1.testcase \ - topogeoclone2.testcase \ - topogeoclone3.testcase \ - topogeoclone4.testcase \ - topogeoclone5.testcase \ - topogeoclone6.testcase \ - topogeoclone7.testcase \ - topogeoclone8.testcase \ - topogeoclone9.testcase \ - topogeoclone10.testcase \ - topogeoclone11.testcase \ - topogeoclone12.testcase \ - topogeofromext1.testcase \ - topogeofromext2.testcase \ - topogeofromext3.testcase \ - topogeofromext4.testcase \ - topogeofromext5.testcase \ - topogeofromext6.testcase \ - topogeofromext7.testcase \ - topogeofromext8.testcase \ - topogeofromext9.testcase \ - topogeofromext10.testcase \ - topogeofromext11.testcase \ - topogeofromext12.testcase \ - topogeofromext13.testcase \ - topogeofromext14.testcase \ - topogeofromext15.testcase \ - topogeofromext16.testcase \ - topogeofromext17.testcase \ - topogeofromext18.testcase \ - topogeofromext19.testcase \ - topogeofromext20.testcase \ - topogeofromext21.testcase \ - topogeofromext22.testcase \ - topogeofromext23.testcase \ - topogeofromext24.testcase \ - topogeofromext25.testcase \ - topogeofromext26.testcase \ - topogeofromext27.testcase \ - topogeofromext28.testcase \ - topogeofromext29.testcase \ - topogeofromext30.testcase \ - topogeofromext31.testcase \ - topogeofromext32.testcase \ - topogeofromext33.testcase \ - topogeofromext34.testcase \ - topogeofromext35.testcase \ - topogeofromext36.testcase \ - topogeofromext37.testcase \ - topogeofromext38.testcase \ - topogeofromext39.testcase \ - topogeofromext40.testcase \ - topogeofromext41.testcase \ - topogeofromext42.testcase \ - topogeofromext43.testcase \ - topogeofromextnf1.testcase \ - topogeofromextnf2.testcase \ - topogeofromextnf3.testcase \ - topogeofromextnf4.testcase \ - topogeofromextnf5.testcase \ - topogeofromextnf6.testcase \ - topogeofromextnf7.testcase \ - topogeofromextnf8.testcase \ - topogeofromextnf9.testcase \ - topogeofromextnf10.testcase \ - topogeofromextnf11.testcase \ - topogeofromextnf12.testcase \ - topogeofromextnf13.testcase \ - topogeofromextnf14.testcase \ - topogeofromextnf15.testcase \ - topogeofromextnf16.testcase \ - topogeofromextnf17.testcase \ - topogeofromextnf18.testcase \ - topogeofromextnf19.testcase \ - topogeofromextnf20.testcase \ - topogeofromextnf21.testcase \ - topogeofromextnf22.testcase \ - topogeofromextnf23.testcase \ - topogeofromextnf24.testcase \ - topogeofromextnf25.testcase \ - topogeofromextnf26.testcase \ - topogeofromextnf27.testcase \ - topogeofromextnf28.testcase \ - topogeofromextnf29.testcase \ - topogeofromextnf30.testcase \ - topogeofromextnf31.testcase \ - topogeofromextnf32.testcase \ - topogeofromextnf33.testcase \ - topogeofromextnf34.testcase \ - topogeofromextnf35.testcase \ - topogeofromextnf36.testcase \ - topogeofromextnf37.testcase \ - topogeofromextnf38.testcase \ - topogeofromextnf39.testcase \ - topogeofromextnf40.testcase \ - topogeofromextnf41.testcase \ - topogeofromextnf42.testcase \ - topogeofromextnf43.testcase \ - topogeofromtable1.testcase \ - topogeofromtable2.testcase \ - topogeofromtable3.testcase \ - topogeofromtable4.testcase \ - topogeofromtable5.testcase \ - topogeofromtable6.testcase \ - topogeofromtable7.testcase \ - topogeofromtable8.testcase \ - topogeofromtable9.testcase \ - topogeofromtable10.testcase \ - topogeofromtable11.testcase \ - topogeofromtable12.testcase \ - topogeofromtable13.testcase \ - topogeofromtable14.testcase \ - topogeofromtable15.testcase \ - topogeofromtable16.testcase \ - topogeofromtable17.testcase \ - topogeofromtable18.testcase \ - topogeofromtable19.testcase \ - topogeofromtable20.testcase \ - topogeofromtable21.testcase \ - topogeofromtable22.testcase \ - topogeofromtable23.testcase \ - topogeofromtable24.testcase \ - topogeofromtable25.testcase \ - topogeofromtable26.testcase \ - topogeofromtable27.testcase \ - topogeofromtable28.testcase \ - topogeofromtable29.testcase \ - topogeofromtable30.testcase \ - topogeofromtable31.testcase \ - topogeofromtable32.testcase \ - topogeofromtable33.testcase \ - topogeofromtable34.testcase \ - topogeofromtablenf1.testcase \ - topogeofromtablenf2.testcase \ - topogeofromtablenf3.testcase \ - topogeofromtablenf4.testcase \ - topogeofromtablenf5.testcase \ - topogeofromtablenf6.testcase \ - topogeofromtablenf7.testcase \ - topogeofromtablenf8.testcase \ - topogeofromtablenf9.testcase \ - topogeofromtablenf10.testcase \ - topogeofromtablenf11.testcase \ - topogeofromtablenf12.testcase \ - topogeofromtablenf13.testcase \ - topogeofromtablenf14.testcase \ - topogeofromtablenf15.testcase \ - topogeofromtablenf16.testcase \ - topogeofromtablenf17.testcase \ - topogeofromtablenf18.testcase \ - topogeofromtablenf19.testcase \ - topogeofromtablenf20.testcase \ - topogeofromtablenf21.testcase \ - topogeofromtablenf22.testcase \ - topogeofromtablenf23.testcase \ - topogeofromtablenf24.testcase \ - topogeofromtablenf25.testcase \ - topogeofromtablenf26.testcase \ - topogeofromtablenf27.testcase \ - topogeofromtablenf28.testcase \ - topogeofromtablenf29.testcase \ - topogeofromtablenf30.testcase \ - topogeofromtablenf31.testcase \ - topogeofromtablenf32.testcase \ - topogeofromtablenf33.testcase \ - topogeofromtablenf34.testcase \ - topogeomodedgeheal1.testcase \ - topogeomodedgeheal2.testcase \ - topogeomodedgeheal3.testcase \ - topogeomodedgeheal4.testcase \ - topogeomodedgeheal5.testcase \ - topogeonewedgeheal1.testcase \ - topogeonewedgeheal2.testcase \ - topogeonewedgeheal3.testcase \ - topogeonewedgeheal4.testcase \ - topogeonewedgeheal5.testcase \ - topogeosplitline1.testcase \ - topogeosplitline2.testcase \ - topogeosplitline3.testcase \ - topogeosplitline4.testcase \ - topogeosplitline5.testcase \ - topogeosplitline6.testcase \ - topogeosplitline7.testcase \ - topogeosplitline8.testcase \ - topogeosplitline9.testcase \ - topogeosplitline10.testcase \ - topogeosplitline11.testcase \ - topogeosplitline12.testcase \ - topogeosplitline13.testcase \ - topogeosplitline14.testcase \ - topogeosplitline15.testcase \ - topogeosplitline16.testcase \ - topogeosplitline17.testcase \ - topogeosplitline18.testcase \ - topogeosplitline19.testcase \ - topogeoremovesmall1.testcase \ - topogeoremovesmall2.testcase \ - topogeoremovesmall3.testcase \ - topogeoremovesmall4.testcase \ - topogeoremovesmall5.testcase \ - topogeoremovesmall6.testcase \ - topogeoremovesmall7.testcase \ - topogeoremovesmall8.testcase \ - topogeoremovesmall9.testcase \ - topogeoremoveedges1.testcase \ - topogeoremoveedges2.testcase \ - topogeoremoveedges3.testcase \ - topogeoremoveedges4.testcase \ - topogeoremoveedges5.testcase \ - topogeoremovenodes1.testcase \ - topogeoremovenodes2.testcase \ - topogeoremovenodes3.testcase \ - topogeoremovenodes4.testcase \ - topogeoremovenodes5.testcase \ - topogeototable1.testcase \ - topogeototable2.testcase \ - topogeototable3.testcase \ - topogeototable4.testcase \ - topogeototable5.testcase \ - topogeototable6.testcase \ - topogeototable7.testcase \ - topogeototable8.testcase \ - topogeototable9.testcase \ - topogeototable10.testcase \ - topogeototable11.testcase \ - topogeototable12.testcase \ - topogeototable13.testcase \ - topogeototable14.testcase \ - topogeototable15.testcase \ - topogeototable16.testcase \ - topogeototable17.testcase \ - topogeototable18.testcase \ - topogeototable19.testcase \ - topogeototable20.testcase \ - topogeototable21.testcase \ - topogeototable22.testcase \ - topogeototable23.testcase \ - topogeototable24.testcase \ - topogeototable25.testcase \ - topogeototable26.testcase \ - topogeototablegen1.testcase \ - topogeototablegen2.testcase \ - topogeototablegen3.testcase \ - topogeototablegen4.testcase \ - topogeototablegen5.testcase \ - topogeototablegen6.testcase \ - topogeototablegen7.testcase \ - topogeototablegen8.testcase \ - topogeototablegen9.testcase \ - topogeototablegen10.testcase \ - topogeototablegen11.testcase \ - topogeototablegen12.testcase \ - topogeototablegen13.testcase \ - topogeototablegen14.testcase \ - topogeototablegen15.testcase \ - topogeototablegen16.testcase \ - topogeototablegen17.testcase \ - topogeototablegen18.testcase \ - topogeototablegen19.testcase \ - topogeototablegen20.testcase \ - topogeototablegen21.testcase \ - topogeototablegen22.testcase \ - topogeototablegen23.testcase \ - topogeototablegen24.testcase \ - topogeototablegen25.testcase \ - topogeototablegen26.testcase \ - topogeototablegen27.testcase \ - topogeototablegen28.testcase \ - topogeototablegen29.testcase \ - topogeototablegen30.testcase \ - topogeototablegen31.testcase \ - topogeoupdateseeds1.testcase \ - topogeoupdateseeds2.testcase \ - topogeoupdateseeds3.testcase \ - topogeoupdateseeds4.testcase \ - topogeoupdateseeds5.testcase \ - topogeoupdateseeds6.testcase \ - topogeoupdateseeds7.testcase \ - topogeoupdateseeds8.testcase \ - topogeoupdateseeds9.testcase \ - topogeoupdateseeds10.testcase \ - toponetclone1.testcase \ - toponetclone2.testcase \ - toponetclone3.testcase \ - toponetclone4.testcase \ - toponetclone5.testcase \ - toponetclone6.testcase \ - toponetclone7.testcase \ - toponetclone8.testcase \ - toponetclone9.testcase \ - toponetclone10.testcase \ - toponetclone11.testcase \ - toponetclone12.testcase \ - toponetfromtable1.testcase \ - toponetfromtable2.testcase \ - toponetfromtable3.testcase \ - toponetfromtable4.testcase \ - toponetfromtable5.testcase \ - toponetfromtable6.testcase \ - toponetfromtable7.testcase \ - toponetfromtable8.testcase \ - toponetfromtable9.testcase \ - toponetfromtable10.testcase \ - toponetfromtable11.testcase \ - toponetfromtable12.testcase \ - toponetfromtable13.testcase \ - toponetfromtable14.testcase \ - toponetfromtable15.testcase \ - toponetfromtable16.testcase \ - toponetfromtable17.testcase \ - toponettotable1.testcase \ - toponettotable2.testcase \ - toponettotable3.testcase \ - toponettotable4.testcase \ - toponettotable5.testcase \ - toponettotable6.testcase \ - toponettotable7.testcase \ - toponettotable8.testcase \ - toponettotable9.testcase \ - toponettotable10.testcase \ - toponettotable11.testcase \ - toponettotable12.testcase \ - toponettotable13.testcase \ - toponettotable14.testcase \ - toponettotable15.testcase \ - toponettotable16.testcase \ - toponettotable17.testcase \ - toponettotable18.testcase \ - toponettotable19.testcase \ - toponettotable20.testcase \ - toponettotable21.testcase \ - toponettotable22.testcase \ - toponettotable23.testcase \ - toponettotable24.testcase \ - toponettotable25.testcase \ - toponettotable26.testcase \ - toponettotablegen1.testcase \ - toponettotablegen2.testcase \ - toponettotablegen3.testcase \ - toponettotablegen4.testcase \ - toponettotablegen5.testcase \ - toponettotablegen6.testcase \ - toponettotablegen7.testcase \ - toponettotablegen8.testcase \ - toponettotablegen9.testcase \ - toponettotablegen10.testcase \ - toponettotablegen11.testcase \ - toponettotablegen12.testcase \ - toponettotablegen13.testcase \ - toponettotablegen14.testcase \ - toponettotablegen15.testcase \ - toponettotablegen16.testcase \ - toponettotablegen17.testcase \ - toponettotablegen18.testcase \ - toponettotablegen19.testcase \ - toponettotablegen20.testcase \ - toponettotablegen21.testcase \ - toponettotablegen22.testcase \ - toponettotablegen23.testcase \ - toponettotablegen24.testcase \ - toponettotablegen25.testcase \ - toponettotablegen26.testcase \ - toponettotablegen27.testcase \ - toponettotablegen28.testcase \ - toponettotablegen29.testcase \ - toponettotablegen30.testcase \ - toponettotablegen31.testcase \ - toposnap1.testcase \ - toposnap2.testcase \ - toposnap3.testcase \ - toposnap4.testcase \ - toposnap5.testcase \ - toposnap6.testcase \ - toposnap7.testcase \ - toposnap8.testcase \ - toposnap9.testcase \ - toposnap10.testcase \ - toposnap11.testcase \ - toposnap12.testcase \ - toposnap13.testcase \ - toposnap14.testcase \ - toposnap15.testcase \ - toposnap16.testcase \ - toposnap17.testcase \ - toposnap18.testcase \ - toposnap19.testcase \ - toposnap20.testcase \ - toposnap21.testcase \ - toposnap22.testcase \ - toposnap23.testcase \ - toposnap24.testcase \ - validatetopogeo1.testcase \ - validatetopogeo2.testcase \ - validatetopogeo3.testcase \ - validatetopogeo4.testcase \ - validatetopogeo5.testcase \ - validlogicalnet1.testcase \ - validlogicalnet2.testcase \ - validlogicalnet3.testcase \ - validlogicalnet4.testcase \ - validlogicalnet5.testcase \ - validspatialnet1.testcase \ - validspatialnet2.testcase \ - validspatialnet3.testcase \ - validspatialnet4.testcase \ - validspatialnet5.testcase - DELETED test/sql_stmt_rttopo_tests/Makefile.in Index: test/sql_stmt_rttopo_tests/Makefile.in ================================================================== --- test/sql_stmt_rttopo_tests/Makefile.in +++ test/sql_stmt_rttopo_tests/Makefile.in @@ -1,1664 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_rttopo_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = addedgemodface1.testcase \ - addedgemodface2.testcase \ - addedgemodface3.testcase \ - addedgemodface4.testcase \ - addedgemodface5.testcase \ - addedgemodface6.testcase \ - addedgemodface7.testcase \ - addedgemodface8.testcase \ - addedgemodface9.testcase \ - addedgemodface10.testcase \ - addedgemodface11.testcase \ - addedgemodface12.testcase \ - addedgemodface13.testcase \ - addedgemodface14.testcase \ - addedgemodface15.testcase \ - addedgemodface16.testcase \ - addedgemodface17.testcase \ - addedgemodface18.testcase \ - addedgemodface19.testcase \ - addedgemodface20.testcase \ - addedgenewfaces1.testcase \ - addedgenewfaces2.testcase \ - addedgenewfaces3.testcase \ - addedgenewfaces4.testcase \ - addedgenewfaces5.testcase \ - addedgenewfaces6.testcase \ - addedgenewfaces7.testcase \ - addedgenewfaces8.testcase \ - addedgenewfaces9.testcase \ - addedgenewfaces10.testcase \ - addedgenewfaces11.testcase \ - addedgenewfaces12.testcase \ - addedgenewfaces13.testcase \ - addedgenewfaces14.testcase \ - addedgenewfaces15.testcase \ - addedgenewfaces16.testcase \ - addedgenewfaces17.testcase \ - addedgenewfaces18.testcase \ - addedgenewfaces19.testcase \ - addedgenewfaces20.testcase \ - addisoedge1.testcase \ - addisoedge2.testcase \ - addisoedge3.testcase \ - addisoedge4.testcase \ - addisoedge5.testcase \ - addisoedge6.testcase \ - addisoedge7.testcase \ - addisoedge8.testcase \ - addisoedge9.testcase \ - addisoedge10.testcase \ - addisoedge11.testcase \ - addisoedge12.testcase \ - addisoedge13.testcase \ - addisoedge14.testcase \ - addisoedge15.testcase \ - addisoedge16.testcase \ - addisoedge17.testcase \ - addisoedge18.testcase \ - addisoedge19.testcase \ - addisoedge20.testcase \ - addisonetnode1.testcase \ - addisonetnode2.testcase \ - addisonetnode3.testcase \ - addisonetnode4.testcase \ - addisonetnode5.testcase \ - addisonode1.testcase \ - addisonode2.testcase \ - addisonode3.testcase \ - addisonode4.testcase \ - addisonode5.testcase \ - addisonode6.testcase \ - addisonode7.testcase \ - addisonode8.testcase \ - addisonode9.testcase \ - addisonode10.testcase \ - addisonode11.testcase \ - addisonode12.testcase \ - addisonode13.testcase \ - addisonode14.testcase \ - addisonode15.testcase \ - addisonode16.testcase \ - addisonode17.testcase \ - addisonode1.testcase \ - addisonode2.testcase \ - addisonode3.testcase \ - addisonode4.testcase \ - addisonode5.testcase \ - addisonode6.testcase \ - addisonode7.testcase \ - addisonode8.testcase \ - addisonode9.testcase \ - addisonode10.testcase \ - addisonode11.testcase \ - addisonode12.testcase \ - addisonode13.testcase \ - addisonode14.testcase \ - addisonode15.testcase \ - addisonode16.testcase \ - addisonode17.testcase \ - addlink1.testcase \ - addlink2.testcase \ - addlink3.testcase \ - addlink4.testcase \ - addlink5.testcase \ - addlink6.testcase \ - addlink7.testcase \ - addlink8.testcase \ - addlink9.testcase \ - addlink10.testcase \ - addlink11.testcase \ - addlink12.testcase \ - addlink13.testcase \ - changeedgegeom1.testcase \ - changeedgegeom2.testcase \ - changeedgegeom3.testcase \ - changeedgegeom4.testcase \ - changeedgegeom5.testcase \ - changeedgegeom6.testcase \ - changeedgegeom7.testcase \ - changeedgegeom8.testcase \ - changeedgegeom9.testcase \ - changeedgegeom10.testcase \ - changeedgegeom11.testcase \ - changeedgegeom12.testcase \ - changeedgegeom13.testcase \ - changeedgegeom14.testcase \ - changeedgegeom15.testcase \ - changeedgegeom16.testcase \ - changeedgegeom17.testcase \ - changelinkgeom1.testcase \ - changelinkgeom2.testcase \ - changelinkgeom3.testcase \ - changelinkgeom4.testcase \ - changelinkgeom5.testcase \ - changelinkgeom6.testcase \ - changelinkgeom7.testcase \ - changelinkgeom8.testcase \ - createtopogeo1.testcase \ - createtopogeo2.testcase \ - createtopogeo3.testcase \ - createtopogeo4.testcase \ - createtopogeo5.testcase \ - createtopogeo6.testcase \ - createtopogeo7.testcase \ - createtopogeo8.testcase \ - createtopogeo9.testcase \ - createtopogeo10.testcase \ - createtopolayer1.testcase \ - createtopolayer2.testcase \ - createtopolayer3.testcase \ - createtopolayer4.testcase \ - createtopolayer5.testcase \ - createtopolayer6.testcase \ - createtopolayer7.testcase \ - createtopolayer8.testcase \ - createtopolayer9.testcase \ - createtopolayer10.testcase \ - createtopolayer11.testcase \ - createtopolayer12.testcase \ - createtopolayer13.testcase \ - createtopolayer14.testcase \ - createtopolayer15.testcase \ - createtopolayer16.testcase \ - createtopolayer17.testcase \ - createtopolayer18.testcase \ - createtopolayer19.testcase \ - createtopolayer20.testcase \ - createtopolayer21.testcase \ - createtopolayer22.testcase \ - createtopolayer23.testcase \ - createtopolayer24.testcase \ - createtopolayer25.testcase \ - createtopolayer26.testcase \ - createtopology1.testcase \ - createtopology2.testcase \ - createtopology3.testcase \ - createtopology4.testcase \ - createtopology5.testcase \ - createtopology6.testcase \ - createtopology7.testcase \ - createtopology8.testcase \ - createtopology9.testcase \ - createtopology10.testcase \ - createtopology11.testcase \ - createtopology12.testcase \ - createtopology13.testcase \ - createtopology14.testcase \ - createtopology15.testcase \ - createtopology16.testcase \ - createtopology17.testcase \ - createtopology18.testcase \ - createtopology19.testcase \ - createtopology20.testcase \ - createtopology21.testcase \ - createtopology22.testcase \ - createnetwork1.testcase \ - createnetwork2.testcase \ - createnetwork3.testcase \ - createnetwork4.testcase \ - createnetwork5.testcase \ - createnetwork6.testcase \ - createnetwork7.testcase \ - createnetwork8.testcase \ - createnetwork9.testcase \ - createnetwork10.testcase \ - createnetwork11.testcase \ - createnetwork12.testcase \ - createnetwork13.testcase \ - createnetwork14.testcase \ - createnetwork15.testcase \ - createnetwork16.testcase \ - createnetwork17.testcase \ - createnetwork18.testcase \ - createnetwork19.testcase \ - createnetwork20.testcase \ - createnetwork21.testcase \ - createnetwork22.testcase \ - createnetwork23.testcase \ - createnetwork24.testcase \ - createnetwork25.testcase \ - droptopology1.testcase \ - droptopology2.testcase \ - droptopology3.testcase \ - droptopology4.testcase \ - droptopology5.testcase \ - dropnetwork1.testcase \ - dropnetwork2.testcase \ - dropnetwork3.testcase \ - dropnetwork4.testcase \ - dropnetwork5.testcase \ - exporttopolayer1.testcase \ - exporttopolayer2.testcase \ - exporttopolayer3.testcase \ - exporttopolayer4.testcase \ - exporttopolayer5.testcase \ - exporttopolayer6.testcase \ - exporttopolayer7.testcase \ - exporttopolayer8.testcase \ - exporttopolayer9.testcase \ - exporttopolayer10.testcase \ - exporttopolayer11.testcase \ - exporttopolayer12.testcase \ - exporttopolayer13.testcase \ - exporttopolayer14.testcase \ - exporttopolayer15.testcase \ - exporttopolayer16.testcase \ - exporttopolayer17.testcase \ - exporttopolayer18.testcase \ - exporttopolayer19.testcase \ - exporttopolayer20.testcase \ - exporttopolayer21.testcase \ - exporttopolayer22.testcase \ - exporttopolayer23.testcase \ - featuretopolayer1.testcase \ - featuretopolayer2.testcase \ - featuretopolayer3.testcase \ - featuretopolayer4.testcase \ - featuretopolayer5.testcase \ - featuretopolayer6.testcase \ - featuretopolayer7.testcase \ - featuretopolayer8.testcase \ - featuretopolayer9.testcase \ - featuretopolayer10.testcase \ - featuretopolayer11.testcase \ - featuretopolayer12.testcase \ - featuretopolayer13.testcase \ - featuretopolayer14.testcase \ - featuretopolayer15.testcase \ - featuretopolayer16.testcase \ - featuretopolayer17.testcase \ - getedgeseed1.testcase \ - getedgeseed2.testcase \ - getedgeseed3.testcase \ - getedgeseed4.testcase \ - getedgeseed5.testcase \ - getedgeseed6.testcase \ - getedgeseed7.testcase \ - getedgeseed8.testcase \ - getedgeseed9.testcase \ - getlinkseed1.testcase \ - getlinkseed2.testcase \ - getlinkseed3.testcase \ - getlinkseed4.testcase \ - getlinkseed5.testcase \ - getlinkseed6.testcase \ - getlinkseed7.testcase \ - getlinkseed8.testcase \ - getlinkseed9.testcase \ - getfaceedges1.testcase \ - getfaceedges2.testcase \ - getfaceedges3.testcase \ - getfaceedges4.testcase \ - getfaceedges5.testcase \ - getfaceedges6.testcase \ - getfaceedges7.testcase \ - getfaceedges8.testcase \ - getfaceedges9.testcase \ - getfacegeometry1.testcase \ - getfacegeometry2.testcase \ - getfacegeometry3.testcase \ - getfacegeometry4.testcase \ - getfacegeometry5.testcase \ - getfacegeometry6.testcase \ - getfacegeometry7.testcase \ - getfacegeometry8.testcase \ - getfacegeometry9.testcase \ - getedgebypoint1.testcase \ - getedgebypoint2.testcase \ - getedgebypoint3.testcase \ - getedgebypoint4.testcase \ - getedgebypoint5.testcase \ - getedgebypoint6.testcase \ - getedgebypoint7.testcase \ - getedgebypoint8.testcase \ - getedgebypoint9.testcase \ - getedgebypoint10.testcase \ - getedgebypoint11.testcase \ - getedgebypoint12.testcase \ - getedgebypoint13.testcase \ - getedgebypoint14.testcase \ - getedgebypoint15.testcase \ - getedgebypoint16.testcase \ - getedgebypoint17.testcase \ - getedgebypoint18.testcase \ - getedgebypoint19.testcase \ - getfacegeometry1.testcase \ - getfacegeometry2.testcase \ - getfacegeometry3.testcase \ - getfacegeometry4.testcase \ - getfacegeometry5.testcase \ - getfacegeometry6.testcase \ - getfacegeometry7.testcase \ - getfacegeometry8.testcase \ - getfacegeometry9.testcase \ - getfacebypoint1.testcase \ - getfacebypoint2.testcase \ - getfacebypoint3.testcase \ - getfacebypoint4.testcase \ - getfacebypoint5.testcase \ - getfacebypoint6.testcase \ - getfacebypoint7.testcase \ - getfacebypoint8.testcase \ - getfacebypoint9.testcase \ - getfacebypoint10.testcase \ - getfacebypoint11.testcase \ - getfacebypoint12.testcase \ - getfacebypoint13.testcase \ - getfacebypoint14.testcase \ - getfacebypoint15.testcase \ - getfacebypoint16.testcase \ - getfacebypoint17.testcase \ - getfaceseed1.testcase \ - getfaceseed2.testcase \ - getfaceseed3.testcase \ - getfaceseed4.testcase \ - getfaceseed5.testcase \ - getfaceseed6.testcase \ - getfaceseed7.testcase \ - getfaceseed8.testcase \ - getfaceseed9.testcase \ - getlinkbypoint1.testcase \ - getlinkbypoint2.testcase \ - getlinkbypoint3.testcase \ - getlinkbypoint4.testcase \ - getlinkbypoint5.testcase \ - getlinkbypoint6.testcase \ - getlinkbypoint7.testcase \ - getlinkbypoint8.testcase \ - getlinkbypoint9.testcase \ - getlinkbypoint10.testcase \ - getlinkbypoint11.testcase \ - getlinkbypoint12.testcase \ - getlinkbypoint13.testcase \ - getlinkbypoint14.testcase \ - getlinkbypoint15.testcase \ - getlinkbypoint16.testcase \ - getlinkbypoint17.testcase \ - getlinkbypoint18.testcase \ - getlinkbypoint19.testcase \ - getlinkbypoint20.testcase \ - getnetnodebypoint1.testcase \ - getnetnodebypoint2.testcase \ - getnetnodebypoint3.testcase \ - getnetnodebypoint4.testcase \ - getnetnodebypoint5.testcase \ - getnetnodebypoint6.testcase \ - getnetnodebypoint7.testcase \ - getnetnodebypoint8.testcase \ - getnetnodebypoint9.testcase \ - getnetnodebypoint10.testcase \ - getnetnodebypoint11.testcase \ - getnetnodebypoint12.testcase \ - getnetnodebypoint13.testcase \ - getnetnodebypoint14.testcase \ - getnetnodebypoint15.testcase \ - getnetnodebypoint16.testcase \ - getnetnodebypoint17.testcase \ - getnetnodebypoint18.testcase \ - getnetnodebypoint19.testcase \ - getnetnodebypoint20.testcase \ - getnodebypoint1.testcase \ - getnodebypoint2.testcase \ - getnodebypoint3.testcase \ - getnodebypoint4.testcase \ - getnodebypoint5.testcase \ - getnodebypoint6.testcase \ - getnodebypoint7.testcase \ - getnodebypoint8.testcase \ - getnodebypoint9.testcase \ - getnodebypoint10.testcase \ - getnodebypoint11.testcase \ - getnodebypoint12.testcase \ - getnodebypoint13.testcase \ - getnodebypoint14.testcase \ - getnodebypoint15.testcase \ - getnodebypoint16.testcase \ - getnodebypoint17.testcase \ - getnodebypoint18.testcase \ - getnodebypoint19.testcase \ - inittopolayer1.testcase \ - inittopolayer2.testcase \ - inittopolayer3.testcase \ - inittopolayer4.testcase \ - inittopolayer5.testcase \ - inittopolayer6.testcase \ - inittopolayer7.testcase \ - inittopolayer8.testcase \ - inittopolayer9.testcase \ - inittopolayer10.testcase \ - inittopolayer11.testcase \ - inittopolayer12.testcase \ - inittopolayer13.testcase \ - inittopolayer14.testcase \ - inittopolayer15.testcase \ - inittopolayer16.testcase \ - inittopolayer17.testcase \ - linesnapseed1.testcase \ - linesnapseed2.testcase \ - linesnapseed3.testcase \ - linesnapseed4.testcase \ - linesnapseed5.testcase \ - linesnapseed6.testcase \ - linesnapseed7.testcase \ - linesnapseed8.testcase \ - linesnapseed9.testcase \ - linesnapseed10.testcase \ - linesnapseed11.testcase \ - linesnapseed12.testcase \ - linesnapseed13.testcase \ - linesnapseed14.testcase \ - linesnapseed15.testcase \ - linesnapseed16.testcase \ - linesnapseed17.testcase \ - loginetfromtgeo1.testcase \ - loginetfromtgeo2.testcase \ - loginetfromtgeo3.testcase \ - loginetfromtgeo4.testcase \ - loginetfromtgeo5.testcase \ - loginetfromtgeo6.testcase \ - loginetfromtgeo7.testcase \ - loginetfromtgeo8.testcase \ - loginetfromtgeo9.testcase \ - modedgeheal1.testcase \ - modedgeheal2.testcase \ - modedgeheal3.testcase \ - modedgeheal4.testcase \ - modedgeheal5.testcase \ - modedgeheal6.testcase \ - modedgeheal7.testcase \ - modedgeheal8.testcase \ - modedgeheal9.testcase \ - modedgeheal10.testcase \ - modedgeheal11.testcase \ - modedgeheal12.testcase \ - modedgeheal13.testcase \ - modedgesplit1.testcase \ - modedgesplit2.testcase \ - modedgesplit3.testcase \ - modedgesplit4.testcase \ - modedgesplit5.testcase \ - modedgesplit6.testcase \ - modedgesplit7.testcase \ - modedgesplit8.testcase \ - modedgesplit9.testcase \ - modedgesplit10.testcase \ - modedgesplit11.testcase \ - modedgesplit12.testcase \ - modedgesplit13.testcase \ - modedgesplit14.testcase \ - modedgesplit15.testcase \ - modedgesplit16.testcase \ - modgeolinksplit1.testcase \ - modgeolinksplit2.testcase \ - modgeolinksplit3.testcase \ - modgeolinksplit4.testcase \ - modgeolinksplit5.testcase \ - modgeolinksplit6.testcase \ - modgeolinksplit7.testcase \ - modgeolinksplit8.testcase \ - modgeolinksplit9.testcase \ - modlinkheal1.testcase \ - modlinkheal2.testcase \ - modlinkheal3.testcase \ - modlinkheal4.testcase \ - modlinkheal5.testcase \ - modlinkheal6.testcase \ - modlinkheal7.testcase \ - modlinkheal8.testcase \ - modlinkheal9.testcase \ - modlinkheal10.testcase \ - modlinkheal11.testcase \ - modlinkheal12.testcase \ - modlinkheal13.testcase \ - modloglinksplit1.testcase \ - modloglinksplit2.testcase \ - modloglinksplit3.testcase \ - modloglinksplit4.testcase \ - modloglinksplit5.testcase \ - modloglinksplit6.testcase \ - modloglinksplit7.testcase \ - modloglinksplit8.testcase \ - modloglinksplit9.testcase \ - moveisonetnode1.testcase \ - moveisonetnode2.testcase \ - moveisonetnode3.testcase \ - moveisonetnode4.testcase \ - moveisonetnode5.testcase \ - moveisonetnode6.testcase \ - moveisonetnode7.testcase \ - moveisonetnode8.testcase \ - moveisonetnode9.testcase \ - moveisonode1.testcase \ - moveisonode2.testcase \ - moveisonode3.testcase \ - moveisonode4.testcase \ - moveisonode5.testcase \ - moveisonode6.testcase \ - moveisonode7.testcase \ - moveisonode8.testcase \ - moveisonode9.testcase \ - moveisonode10.testcase \ - moveisonode11.testcase \ - moveisonode12.testcase \ - moveisonode13.testcase \ - moveisonode14.testcase \ - moveisonode15.testcase \ - moveisonode16.testcase \ - moveisonode17.testcase \ - netexception1.testcase \ - netexception2.testcase \ - newedgeheal1.testcase \ - newedgeheal2.testcase \ - newedgeheal3.testcase \ - newedgeheal4.testcase \ - newedgeheal5.testcase \ - newedgeheal6.testcase \ - newedgeheal7.testcase \ - newedgeheal8.testcase \ - newedgeheal9.testcase \ - newedgeheal10.testcase \ - newedgeheal11.testcase \ - newedgeheal12.testcase \ - newedgeheal13.testcase \ - newedgessplit1.testcase \ - newedgessplit2.testcase \ - newedgessplit3.testcase \ - newedgessplit4.testcase \ - newedgessplit5.testcase \ - newedgessplit6.testcase \ - newedgessplit7.testcase \ - newedgessplit8.testcase \ - newedgessplit9.testcase \ - newedgessplit10.testcase \ - newedgessplit11.testcase \ - newedgessplit12.testcase \ - newedgessplit13.testcase \ - newedgessplit14.testcase \ - newedgessplit15.testcase \ - newedgessplit16.testcase \ - newgeolinksplit1.testcase \ - newgeolinksplit2.testcase \ - newgeolinksplit3.testcase \ - newgeolinksplit4.testcase \ - newgeolinksplit5.testcase \ - newgeolinksplit6.testcase \ - newgeolinksplit7.testcase \ - newgeolinksplit8.testcase \ - newgeolinksplit9.testcase \ - newlinkheal1.testcase \ - newlinkheal2.testcase \ - newlinkheal3.testcase \ - newlinkheal4.testcase \ - newlinkheal5.testcase \ - newlinkheal6.testcase \ - newlinkheal7.testcase \ - newlinkheal8.testcase \ - newlinkheal9.testcase \ - newlinkheal10.testcase \ - newlinkheal11.testcase \ - newlinkheal12.testcase \ - newlinkheal13.testcase \ - newloglinksplit1.testcase \ - newloglinksplit2.testcase \ - newloglinksplit3.testcase \ - newloglinksplit4.testcase \ - newloglinksplit5.testcase \ - newloglinksplit6.testcase \ - newloglinksplit7.testcase \ - newloglinksplit8.testcase \ - newloglinksplit9.testcase \ - pointsnapseed1.testcase \ - pointsnapseed2.testcase \ - pointsnapseed3.testcase \ - pointsnapseed4.testcase \ - pointsnapseed5.testcase \ - pointsnapseed6.testcase \ - pointsnapseed7.testcase \ - pointsnapseed8.testcase \ - pointsnapseed9.testcase \ - pointsnapseed10.testcase \ - pointsnapseed11.testcase \ - pointsnapseed12.testcase \ - pointsnapseed13.testcase \ - pointsnapseed14.testcase \ - pointsnapseed15.testcase \ - pointsnapseed16.testcase \ - pointsnapseed17.testcase \ - polygonize1.testcase \ - polygonize2.testcase \ - polygonize3.testcase \ - polygonize4.testcase \ - polygonize5.testcase \ - polygonize6.testcase \ - polygonize7.testcase \ - polygonize8.testcase \ - polygonize9.testcase \ - polygonize10.testcase \ - remedgemodface1.testcase \ - remedgemodface2.testcase \ - remedgemodface3.testcase \ - remedgemodface4.testcase \ - remedgemodface5.testcase \ - remedgemodface6.testcase \ - remedgemodface7.testcase \ - remedgemodface8.testcase \ - remedgemodface9.testcase \ - remedgenewface1.testcase \ - remedgenewface2.testcase \ - remedgenewface3.testcase \ - remedgenewface4.testcase \ - remedgenewface5.testcase \ - remedgenewface6.testcase \ - remedgenewface7.testcase \ - remedgenewface8.testcase \ - remedgenewface9.testcase \ - remisoedge1.testcase \ - remisoedge2.testcase \ - remisoedge3.testcase \ - remisoedge4.testcase \ - remisoedge5.testcase \ - remisoedge6.testcase \ - remisoedge7.testcase \ - remisoedge8.testcase \ - remisoedge9.testcase \ - remisonode1.testcase \ - remisonode2.testcase \ - remisonode3.testcase \ - remisonode4.testcase \ - remisonode5.testcase \ - remisonode6.testcase \ - remisonode7.testcase \ - remisonode8.testcase \ - remisonode9.testcase \ - remisonetnode1.testcase \ - remisonetnode2.testcase \ - remisonetnode3.testcase \ - remisonetnode4.testcase \ - remisonetnode5.testcase \ - remisonetnode6.testcase \ - remisonetnode7.testcase \ - remisonetnode8.testcase \ - remisonetnode9.testcase \ - remlink1.testcase \ - remlink2.testcase \ - remlink3.testcase \ - remlink4.testcase \ - remlink5.testcase \ - remlink6.testcase \ - remlink7.testcase \ - remlink8.testcase \ - remlink9.testcase \ - removetopolayer1.testcase \ - removetopolayer2.testcase \ - removetopolayer3.testcase \ - removetopolayer4.testcase \ - removetopolayer5.testcase \ - removetopolayer6.testcase \ - removetopolayer7.testcase \ - removetopolayer8.testcase \ - removetopolayer9.testcase \ - snappedgeotable1.testcase \ - snappedgeotable2.testcase \ - snappedgeotable3.testcase \ - snappedgeotable4.testcase \ - snappedgeotable5.testcase \ - snappedgeotable6.testcase \ - snappedgeotable7.testcase \ - snappedgeotable8.testcase \ - snappedgeotable9.testcase \ - snappedgeotable10.testcase \ - snappedgeotable11.testcase \ - snappedgeotable12.testcase \ - snappedgeotable13.testcase \ - snappedgeotable14.testcase \ - snappedgeotable15.testcase \ - snappedgeotable16.testcase \ - snappedgeotable17.testcase \ - snappedgeotable18.testcase \ - snappedgeotable19.testcase \ - snappedgeotable20.testcase \ - snappedgeotable21.testcase \ - snappedgeotable22.testcase \ - snappedgeotable23.testcase \ - snappedgeotable24.testcase \ - snappedgeotable25.testcase \ - snappedgeotable26.testcase \ - snappedgeotable27.testcase \ - snappedgeotable28.testcase \ - snappedgeotable29.testcase \ - snappedgeotable30.testcase \ - snappedgeotable31.testcase \ - snappedgeotable32.testcase \ - snappedgeotable33.testcase \ - spatnetfromtgeo1.testcase \ - spatnetfromtgeo2.testcase \ - spatnetfromtgeo3.testcase \ - spatnetfromtgeo4.testcase \ - spatnetfromtgeo5.testcase \ - spatnetfromtgeo6.testcase \ - spatnetfromtgeo7.testcase \ - spatnetfromtgeo8.testcase \ - spatnetfromtgeo9.testcase \ - spatnetfromgeom1.testcase \ - spatnetfromgeom2.testcase \ - spatnetfromgeom3.testcase \ - spatnetfromgeom4.testcase \ - spatnetfromgeom5.testcase \ - spatnetfromgeom6.testcase \ - spatnetfromgeom7.testcase \ - spatnetfromgeom8.testcase \ - spatnetfromgeom9.testcase \ - spatnetfromgeom10.testcase \ - topoexception1.testcase \ - topoexception2.testcase \ - topogeoaddpoint1.testcase \ - topogeoaddpoint2.testcase \ - topogeoaddpoint3.testcase \ - topogeoaddpoint4.testcase \ - topogeoaddpoint5.testcase \ - topogeoaddpoint6.testcase \ - topogeoaddpoint7.testcase \ - topogeoaddpoint8.testcase \ - topogeoaddpoint9.testcase \ - topogeoaddpoint10.testcase \ - topogeoaddpoint11.testcase \ - topogeoaddpoint12.testcase \ - topogeoaddpoint13.testcase \ - topogeoaddpoint14.testcase \ - topogeoaddpoint15.testcase \ - topogeoaddpoint16.testcase \ - topogeoaddpoint17.testcase \ - topogeoaddline1.testcase \ - topogeoaddline2.testcase \ - topogeoaddline3.testcase \ - topogeoaddline4.testcase \ - topogeoaddline5.testcase \ - topogeoaddline6.testcase \ - topogeoaddline7.testcase \ - topogeoaddline8.testcase \ - topogeoaddline9.testcase \ - topogeoaddline10.testcase \ - topogeoaddline11.testcase \ - topogeoaddline12.testcase \ - topogeoaddline13.testcase \ - topogeoaddline14.testcase \ - topogeoaddline15.testcase \ - topogeoaddline16.testcase \ - topogeoaddline17.testcase \ - topogeoaddline18.testcase \ - topogeoaddline19.testcase \ - topogeoaddlinenf1.testcase \ - topogeoaddlinenf2.testcase \ - topogeoaddlinenf3.testcase \ - topogeoaddlinenf4.testcase \ - topogeoaddlinenf5.testcase \ - topogeoaddlinenf6.testcase \ - topogeoaddlinenf7.testcase \ - topogeoaddlinenf8.testcase \ - topogeoaddlinenf9.testcase \ - topogeoaddlinenf10.testcase \ - topogeoaddlinenf11.testcase \ - topogeoaddlinenf12.testcase \ - topogeoaddlinenf13.testcase \ - topogeoaddlinenf14.testcase \ - topogeoaddlinenf15.testcase \ - topogeoaddlinenf16.testcase \ - topogeoaddlinenf17.testcase \ - topogeoaddlinenf18.testcase \ - topogeoaddlinenf19.testcase \ - topogeoclone1.testcase \ - topogeoclone2.testcase \ - topogeoclone3.testcase \ - topogeoclone4.testcase \ - topogeoclone5.testcase \ - topogeoclone6.testcase \ - topogeoclone7.testcase \ - topogeoclone8.testcase \ - topogeoclone9.testcase \ - topogeoclone10.testcase \ - topogeoclone11.testcase \ - topogeoclone12.testcase \ - topogeofromext1.testcase \ - topogeofromext2.testcase \ - topogeofromext3.testcase \ - topogeofromext4.testcase \ - topogeofromext5.testcase \ - topogeofromext6.testcase \ - topogeofromext7.testcase \ - topogeofromext8.testcase \ - topogeofromext9.testcase \ - topogeofromext10.testcase \ - topogeofromext11.testcase \ - topogeofromext12.testcase \ - topogeofromext13.testcase \ - topogeofromext14.testcase \ - topogeofromext15.testcase \ - topogeofromext16.testcase \ - topogeofromext17.testcase \ - topogeofromext18.testcase \ - topogeofromext19.testcase \ - topogeofromext20.testcase \ - topogeofromext21.testcase \ - topogeofromext22.testcase \ - topogeofromext23.testcase \ - topogeofromext24.testcase \ - topogeofromext25.testcase \ - topogeofromext26.testcase \ - topogeofromext27.testcase \ - topogeofromext28.testcase \ - topogeofromext29.testcase \ - topogeofromext30.testcase \ - topogeofromext31.testcase \ - topogeofromext32.testcase \ - topogeofromext33.testcase \ - topogeofromext34.testcase \ - topogeofromext35.testcase \ - topogeofromext36.testcase \ - topogeofromext37.testcase \ - topogeofromext38.testcase \ - topogeofromext39.testcase \ - topogeofromext40.testcase \ - topogeofromext41.testcase \ - topogeofromext42.testcase \ - topogeofromext43.testcase \ - topogeofromextnf1.testcase \ - topogeofromextnf2.testcase \ - topogeofromextnf3.testcase \ - topogeofromextnf4.testcase \ - topogeofromextnf5.testcase \ - topogeofromextnf6.testcase \ - topogeofromextnf7.testcase \ - topogeofromextnf8.testcase \ - topogeofromextnf9.testcase \ - topogeofromextnf10.testcase \ - topogeofromextnf11.testcase \ - topogeofromextnf12.testcase \ - topogeofromextnf13.testcase \ - topogeofromextnf14.testcase \ - topogeofromextnf15.testcase \ - topogeofromextnf16.testcase \ - topogeofromextnf17.testcase \ - topogeofromextnf18.testcase \ - topogeofromextnf19.testcase \ - topogeofromextnf20.testcase \ - topogeofromextnf21.testcase \ - topogeofromextnf22.testcase \ - topogeofromextnf23.testcase \ - topogeofromextnf24.testcase \ - topogeofromextnf25.testcase \ - topogeofromextnf26.testcase \ - topogeofromextnf27.testcase \ - topogeofromextnf28.testcase \ - topogeofromextnf29.testcase \ - topogeofromextnf30.testcase \ - topogeofromextnf31.testcase \ - topogeofromextnf32.testcase \ - topogeofromextnf33.testcase \ - topogeofromextnf34.testcase \ - topogeofromextnf35.testcase \ - topogeofromextnf36.testcase \ - topogeofromextnf37.testcase \ - topogeofromextnf38.testcase \ - topogeofromextnf39.testcase \ - topogeofromextnf40.testcase \ - topogeofromextnf41.testcase \ - topogeofromextnf42.testcase \ - topogeofromextnf43.testcase \ - topogeofromtable1.testcase \ - topogeofromtable2.testcase \ - topogeofromtable3.testcase \ - topogeofromtable4.testcase \ - topogeofromtable5.testcase \ - topogeofromtable6.testcase \ - topogeofromtable7.testcase \ - topogeofromtable8.testcase \ - topogeofromtable9.testcase \ - topogeofromtable10.testcase \ - topogeofromtable11.testcase \ - topogeofromtable12.testcase \ - topogeofromtable13.testcase \ - topogeofromtable14.testcase \ - topogeofromtable15.testcase \ - topogeofromtable16.testcase \ - topogeofromtable17.testcase \ - topogeofromtable18.testcase \ - topogeofromtable19.testcase \ - topogeofromtable20.testcase \ - topogeofromtable21.testcase \ - topogeofromtable22.testcase \ - topogeofromtable23.testcase \ - topogeofromtable24.testcase \ - topogeofromtable25.testcase \ - topogeofromtable26.testcase \ - topogeofromtable27.testcase \ - topogeofromtable28.testcase \ - topogeofromtable29.testcase \ - topogeofromtable30.testcase \ - topogeofromtable31.testcase \ - topogeofromtable32.testcase \ - topogeofromtable33.testcase \ - topogeofromtable34.testcase \ - topogeofromtablenf1.testcase \ - topogeofromtablenf2.testcase \ - topogeofromtablenf3.testcase \ - topogeofromtablenf4.testcase \ - topogeofromtablenf5.testcase \ - topogeofromtablenf6.testcase \ - topogeofromtablenf7.testcase \ - topogeofromtablenf8.testcase \ - topogeofromtablenf9.testcase \ - topogeofromtablenf10.testcase \ - topogeofromtablenf11.testcase \ - topogeofromtablenf12.testcase \ - topogeofromtablenf13.testcase \ - topogeofromtablenf14.testcase \ - topogeofromtablenf15.testcase \ - topogeofromtablenf16.testcase \ - topogeofromtablenf17.testcase \ - topogeofromtablenf18.testcase \ - topogeofromtablenf19.testcase \ - topogeofromtablenf20.testcase \ - topogeofromtablenf21.testcase \ - topogeofromtablenf22.testcase \ - topogeofromtablenf23.testcase \ - topogeofromtablenf24.testcase \ - topogeofromtablenf25.testcase \ - topogeofromtablenf26.testcase \ - topogeofromtablenf27.testcase \ - topogeofromtablenf28.testcase \ - topogeofromtablenf29.testcase \ - topogeofromtablenf30.testcase \ - topogeofromtablenf31.testcase \ - topogeofromtablenf32.testcase \ - topogeofromtablenf33.testcase \ - topogeofromtablenf34.testcase \ - topogeomodedgeheal1.testcase \ - topogeomodedgeheal2.testcase \ - topogeomodedgeheal3.testcase \ - topogeomodedgeheal4.testcase \ - topogeomodedgeheal5.testcase \ - topogeonewedgeheal1.testcase \ - topogeonewedgeheal2.testcase \ - topogeonewedgeheal3.testcase \ - topogeonewedgeheal4.testcase \ - topogeonewedgeheal5.testcase \ - topogeosplitline1.testcase \ - topogeosplitline2.testcase \ - topogeosplitline3.testcase \ - topogeosplitline4.testcase \ - topogeosplitline5.testcase \ - topogeosplitline6.testcase \ - topogeosplitline7.testcase \ - topogeosplitline8.testcase \ - topogeosplitline9.testcase \ - topogeosplitline10.testcase \ - topogeosplitline11.testcase \ - topogeosplitline12.testcase \ - topogeosplitline13.testcase \ - topogeosplitline14.testcase \ - topogeosplitline15.testcase \ - topogeosplitline16.testcase \ - topogeosplitline17.testcase \ - topogeosplitline18.testcase \ - topogeosplitline19.testcase \ - topogeoremovesmall1.testcase \ - topogeoremovesmall2.testcase \ - topogeoremovesmall3.testcase \ - topogeoremovesmall4.testcase \ - topogeoremovesmall5.testcase \ - topogeoremovesmall6.testcase \ - topogeoremovesmall7.testcase \ - topogeoremovesmall8.testcase \ - topogeoremovesmall9.testcase \ - topogeoremoveedges1.testcase \ - topogeoremoveedges2.testcase \ - topogeoremoveedges3.testcase \ - topogeoremoveedges4.testcase \ - topogeoremoveedges5.testcase \ - topogeoremovenodes1.testcase \ - topogeoremovenodes2.testcase \ - topogeoremovenodes3.testcase \ - topogeoremovenodes4.testcase \ - topogeoremovenodes5.testcase \ - topogeototable1.testcase \ - topogeototable2.testcase \ - topogeototable3.testcase \ - topogeototable4.testcase \ - topogeototable5.testcase \ - topogeototable6.testcase \ - topogeototable7.testcase \ - topogeototable8.testcase \ - topogeototable9.testcase \ - topogeototable10.testcase \ - topogeototable11.testcase \ - topogeototable12.testcase \ - topogeototable13.testcase \ - topogeototable14.testcase \ - topogeototable15.testcase \ - topogeototable16.testcase \ - topogeototable17.testcase \ - topogeototable18.testcase \ - topogeototable19.testcase \ - topogeototable20.testcase \ - topogeototable21.testcase \ - topogeototable22.testcase \ - topogeototable23.testcase \ - topogeototable24.testcase \ - topogeototable25.testcase \ - topogeototable26.testcase \ - topogeototablegen1.testcase \ - topogeototablegen2.testcase \ - topogeototablegen3.testcase \ - topogeototablegen4.testcase \ - topogeototablegen5.testcase \ - topogeototablegen6.testcase \ - topogeototablegen7.testcase \ - topogeototablegen8.testcase \ - topogeototablegen9.testcase \ - topogeototablegen10.testcase \ - topogeototablegen11.testcase \ - topogeototablegen12.testcase \ - topogeototablegen13.testcase \ - topogeototablegen14.testcase \ - topogeototablegen15.testcase \ - topogeototablegen16.testcase \ - topogeototablegen17.testcase \ - topogeototablegen18.testcase \ - topogeototablegen19.testcase \ - topogeototablegen20.testcase \ - topogeototablegen21.testcase \ - topogeototablegen22.testcase \ - topogeototablegen23.testcase \ - topogeototablegen24.testcase \ - topogeototablegen25.testcase \ - topogeototablegen26.testcase \ - topogeototablegen27.testcase \ - topogeototablegen28.testcase \ - topogeototablegen29.testcase \ - topogeototablegen30.testcase \ - topogeototablegen31.testcase \ - topogeoupdateseeds1.testcase \ - topogeoupdateseeds2.testcase \ - topogeoupdateseeds3.testcase \ - topogeoupdateseeds4.testcase \ - topogeoupdateseeds5.testcase \ - topogeoupdateseeds6.testcase \ - topogeoupdateseeds7.testcase \ - topogeoupdateseeds8.testcase \ - topogeoupdateseeds9.testcase \ - topogeoupdateseeds10.testcase \ - toponetclone1.testcase \ - toponetclone2.testcase \ - toponetclone3.testcase \ - toponetclone4.testcase \ - toponetclone5.testcase \ - toponetclone6.testcase \ - toponetclone7.testcase \ - toponetclone8.testcase \ - toponetclone9.testcase \ - toponetclone10.testcase \ - toponetclone11.testcase \ - toponetclone12.testcase \ - toponetfromtable1.testcase \ - toponetfromtable2.testcase \ - toponetfromtable3.testcase \ - toponetfromtable4.testcase \ - toponetfromtable5.testcase \ - toponetfromtable6.testcase \ - toponetfromtable7.testcase \ - toponetfromtable8.testcase \ - toponetfromtable9.testcase \ - toponetfromtable10.testcase \ - toponetfromtable11.testcase \ - toponetfromtable12.testcase \ - toponetfromtable13.testcase \ - toponetfromtable14.testcase \ - toponetfromtable15.testcase \ - toponetfromtable16.testcase \ - toponetfromtable17.testcase \ - toponettotable1.testcase \ - toponettotable2.testcase \ - toponettotable3.testcase \ - toponettotable4.testcase \ - toponettotable5.testcase \ - toponettotable6.testcase \ - toponettotable7.testcase \ - toponettotable8.testcase \ - toponettotable9.testcase \ - toponettotable10.testcase \ - toponettotable11.testcase \ - toponettotable12.testcase \ - toponettotable13.testcase \ - toponettotable14.testcase \ - toponettotable15.testcase \ - toponettotable16.testcase \ - toponettotable17.testcase \ - toponettotable18.testcase \ - toponettotable19.testcase \ - toponettotable20.testcase \ - toponettotable21.testcase \ - toponettotable22.testcase \ - toponettotable23.testcase \ - toponettotable24.testcase \ - toponettotable25.testcase \ - toponettotable26.testcase \ - toponettotablegen1.testcase \ - toponettotablegen2.testcase \ - toponettotablegen3.testcase \ - toponettotablegen4.testcase \ - toponettotablegen5.testcase \ - toponettotablegen6.testcase \ - toponettotablegen7.testcase \ - toponettotablegen8.testcase \ - toponettotablegen9.testcase \ - toponettotablegen10.testcase \ - toponettotablegen11.testcase \ - toponettotablegen12.testcase \ - toponettotablegen13.testcase \ - toponettotablegen14.testcase \ - toponettotablegen15.testcase \ - toponettotablegen16.testcase \ - toponettotablegen17.testcase \ - toponettotablegen18.testcase \ - toponettotablegen19.testcase \ - toponettotablegen20.testcase \ - toponettotablegen21.testcase \ - toponettotablegen22.testcase \ - toponettotablegen23.testcase \ - toponettotablegen24.testcase \ - toponettotablegen25.testcase \ - toponettotablegen26.testcase \ - toponettotablegen27.testcase \ - toponettotablegen28.testcase \ - toponettotablegen29.testcase \ - toponettotablegen30.testcase \ - toponettotablegen31.testcase \ - toposnap1.testcase \ - toposnap2.testcase \ - toposnap3.testcase \ - toposnap4.testcase \ - toposnap5.testcase \ - toposnap6.testcase \ - toposnap7.testcase \ - toposnap8.testcase \ - toposnap9.testcase \ - toposnap10.testcase \ - toposnap11.testcase \ - toposnap12.testcase \ - toposnap13.testcase \ - toposnap14.testcase \ - toposnap15.testcase \ - toposnap16.testcase \ - toposnap17.testcase \ - toposnap18.testcase \ - toposnap19.testcase \ - toposnap20.testcase \ - toposnap21.testcase \ - toposnap22.testcase \ - toposnap23.testcase \ - toposnap24.testcase \ - validatetopogeo1.testcase \ - validatetopogeo2.testcase \ - validatetopogeo3.testcase \ - validatetopogeo4.testcase \ - validatetopogeo5.testcase \ - validlogicalnet1.testcase \ - validlogicalnet2.testcase \ - validlogicalnet3.testcase \ - validlogicalnet4.testcase \ - validlogicalnet5.testcase \ - validspatialnet1.testcase \ - validspatialnet2.testcase \ - validspatialnet3.testcase \ - validspatialnet4.testcase \ - validspatialnet5.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_rttopo_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_rttopo_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_rttopo_tests/addedgemodface1.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface1.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface1.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - NULL Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface10.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface10.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface10.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - NULL Node To -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface11.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface11.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface11.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Double Node To -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface12.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface12.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface12.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Text Node To -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface13.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface13.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface13.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - BLOB Node To -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface14.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface14.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface14.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Int Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, 1); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface15.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface15.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface15.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Double Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, 1.3); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface16.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface16.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface16.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - NULL Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, NULL); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface17.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface17.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface17.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface18.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface18.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface18.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Point Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface19.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface19.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface19.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Polygon Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface2.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface2.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface2.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Int Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface20.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface20.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface20.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - MultiLinestring Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface3.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface3.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface3.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Double Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface4.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface4.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface4.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - BLOB Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface5.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface5.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface5.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Text Topology -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/addedgemodface6.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface6.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface6.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - NULL Node From -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface7.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface7.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface7.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Double Node From -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface8.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface8.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface8.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - Text Node From -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgemodface9.testcase Index: test/sql_stmt_rttopo_tests/addedgemodface9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgemodface9.testcase +++ test/sql_stmt_rttopo_tests/addedgemodface9.testcase @@ -1,7 +0,0 @@ -AddEdgeModFace - BLOB Node From -:memory: #use in-memory database -SELECT ST_AddEdgeModFace('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeModFace('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces1.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces1.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces1.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - NULL Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces10.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces10.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces10.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - NULL Node To -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces11.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces11.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces11.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Double Node To -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces12.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces12.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces12.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Text Node To -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces13.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces13.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces13.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - BLOB Node To -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces14.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces14.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces14.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Int Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, 1); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces15.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces15.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces15.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Double Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, 1.3); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces16.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces16.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces16.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - NULL Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, NULL); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces17.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces17.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces17.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces18.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces18.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces18.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Point Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces19.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces19.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces19.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Polygon Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces2.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces2.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces2.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Int Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces20.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces20.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces20.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - MultiLinestring Geometry -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces3.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces3.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces3.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Double Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces4.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces4.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces4.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - BLOB Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces5.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces5.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces5.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Text Topology -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces6.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces6.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces6.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - NULL Node From -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces7.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces7.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces7.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Double Node From -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces8.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces8.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces8.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - Text Node From -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addedgenewfaces9.testcase Index: test/sql_stmt_rttopo_tests/addedgenewfaces9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addedgenewfaces9.testcase +++ test/sql_stmt_rttopo_tests/addedgenewfaces9.testcase @@ -1,7 +0,0 @@ -AddEdgeNewFaces - BLOB Node From -:memory: #use in-memory database -SELECT ST_AddEdgeNewFaces('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddEdgeNewFaces('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge1.testcase Index: test/sql_stmt_rttopo_tests/addisoedge1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge1.testcase +++ test/sql_stmt_rttopo_tests/addisoedge1.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - NULL Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addisoedge10.testcase Index: test/sql_stmt_rttopo_tests/addisoedge10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge10.testcase +++ test/sql_stmt_rttopo_tests/addisoedge10.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - NULL Node To -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addisoedge11.testcase Index: test/sql_stmt_rttopo_tests/addisoedge11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge11.testcase +++ test/sql_stmt_rttopo_tests/addisoedge11.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Double Node To -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge12.testcase Index: test/sql_stmt_rttopo_tests/addisoedge12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge12.testcase +++ test/sql_stmt_rttopo_tests/addisoedge12.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Text Node To -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge13.testcase Index: test/sql_stmt_rttopo_tests/addisoedge13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge13.testcase +++ test/sql_stmt_rttopo_tests/addisoedge13.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - BLOB Node To -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge14.testcase Index: test/sql_stmt_rttopo_tests/addisoedge14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge14.testcase +++ test/sql_stmt_rttopo_tests/addisoedge14.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Int Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, 1); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge15.testcase Index: test/sql_stmt_rttopo_tests/addisoedge15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge15.testcase +++ test/sql_stmt_rttopo_tests/addisoedge15.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Double Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, 1.3); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge16.testcase Index: test/sql_stmt_rttopo_tests/addisoedge16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge16.testcase +++ test/sql_stmt_rttopo_tests/addisoedge16.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - NULL Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, NULL); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addisoedge17.testcase Index: test/sql_stmt_rttopo_tests/addisoedge17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge17.testcase +++ test/sql_stmt_rttopo_tests/addisoedge17.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge18.testcase Index: test/sql_stmt_rttopo_tests/addisoedge18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge18.testcase +++ test/sql_stmt_rttopo_tests/addisoedge18.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Point Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge19.testcase Index: test/sql_stmt_rttopo_tests/addisoedge19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge19.testcase +++ test/sql_stmt_rttopo_tests/addisoedge19.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Polygon Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge2.testcase Index: test/sql_stmt_rttopo_tests/addisoedge2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge2.testcase +++ test/sql_stmt_rttopo_tests/addisoedge2.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Int Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge20.testcase Index: test/sql_stmt_rttopo_tests/addisoedge20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge20.testcase +++ test/sql_stmt_rttopo_tests/addisoedge20.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - MultiLinestring Geometry -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge3.testcase Index: test/sql_stmt_rttopo_tests/addisoedge3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge3.testcase +++ test/sql_stmt_rttopo_tests/addisoedge3.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Double Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge4.testcase Index: test/sql_stmt_rttopo_tests/addisoedge4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge4.testcase +++ test/sql_stmt_rttopo_tests/addisoedge4.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - BLOB Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge5.testcase Index: test/sql_stmt_rttopo_tests/addisoedge5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge5.testcase +++ test/sql_stmt_rttopo_tests/addisoedge5.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Text Topology -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/addisoedge6.testcase Index: test/sql_stmt_rttopo_tests/addisoedge6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge6.testcase +++ test/sql_stmt_rttopo_tests/addisoedge6.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - NULL Node From -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addisoedge7.testcase Index: test/sql_stmt_rttopo_tests/addisoedge7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge7.testcase +++ test/sql_stmt_rttopo_tests/addisoedge7.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Double Node From -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge8.testcase Index: test/sql_stmt_rttopo_tests/addisoedge8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge8.testcase +++ test/sql_stmt_rttopo_tests/addisoedge8.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - Text Node From -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisoedge9.testcase Index: test/sql_stmt_rttopo_tests/addisoedge9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisoedge9.testcase +++ test/sql_stmt_rttopo_tests/addisoedge9.testcase @@ -1,7 +0,0 @@ -AddIsoEdge - BLOB Node From -:memory: #use in-memory database -SELECT ST_AddIsoEdge('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoEdge('topology', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonetnode1.testcase Index: test/sql_stmt_rttopo_tests/addisonetnode1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonetnode1.testcase +++ test/sql_stmt_rttopo_tests/addisonetnode1.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - NULL Network -:memory: #use in-memory database -SELECT ST_AddIsoNetNode(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addisonetnode2.testcase Index: test/sql_stmt_rttopo_tests/addisonetnode2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonetnode2.testcase +++ test/sql_stmt_rttopo_tests/addisonetnode2.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - Int Network -:memory: #use in-memory database -SELECT ST_AddIsoNetNode(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonetnode3.testcase Index: test/sql_stmt_rttopo_tests/addisonetnode3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonetnode3.testcase +++ test/sql_stmt_rttopo_tests/addisonetnode3.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - Double Network -:memory: #use in-memory database -SELECT ST_AddIsoNetNode(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonetnode4.testcase Index: test/sql_stmt_rttopo_tests/addisonetnode4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonetnode4.testcase +++ test/sql_stmt_rttopo_tests/addisonetnode4.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - BLOB Network -:memory: #use in-memory database -SELECT ST_AddIsoNetNode(zeroblob(9), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode(zeroblob(9), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonetnode5.testcase Index: test/sql_stmt_rttopo_tests/addisonetnode5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonetnode5.testcase +++ test/sql_stmt_rttopo_tests/addisonetnode5.testcase @@ -1,7 +0,0 @@ -AddIsoNetNode - NULL Point -:memory: #use in-memory database -SELECT ST_AddIsoNetNode('roads', NULL); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNetNode('roads', NULL) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/addisonode1.testcase Index: test/sql_stmt_rttopo_tests/addisonode1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode1.testcase +++ test/sql_stmt_rttopo_tests/addisonode1.testcase @@ -1,7 +0,0 @@ -AddIsoNode - NULL Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addisonode10.testcase Index: test/sql_stmt_rttopo_tests/addisonode10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode10.testcase +++ test/sql_stmt_rttopo_tests/addisonode10.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Double Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode11.testcase Index: test/sql_stmt_rttopo_tests/addisonode11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode11.testcase +++ test/sql_stmt_rttopo_tests/addisonode11.testcase @@ -1,7 +0,0 @@ -AddIsoNode - NULL Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addisonode12.testcase Index: test/sql_stmt_rttopo_tests/addisonode12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode12.testcase +++ test/sql_stmt_rttopo_tests/addisonode12.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Text Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', 'face', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', 'face', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode13.testcase Index: test/sql_stmt_rttopo_tests/addisonode13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode13.testcase +++ test/sql_stmt_rttopo_tests/addisonode13.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', 'face', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', 'face', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode14.testcase Index: test/sql_stmt_rttopo_tests/addisonode14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode14.testcase +++ test/sql_stmt_rttopo_tests/addisonode14.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Linestring Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode15.testcase Index: test/sql_stmt_rttopo_tests/addisonode15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode15.testcase +++ test/sql_stmt_rttopo_tests/addisonode15.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Polygon Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode16.testcase Index: test/sql_stmt_rttopo_tests/addisonode16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode16.testcase +++ test/sql_stmt_rttopo_tests/addisonode16.testcase @@ -1,7 +0,0 @@ -AddIsoNode - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode17.testcase Index: test/sql_stmt_rttopo_tests/addisonode17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode17.testcase +++ test/sql_stmt_rttopo_tests/addisonode17.testcase @@ -1,7 +0,0 @@ -AddIsoNode - NULL Face -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/addisonode2.testcase Index: test/sql_stmt_rttopo_tests/addisonode2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode2.testcase +++ test/sql_stmt_rttopo_tests/addisonode2.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Int Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode3.testcase Index: test/sql_stmt_rttopo_tests/addisonode3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode3.testcase +++ test/sql_stmt_rttopo_tests/addisonode3.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Double Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode4.testcase Index: test/sql_stmt_rttopo_tests/addisonode4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode4.testcase +++ test/sql_stmt_rttopo_tests/addisonode4.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Blob Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode5.testcase Index: test/sql_stmt_rttopo_tests/addisonode5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode5.testcase +++ test/sql_stmt_rttopo_tests/addisonode5.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Text Topology -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/addisonode6.testcase Index: test/sql_stmt_rttopo_tests/addisonode6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode6.testcase +++ test/sql_stmt_rttopo_tests/addisonode6.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Double Face -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode7.testcase Index: test/sql_stmt_rttopo_tests/addisonode7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode7.testcase +++ test/sql_stmt_rttopo_tests/addisonode7.testcase @@ -1,7 +0,0 @@ -AddIsoNode - BLOB Face -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode8.testcase Index: test/sql_stmt_rttopo_tests/addisonode8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode8.testcase +++ test/sql_stmt_rttopo_tests/addisonode8.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Text Face -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', 'face', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', 'face', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addisonode9.testcase Index: test/sql_stmt_rttopo_tests/addisonode9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addisonode9.testcase +++ test/sql_stmt_rttopo_tests/addisonode9.testcase @@ -1,7 +0,0 @@ -AddIsoNode - Int Geometry -:memory: #use in-memory database -SELECT ST_AddIsoNode('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_AddIsoNode('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink1.testcase Index: test/sql_stmt_rttopo_tests/addlink1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink1.testcase +++ test/sql_stmt_rttopo_tests/addlink1.testcase @@ -1,7 +0,0 @@ -AddLink - NULL Network -:memory: #use in-memory database -SELECT ST_AddLink(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink(NULL, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addlink10.testcase Index: test/sql_stmt_rttopo_tests/addlink10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink10.testcase +++ test/sql_stmt_rttopo_tests/addlink10.testcase @@ -1,7 +0,0 @@ -AddLink - NULL Node To -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addlink11.testcase Index: test/sql_stmt_rttopo_tests/addlink11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink11.testcase +++ test/sql_stmt_rttopo_tests/addlink11.testcase @@ -1,7 +0,0 @@ -AddLink - Double Node To -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, 2.4, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink12.testcase Index: test/sql_stmt_rttopo_tests/addlink12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink12.testcase +++ test/sql_stmt_rttopo_tests/addlink12.testcase @@ -1,7 +0,0 @@ -AddLink - Text Node To -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, 'to', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink13.testcase Index: test/sql_stmt_rttopo_tests/addlink13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink13.testcase +++ test/sql_stmt_rttopo_tests/addlink13.testcase @@ -1,7 +0,0 @@ -AddLink - BLOB Node To -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink2.testcase Index: test/sql_stmt_rttopo_tests/addlink2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink2.testcase +++ test/sql_stmt_rttopo_tests/addlink2.testcase @@ -1,7 +0,0 @@ -AddLink - Int Network -:memory: #use in-memory database -SELECT ST_AddLink(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink(1, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink3.testcase Index: test/sql_stmt_rttopo_tests/addlink3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink3.testcase +++ test/sql_stmt_rttopo_tests/addlink3.testcase @@ -1,7 +0,0 @@ -AddLink - Double Network -:memory: #use in-memory database -SELECT ST_AddLink(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink(1.2, 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink4.testcase Index: test/sql_stmt_rttopo_tests/addlink4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink4.testcase +++ test/sql_stmt_rttopo_tests/addlink4.testcase @@ -1,7 +0,0 @@ -AddLink - BLOB Network -:memory: #use in-memory database -SELECT ST_AddLink(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink(zeroblob(4), 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink5.testcase Index: test/sql_stmt_rttopo_tests/addlink5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink5.testcase +++ test/sql_stmt_rttopo_tests/addlink5.testcase @@ -1,7 +0,0 @@ -AddLink - Text Network -:memory: #use in-memory database -SELECT ST_AddLink('net', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/addlink6.testcase Index: test/sql_stmt_rttopo_tests/addlink6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink6.testcase +++ test/sql_stmt_rttopo_tests/addlink6.testcase @@ -1,7 +0,0 @@ -AddLink - NULL Node From -:memory: #use in-memory database -SELECT ST_AddLink('net', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', NULL, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/addlink7.testcase Index: test/sql_stmt_rttopo_tests/addlink7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink7.testcase +++ test/sql_stmt_rttopo_tests/addlink7.testcase @@ -1,7 +0,0 @@ -AddLink - Double Node From -:memory: #use in-memory database -SELECT ST_AddLink('net', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 1.3, 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink8.testcase Index: test/sql_stmt_rttopo_tests/addlink8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink8.testcase +++ test/sql_stmt_rttopo_tests/addlink8.testcase @@ -1,7 +0,0 @@ -AddLink - Text Node From -:memory: #use in-memory database -SELECT ST_AddLink('net', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', 'from', 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/addlink9.testcase Index: test/sql_stmt_rttopo_tests/addlink9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/addlink9.testcase +++ test/sql_stmt_rttopo_tests/addlink9.testcase @@ -1,7 +0,0 @@ -AddLink - BLOB Node From -:memory: #use in-memory database -SELECT ST_AddLink('net', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_AddLink('net', zeroblob(4), 2, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom1.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom1.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom1.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - NULL Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom(NULL, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom(NULL, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom10.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom10.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom10.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Double Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom11.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom11.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom11.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - NULL Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom12.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom12.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom12.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Text Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', 'edge', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', 'edge', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom13.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom13.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom13.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', 'edge', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', 'edge', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom14.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom14.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom14.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Point Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom15.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom15.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom15.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Polygon Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom16.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom16.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom16.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - MultiLinestring Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, GeomFromText('MULTILINESTRING((0 0, 1 1), (4 4, 5 5))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom17.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom17.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom17.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - NULL Edge -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom2.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom2.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom2.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Int Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom(1, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom(1, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom3.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom3.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom3.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Double Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom(1.5, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom(1.5, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom4.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom4.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom4.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Blob Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom(zeroblob(4), -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom(zeroblob(4), -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom5.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom5.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom5.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Text Topology -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/changeedgegeom6.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom6.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom6.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Double Edge -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', 2.0, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', 2.0, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom7.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom7.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom7.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - BLOB Edge -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom8.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom8.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom8.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Text Edge -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', 'edge', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', 'Edge', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changeedgegeom9.testcase Index: test/sql_stmt_rttopo_tests/changeedgegeom9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changeedgegeom9.testcase +++ test/sql_stmt_rttopo_tests/changeedgegeom9.testcase @@ -1,7 +0,0 @@ -ChangeEdgeGeom - Int Geometry -:memory: #use in-memory database -SELECT ST_ChangeEdgeGeom('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_ChangeEdgeGeom('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changelinkgeom1.testcase Index: test/sql_stmt_rttopo_tests/changelinkgeom1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changelinkgeom1.testcase +++ test/sql_stmt_rttopo_tests/changelinkgeom1.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - NULL Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom(NULL, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom(NULL, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/changelinkgeom2.testcase Index: test/sql_stmt_rttopo_tests/changelinkgeom2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changelinkgeom2.testcase +++ test/sql_stmt_rttopo_tests/changelinkgeom2.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Int Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom(1, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom(1, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changelinkgeom3.testcase Index: test/sql_stmt_rttopo_tests/changelinkgeom3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changelinkgeom3.testcase +++ test/sql_stmt_rttopo_tests/changelinkgeom3.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Double Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom(1.5, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom(1.5, -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changelinkgeom4.testcase Index: test/sql_stmt_rttopo_tests/changelinkgeom4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changelinkgeom4.testcase +++ test/sql_stmt_rttopo_tests/changelinkgeom4.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Blob Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom(zeroblob(4), -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom(zeroblob(4), -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changelinkgeom5.testcase Index: test/sql_stmt_rttopo_tests/changelinkgeom5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changelinkgeom5.testcase +++ test/sql_stmt_rttopo_tests/changelinkgeom5.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Text Network -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/changelinkgeom6.testcase Index: test/sql_stmt_rttopo_tests/changelinkgeom6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changelinkgeom6.testcase +++ test/sql_stmt_rttopo_tests/changelinkgeom6.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Double Link -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom('topology', 2.0, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom('topology', 2.0, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changelinkgeom7.testcase Index: test/sql_stmt_rttopo_tests/changelinkgeom7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changelinkgeom7.testcase +++ test/sql_stmt_rttopo_tests/changelinkgeom7.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - BLOB Link -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom('topology', zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom('topology', zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/changelinkgeom8.testcase Index: test/sql_stmt_rttopo_tests/changelinkgeom8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/changelinkgeom8.testcase +++ test/sql_stmt_rttopo_tests/changelinkgeom8.testcase @@ -1,7 +0,0 @@ -ChangeLinkGeom - Text Link -:memory: #use in-memory database -SELECT ST_ChangeLinkGeom('topology', 'Link', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ChangeLinkGeom('topology', 'Link', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createnetwork1.testcase Index: test/sql_stmt_rttopo_tests/createnetwork1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork1.testcase +++ test/sql_stmt_rttopo_tests/createnetwork1.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL Network -:memory: #use in-memory database -SELECT CreateNetwork(NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork(NULL) --1 DELETED test/sql_stmt_rttopo_tests/createnetwork10.testcase Index: test/sql_stmt_rttopo_tests/createnetwork10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork10.testcase +++ test/sql_stmt_rttopo_tests/createnetwork10.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roads2', 1); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads2', 1) -1 DELETED test/sql_stmt_rttopo_tests/createnetwork11.testcase Index: test/sql_stmt_rttopo_tests/createnetwork11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork11.testcase +++ test/sql_stmt_rttopo_tests/createnetwork11.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL Srid -:memory: #use in-memory database -SELECT CreateNetwork('roadsB', 1, NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsB', 1, NULL); -1 DELETED test/sql_stmt_rttopo_tests/createnetwork12.testcase Index: test/sql_stmt_rttopo_tests/createnetwork12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork12.testcase +++ test/sql_stmt_rttopo_tests/createnetwork12.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int Srid -:memory: #use in-memory database -SELECT CreateNetwork('roadsC', 1, 4326); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsC', 1, 4326); -1 DELETED test/sql_stmt_rttopo_tests/createnetwork13.testcase Index: test/sql_stmt_rttopo_tests/createnetwork13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork13.testcase +++ test/sql_stmt_rttopo_tests/createnetwork13.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double Srid -:memory: #use in-memory database -SELECT CreateNetwork('roadsD', 1, 1.5); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsD', 1, 1.5); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork14.testcase Index: test/sql_stmt_rttopo_tests/createnetwork14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork14.testcase +++ test/sql_stmt_rttopo_tests/createnetwork14.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Text Srid -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 'alpha'); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork15.testcase Index: test/sql_stmt_rttopo_tests/createnetwork15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork15.testcase +++ test/sql_stmt_rttopo_tests/createnetwork15.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Blob Srid -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, zeroblob(4)); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork16.testcase Index: test/sql_stmt_rttopo_tests/createnetwork16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork16.testcase +++ test/sql_stmt_rttopo_tests/createnetwork16.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roadsZ', 1, 4326, NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsZ', 1, 4326, NULL); -1 DELETED test/sql_stmt_rttopo_tests/createnetwork17.testcase Index: test/sql_stmt_rttopo_tests/createnetwork17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork17.testcase +++ test/sql_stmt_rttopo_tests/createnetwork17.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roadsX', 1, 4326, 1); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsX', 1, 4326, 1); -1 DELETED test/sql_stmt_rttopo_tests/createnetwork18.testcase Index: test/sql_stmt_rttopo_tests/createnetwork18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork18.testcase +++ test/sql_stmt_rttopo_tests/createnetwork18.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roadsD', 1, 4326, 1.5); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsD', 1, 4326, 1.5); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork19.testcase Index: test/sql_stmt_rttopo_tests/createnetwork19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork19.testcase +++ test/sql_stmt_rttopo_tests/createnetwork19.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Text hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 4326, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 4326, 'alpha'); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork2.testcase Index: test/sql_stmt_rttopo_tests/createnetwork2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork2.testcase +++ test/sql_stmt_rttopo_tests/createnetwork2.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int Network -:memory: #use in-memory database -SELECT CreateNetwork(1); -1 # rows (not including the header row) -1 # columns -CreateNetwork(1) --1 DELETED test/sql_stmt_rttopo_tests/createnetwork20.testcase Index: test/sql_stmt_rttopo_tests/createnetwork20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork20.testcase +++ test/sql_stmt_rttopo_tests/createnetwork20.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Blob hasZ -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 4326, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 4326, zeroblob(4)); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork21.testcase Index: test/sql_stmt_rttopo_tests/createnetwork21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork21.testcase +++ test/sql_stmt_rttopo_tests/createnetwork21.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roadsW', 1, 4326, 1, NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsW', 1, 4326, 1, NULL); -1 DELETED test/sql_stmt_rttopo_tests/createnetwork22.testcase Index: test/sql_stmt_rttopo_tests/createnetwork22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork22.testcase +++ test/sql_stmt_rttopo_tests/createnetwork22.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Int allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roadsY', 1, 4326, 1, 1); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsY', 1, 4326, 1, 1); -1 DELETED test/sql_stmt_rttopo_tests/createnetwork23.testcase Index: test/sql_stmt_rttopo_tests/createnetwork23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork23.testcase +++ test/sql_stmt_rttopo_tests/createnetwork23.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roadsE', 1, 4326, 1, 1.5); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsE', 1, 4326, 1, 1.5); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork24.testcase Index: test/sql_stmt_rttopo_tests/createnetwork24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork24.testcase +++ test/sql_stmt_rttopo_tests/createnetwork24.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Text allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 4326, 1, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 4326, 1, 'alpha'); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork25.testcase Index: test/sql_stmt_rttopo_tests/createnetwork25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork25.testcase +++ test/sql_stmt_rttopo_tests/createnetwork25.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Blob allow-coincident -:memory: #use in-memory database -SELECT CreateNetwork('roads', 1, 4326, 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 1, 4326, 1, zeroblob(4)); --1 DELETED test/sql_stmt_rttopo_tests/createnetwork3.testcase Index: test/sql_stmt_rttopo_tests/createnetwork3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork3.testcase +++ test/sql_stmt_rttopo_tests/createnetwork3.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double Network -:memory: #use in-memory database -SELECT CreateNetwork(1.1); -1 # rows (not including the header row) -1 # columns -CreateNetwork(1.1) --1 DELETED test/sql_stmt_rttopo_tests/createnetwork4.testcase Index: test/sql_stmt_rttopo_tests/createnetwork4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork4.testcase +++ test/sql_stmt_rttopo_tests/createnetwork4.testcase @@ -1,7 +0,0 @@ -CreateNetwork - BLOB Network -:memory: #use in-memory database -SELECT CreateNetwork(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork(zeroblob(4)) --1 DELETED test/sql_stmt_rttopo_tests/createnetwork5.testcase Index: test/sql_stmt_rttopo_tests/createnetwork5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork5.testcase +++ test/sql_stmt_rttopo_tests/createnetwork5.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Text Network -:memory: #use in-memory database -SELECT CreateNetwork('roads'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads') -1 DELETED test/sql_stmt_rttopo_tests/createnetwork6.testcase Index: test/sql_stmt_rttopo_tests/createnetwork6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork6.testcase +++ test/sql_stmt_rttopo_tests/createnetwork6.testcase @@ -1,7 +0,0 @@ -CreateNetwork - NULL Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roadsA', NULL); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roadsA', NULL) -1 DELETED test/sql_stmt_rttopo_tests/createnetwork7.testcase Index: test/sql_stmt_rttopo_tests/createnetwork7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork7.testcase +++ test/sql_stmt_rttopo_tests/createnetwork7.testcase @@ -1,7 +0,0 @@ -CreateNetwork - BLOB Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roads', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', zeroblob(4)) --1 DELETED test/sql_stmt_rttopo_tests/createnetwork8.testcase Index: test/sql_stmt_rttopo_tests/createnetwork8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork8.testcase +++ test/sql_stmt_rttopo_tests/createnetwork8.testcase @@ -1,7 +0,0 @@ -CreateNetwork - TEXT Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roads', 'beta'); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 'beta') --1 DELETED test/sql_stmt_rttopo_tests/createnetwork9.testcase Index: test/sql_stmt_rttopo_tests/createnetwork9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createnetwork9.testcase +++ test/sql_stmt_rttopo_tests/createnetwork9.testcase @@ -1,7 +0,0 @@ -CreateNetwork - Double Spatial -:memory: #use in-memory database -SELECT CreateNetwork('roads', 3.1); -1 # rows (not including the header row) -1 # columns -CreateNetwork('roads', 3.1) --1 DELETED test/sql_stmt_rttopo_tests/createtopogeo1.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo1.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo1.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - NULL Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/createtopogeo10.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo10.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo10.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - non existing Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/createtopogeo2.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo2.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo2.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Int Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopogeo3.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo3.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo3.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Double Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopogeo4.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo4.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo4.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - BLOB Topology -:memory: #use in-memory database -SELECT ST_CreateTopoGeo(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo(zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopogeo5.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo5.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo5.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - NULL GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/createtopogeo6.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo6.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo6.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Int GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', 1); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopogeo7.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo7.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo7.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Double GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', 1.4); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', 1.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopogeo8.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo8.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo8.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Text GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopogeo9.testcase Index: test/sql_stmt_rttopo_tests/createtopogeo9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopogeo9.testcase +++ test/sql_stmt_rttopo_tests/createtopogeo9.testcase @@ -1,7 +0,0 @@ -ST_CreateTopoGeo - Invalid BLOB GeomCollection -:memory: #use in-memory database -SELECT ST_CreateTopoGeo('topology', zeroblob(100)); -1 # rows (not including the header row) -1 # columns -ST_CreateTopoGeo('topology', zeroblob(100)) -SQL/MM Spatial exception - not a Geometry. DELETED test/sql_stmt_rttopo_tests/createtopolayer1.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer1.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer(NULL, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer(NULL, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer10.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer10.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer10.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - NULL ref-table -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, NULL, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, NULL, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer11.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer11.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer11.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - INT ref-table -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 1, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 1, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer12.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer12.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer12.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double ref-table -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 1.2, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 1.2, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer13.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer13.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer13.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB ref-table -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, zeroblob(4), NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, zeroblob(4), NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer14.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer14.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer14.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Text Column -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'column', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'column', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/createtopolayer15.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer15.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer15.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Int Column -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer16.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer16.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer16.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double Column -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 1.2, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', 1.2, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer17.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer17.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer17.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer18.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer18.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer18.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - NULL TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer19.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer19.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer19.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer2.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer2.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer(1, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer(1, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer20.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer20.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer20.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer21.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer21.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer21.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Text TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/createtopolayer22.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer22.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer22.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer23.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer23.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer23.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - TEXT is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', 'no'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer24.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer24.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer24.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer25.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer25.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer25.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - NULL is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer26.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer26.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer26.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Integer is-view -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', 'geometry', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', zeroblob(4), 'out', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/createtopolayer3.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer3.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer(1.5, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer(1.5, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer4.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer4.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer(zeroblob(4), NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer(zeroblob(4), NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer5.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer5.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/createtopolayer6.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer6.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', 'a', 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', 'a', 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/createtopolayer7.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer7.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', 1, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', 1, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer8.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer8.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', 1.2, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', 1.2, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopolayer9.testcase Index: test/sql_stmt_rttopo_tests/createtopolayer9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopolayer9.testcase +++ test/sql_stmt_rttopo_tests/createtopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_CreateTopoLayer - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_CreateTopoLayer('topology', zeroblob(4), 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_CreateTopoLayer('topology', zeroblob(4), 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/createtopology1.testcase Index: test/sql_stmt_rttopo_tests/createtopology1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology1.testcase +++ test/sql_stmt_rttopo_tests/createtopology1.testcase @@ -1,7 +0,0 @@ -CreateTopology - NULL Topology -:memory: #use in-memory database -SELECT CreateTopology(NULL); -1 # rows (not including the header row) -1 # columns -CreateTopology(NULL) --1 DELETED test/sql_stmt_rttopo_tests/createtopology10.testcase Index: test/sql_stmt_rttopo_tests/createtopology10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology10.testcase +++ test/sql_stmt_rttopo_tests/createtopology10.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int Srid -:memory: #use in-memory database -SELECT CreateTopology('topo2', 4326); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo2', 4326) -1 DELETED test/sql_stmt_rttopo_tests/createtopology11.testcase Index: test/sql_stmt_rttopo_tests/createtopology11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology11.testcase +++ test/sql_stmt_rttopo_tests/createtopology11.testcase @@ -1,7 +0,0 @@ -CreateTopology - NULL tolerance -:memory: #use in-memory database -SELECT CreateTopology('topoB', 4326, 0, NULL); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoB', 4326, 0, NULL); -1 DELETED test/sql_stmt_rttopo_tests/createtopology12.testcase Index: test/sql_stmt_rttopo_tests/createtopology12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology12.testcase +++ test/sql_stmt_rttopo_tests/createtopology12.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int tolerance -:memory: #use in-memory database -SELECT CreateTopology('topoC', 4326, 0, 1); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoC', 4326, 0, 1); -1 DELETED test/sql_stmt_rttopo_tests/createtopology13.testcase Index: test/sql_stmt_rttopo_tests/createtopology13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology13.testcase +++ test/sql_stmt_rttopo_tests/createtopology13.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double tolerance -:memory: #use in-memory database -SELECT CreateTopology('topoD', 4326, 1, 0.001); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoD', 4326, 1, 0.001); -1 DELETED test/sql_stmt_rttopo_tests/createtopology14.testcase Index: test/sql_stmt_rttopo_tests/createtopology14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology14.testcase +++ test/sql_stmt_rttopo_tests/createtopology14.testcase @@ -1,7 +0,0 @@ -CreateTopology - Text tolerance -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326, 0, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326, 0, 'alpha'); --1 DELETED test/sql_stmt_rttopo_tests/createtopology15.testcase Index: test/sql_stmt_rttopo_tests/createtopology15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology15.testcase +++ test/sql_stmt_rttopo_tests/createtopology15.testcase @@ -1,7 +0,0 @@ -CreateTopology - Blob tolerance -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326, 0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326, 0, zeroblob(4)); --1 DELETED test/sql_stmt_rttopo_tests/createtopology16.testcase Index: test/sql_stmt_rttopo_tests/createtopology16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology16.testcase +++ test/sql_stmt_rttopo_tests/createtopology16.testcase @@ -1,7 +0,0 @@ -CreateTopology - NULL hasZ -:memory: #use in-memory database -SELECT CreateTopology('topoZ', 4326, NULL); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoZ', 4326, NULL); -1 DELETED test/sql_stmt_rttopo_tests/createtopology17.testcase Index: test/sql_stmt_rttopo_tests/createtopology17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology17.testcase +++ test/sql_stmt_rttopo_tests/createtopology17.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int hasZ -:memory: #use in-memory database -SELECT CreateTopology('topoX', 4326, 1); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoX', 4326, 1); -1 DELETED test/sql_stmt_rttopo_tests/createtopology18.testcase Index: test/sql_stmt_rttopo_tests/createtopology18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology18.testcase +++ test/sql_stmt_rttopo_tests/createtopology18.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double hasZ -:memory: #use in-memory database -SELECT CreateTopology('topoD', 4326, 1.5); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoD', 4326, 1.5); --1 DELETED test/sql_stmt_rttopo_tests/createtopology19.testcase Index: test/sql_stmt_rttopo_tests/createtopology19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology19.testcase +++ test/sql_stmt_rttopo_tests/createtopology19.testcase @@ -1,7 +0,0 @@ -CreateTopology - Text hasZ -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326, 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326, 'alpha'); --1 DELETED test/sql_stmt_rttopo_tests/createtopology2.testcase Index: test/sql_stmt_rttopo_tests/createtopology2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology2.testcase +++ test/sql_stmt_rttopo_tests/createtopology2.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int Topology -:memory: #use in-memory database -SELECT CreateTopology(1); -1 # rows (not including the header row) -1 # columns -CreateTopology(1) --1 DELETED test/sql_stmt_rttopo_tests/createtopology20.testcase Index: test/sql_stmt_rttopo_tests/createtopology20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology20.testcase +++ test/sql_stmt_rttopo_tests/createtopology20.testcase @@ -1,7 +0,0 @@ -CreateTopology - Blob hasZ -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326, zeroblob(4)); --1 DELETED test/sql_stmt_rttopo_tests/createtopology21.testcase Index: test/sql_stmt_rttopo_tests/createtopology21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology21.testcase +++ test/sql_stmt_rttopo_tests/createtopology21.testcase @@ -1,7 +0,0 @@ -CreateTopology - Int NEGATIVE tolerance -:memory: #use in-memory database -SELECT CreateTopology('topoD', 4326, 1, -1); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoD', 4326, 1, -1); -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/createtopology22.testcase Index: test/sql_stmt_rttopo_tests/createtopology22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology22.testcase +++ test/sql_stmt_rttopo_tests/createtopology22.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double NEGATIVE tolerance -:memory: #use in-memory database -SELECT CreateTopology('topoD', 4326, 1, -0.1); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoD', 4326, 1, -0.1); -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/createtopology3.testcase Index: test/sql_stmt_rttopo_tests/createtopology3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology3.testcase +++ test/sql_stmt_rttopo_tests/createtopology3.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double Topology -:memory: #use in-memory database -SELECT CreateTopology(1.1); -1 # rows (not including the header row) -1 # columns -CreateTopology(1.1) --1 DELETED test/sql_stmt_rttopo_tests/createtopology4.testcase Index: test/sql_stmt_rttopo_tests/createtopology4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology4.testcase +++ test/sql_stmt_rttopo_tests/createtopology4.testcase @@ -1,7 +0,0 @@ -CreateTopology - BLOB Topology -:memory: #use in-memory database -SELECT CreateTopology(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateTopology(zeroblob(4)) --1 DELETED test/sql_stmt_rttopo_tests/createtopology5.testcase Index: test/sql_stmt_rttopo_tests/createtopology5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology5.testcase +++ test/sql_stmt_rttopo_tests/createtopology5.testcase @@ -1,7 +0,0 @@ -CreateTopology - Text Topology -:memory: #use in-memory database -SELECT CreateTopology('topo1'); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo1') -1 DELETED test/sql_stmt_rttopo_tests/createtopology6.testcase Index: test/sql_stmt_rttopo_tests/createtopology6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology6.testcase +++ test/sql_stmt_rttopo_tests/createtopology6.testcase @@ -1,7 +0,0 @@ -CreateTopology - NULL Srid -:memory: #use in-memory database -SELECT CreateTopology('topoA', NULL); -1 # rows (not including the header row) -1 # columns -CreateTopology('topoA', NULL) -1 DELETED test/sql_stmt_rttopo_tests/createtopology7.testcase Index: test/sql_stmt_rttopo_tests/createtopology7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology7.testcase +++ test/sql_stmt_rttopo_tests/createtopology7.testcase @@ -1,7 +0,0 @@ -CreateTopology - BLOB Srid -:memory: #use in-memory database -SELECT CreateTopology('topo', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', zeroblob(4)) --1 DELETED test/sql_stmt_rttopo_tests/createtopology8.testcase Index: test/sql_stmt_rttopo_tests/createtopology8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology8.testcase +++ test/sql_stmt_rttopo_tests/createtopology8.testcase @@ -1,7 +0,0 @@ -CreateTopology - TEXT Srid -:memory: #use in-memory database -SELECT CreateTopology('topo', 'alpha'); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 'alpha') --1 DELETED test/sql_stmt_rttopo_tests/createtopology9.testcase Index: test/sql_stmt_rttopo_tests/createtopology9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/createtopology9.testcase +++ test/sql_stmt_rttopo_tests/createtopology9.testcase @@ -1,7 +0,0 @@ -CreateTopology - Double Srid -:memory: #use in-memory database -SELECT CreateTopology('topo', 4326.1); -1 # rows (not including the header row) -1 # columns -CreateTopology('topo', 4326.1) --1 DELETED test/sql_stmt_rttopo_tests/dropnetwork1.testcase Index: test/sql_stmt_rttopo_tests/dropnetwork1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/dropnetwork1.testcase +++ test/sql_stmt_rttopo_tests/dropnetwork1.testcase @@ -1,7 +0,0 @@ -DropNetwork - NULL Network -:memory: #use in-memory database -SELECT DropNetwork(NULL); -1 # rows (not including the header row) -1 # columns -DropNetwork(NULL) --1 DELETED test/sql_stmt_rttopo_tests/dropnetwork2.testcase Index: test/sql_stmt_rttopo_tests/dropnetwork2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/dropnetwork2.testcase +++ test/sql_stmt_rttopo_tests/dropnetwork2.testcase @@ -1,7 +0,0 @@ -DropNetwork - Int Network -:memory: #use in-memory database -SELECT DropNetwork(1); -1 # rows (not including the header row) -1 # columns -DropNetwork(1) --1 DELETED test/sql_stmt_rttopo_tests/dropnetwork3.testcase Index: test/sql_stmt_rttopo_tests/dropnetwork3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/dropnetwork3.testcase +++ test/sql_stmt_rttopo_tests/dropnetwork3.testcase @@ -1,7 +0,0 @@ -DropNetwork - Double Network -:memory: #use in-memory database -SELECT DropNetwork(1.1); -1 # rows (not including the header row) -1 # columns -DropNetwork(1.1) --1 DELETED test/sql_stmt_rttopo_tests/dropnetwork4.testcase Index: test/sql_stmt_rttopo_tests/dropnetwork4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/dropnetwork4.testcase +++ test/sql_stmt_rttopo_tests/dropnetwork4.testcase @@ -1,7 +0,0 @@ -DropNetwork - BLOB Network -:memory: #use in-memory database -SELECT DropNetwork(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -DropNetwork(zeroblob(4)) --1 DELETED test/sql_stmt_rttopo_tests/dropnetwork5.testcase Index: test/sql_stmt_rttopo_tests/dropnetwork5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/dropnetwork5.testcase +++ test/sql_stmt_rttopo_tests/dropnetwork5.testcase @@ -1,7 +0,0 @@ -DropNetwork - Text Network -:memory: #use in-memory database -SELECT DropNetwork('topoW'); -1 # rows (not including the header row) -1 # columns -DropNetwork('topoW') -0 DELETED test/sql_stmt_rttopo_tests/droptopology1.testcase Index: test/sql_stmt_rttopo_tests/droptopology1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/droptopology1.testcase +++ test/sql_stmt_rttopo_tests/droptopology1.testcase @@ -1,7 +0,0 @@ -DropTopology - NULL Topology -:memory: #use in-memory database -SELECT DropTopology(NULL); -1 # rows (not including the header row) -1 # columns -DropTopology(NULL) --1 DELETED test/sql_stmt_rttopo_tests/droptopology2.testcase Index: test/sql_stmt_rttopo_tests/droptopology2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/droptopology2.testcase +++ test/sql_stmt_rttopo_tests/droptopology2.testcase @@ -1,7 +0,0 @@ -DropTopology - Int Topology -:memory: #use in-memory database -SELECT DropTopology(1); -1 # rows (not including the header row) -1 # columns -DropTopology(1) --1 DELETED test/sql_stmt_rttopo_tests/droptopology3.testcase Index: test/sql_stmt_rttopo_tests/droptopology3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/droptopology3.testcase +++ test/sql_stmt_rttopo_tests/droptopology3.testcase @@ -1,7 +0,0 @@ -DropTopology - Double Topology -:memory: #use in-memory database -SELECT DropTopology(1.1); -1 # rows (not including the header row) -1 # columns -DropTopology(1.1) --1 DELETED test/sql_stmt_rttopo_tests/droptopology4.testcase Index: test/sql_stmt_rttopo_tests/droptopology4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/droptopology4.testcase +++ test/sql_stmt_rttopo_tests/droptopology4.testcase @@ -1,7 +0,0 @@ -DropTopology - BLOB Topology -:memory: #use in-memory database -SELECT DropTopology(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -DropTopology(zeroblob(4)) --1 DELETED test/sql_stmt_rttopo_tests/droptopology5.testcase Index: test/sql_stmt_rttopo_tests/droptopology5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/droptopology5.testcase +++ test/sql_stmt_rttopo_tests/droptopology5.testcase @@ -1,7 +0,0 @@ -DropTopology - Text Topology -:memory: #use in-memory database -SELECT DropTopology('topoW'); -1 # rows (not including the header row) -1 # columns -DropTopology('topoW') -0 DELETED test/sql_stmt_rttopo_tests/exporttopolayer1.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer1.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer(NULL, 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(NULL, 'topolayer', 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer10.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer10.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer10.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer11.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer11.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer11.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer12.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer12.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer12.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - BLOB output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer13.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer13.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer13.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Text output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/exporttopolayer14.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer14.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer14.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer15.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer15.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer15.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Text create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, 'no'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer16.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer16.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer16.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - BLOB create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer17.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer17.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer17.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer18.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer18.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer18.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer create-only -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/exporttopolayer19.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer19.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer19.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer2.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer2.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer Topology -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer(1, 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(1, 'topolayer', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer20.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer20.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer20.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - BLOB with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer21.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer21.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer21.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Text with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 'no'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer22.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer22.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer22.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer23.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer23.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer23.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/exporttopolayer3.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer3.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer(1.5, 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(1.5, 'topolayer', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer4.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer4.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer(zeroblob(5), 'topolayer', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(zeroblob(5), 'topolayer', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer5.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer5.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer6.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer6.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Integer TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer7.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer7.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 1.5, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 1.5, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer8.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer8.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/exporttopolayer9.testcase Index: test/sql_stmt_rttopo_tests/exporttopolayer9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/exporttopolayer9.testcase +++ test/sql_stmt_rttopo_tests/exporttopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - NULL output -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer1.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer1.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer(NULL, 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(NULL, 'topolayer', 'out', 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer10.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer10.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer10.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Integer output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer11.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer11.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer11.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Double output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 1.2, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer12.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer12.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer12.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - BLOB output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer13.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer13.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer13.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Text output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/featuretopolayer14.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer14.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer14.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Double FID -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 'out', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 'out', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer15.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer15.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer15.testcase @@ -1,7 +0,0 @@ -TopoGeo_ExportTopoLayer - Text FID -:memory: #use in-memory database -SELECT TopoGeo_ExportTopoLayer('topology', 'topolayer', 'out', 'fid'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ExportTopoLayer(topology, 'topolayer', 'out', 'fid') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer16.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer16.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer16.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - BLOB FID -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer17.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer17.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer17.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - NULL output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer2.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer2.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Integer Topology -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer(1, 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(1, 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer3.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer3.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer(1.5, 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(1.5, 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer4.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer4.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer(zeroblob(5), 'topolayer', 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(zeroblob(5), 'topolayer', 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer5.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer5.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - NULL TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', NULL, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, NULL, 'out', 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer6.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer6.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Integer TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 1, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 1, 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer7.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer7.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 1.5, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 1.5, 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer8.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer8.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', zeroblob(4), 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, zeroblob(4), 'out', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/featuretopolayer9.testcase Index: test/sql_stmt_rttopo_tests/featuretopolayer9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/featuretopolayer9.testcase +++ test/sql_stmt_rttopo_tests/featuretopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_InsertFeatureFromTopoLayer - NULL output -:memory: #use in-memory database -SELECT TopoGeo_InsertFeatureFromTopoLayer('topology', 'topolayer', NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_InsertFeatureFromTopoLayer(topology, 'topolayer', NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint1.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint1.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint1.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - NULL Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint10.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint10.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint10.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', 1.1); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint11.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint11.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint11.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', NULL); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint12.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint12.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint12.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', 'geom'); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint13.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint13.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint13.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint14.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint14.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint14.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint15.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint15.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint15.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint16.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint16.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint16.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint17.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint17.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint17.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint18.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint18.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint18.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Int NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), -1); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getedgebypoint19.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint19.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint19.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Double NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), -0.1); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getedgebypoint2.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint2.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint2.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Int Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint3.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint3.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint3.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Double Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint4.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint4.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint4.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Blob Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint(zeroblob(4),MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint5.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint5.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint5.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Text Topology -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getedgebypoint6.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint6.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint6.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getedgebypoint7.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint7.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint7.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint8.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint8.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint8.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgebypoint9.testcase Index: test/sql_stmt_rttopo_tests/getedgebypoint9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgebypoint9.testcase +++ test/sql_stmt_rttopo_tests/getedgebypoint9.testcase @@ -1,7 +0,0 @@ -GetEdgeByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetEdgeByPoint('topology', -1); -1 # rows (not including the header row) -1 # columns -GetEdgeByPoint('topology', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgeseed1.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed1.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed1.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed(NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed(NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getedgeseed2.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed2.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed2.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed(1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed(1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgeseed3.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed3.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed3.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed(1.2, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed(1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgeseed4.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed4.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed4.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed(zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed(zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgeseed5.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed5.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed5.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getedgeseed6.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed6.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed6.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - NULL Face -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getedgeseed7.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed7.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed7.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Double Face -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', 1.3); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgeseed8.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed8.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed8.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - Text Face -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', 'face'); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', 'face') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getedgeseed9.testcase Index: test/sql_stmt_rttopo_tests/getedgeseed9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getedgeseed9.testcase +++ test/sql_stmt_rttopo_tests/getedgeseed9.testcase @@ -1,7 +0,0 @@ -GetEdgeSeed - BLOB Face -:memory: #use in-memory database -SELECT TopoGeo_GetEdgeSeed('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetEdgeSeed('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint1.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint1.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint1.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - NULL Topology -:memory: #use in-memory database -SELECT GetFaceByPoint(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint10.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint10.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint10.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', 1.1); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint11.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint11.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint11.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', NULL); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint12.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint12.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint12.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', 'geom'); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint13.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint13.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint13.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint14.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint14.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint14.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint15.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint15.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint15.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint16.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint16.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint16.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint17.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint17.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint17.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint18.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint18.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint18.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Int NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), -1); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getfacebypoint19.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint19.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint19.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Double NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), -0.1); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getfacebypoint2.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint2.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint2.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Int Topology -:memory: #use in-memory database -SELECT GetFaceByPoint(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint3.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint3.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint3.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Double Topology -:memory: #use in-memory database -SELECT GetFaceByPoint(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint4.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint4.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint4.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Blob Topology -:memory: #use in-memory database -SELECT GetFaceByPoint(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint(zeroblob(4),MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint5.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint5.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint5.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Text Topology -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getfacebypoint6.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint6.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint6.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getfacebypoint7.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint7.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint7.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint8.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint8.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint8.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacebypoint9.testcase Index: test/sql_stmt_rttopo_tests/getfacebypoint9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacebypoint9.testcase +++ test/sql_stmt_rttopo_tests/getfacebypoint9.testcase @@ -1,7 +0,0 @@ -GetFaceByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetFaceByPoint('topology', -1); -1 # rows (not including the header row) -1 # columns -GetFaceByPoint('topology', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceedges1.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges1.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges1.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - NULL Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfaceedges2.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges2.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges2.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Int Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges(1, -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceedges3.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges3.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges3.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Double Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceedges4.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges4.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges4.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Blob Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceedges5.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges5.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges5.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Text Topology -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getfaceedges6.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges6.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges6.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Double Face -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceedges7.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges7.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges7.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - BLOB Face -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceedges8.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges8.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges8.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - Text Face -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', 'node'); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceedges9.testcase Index: test/sql_stmt_rttopo_tests/getfaceedges9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceedges9.testcase +++ test/sql_stmt_rttopo_tests/getfaceedges9.testcase @@ -1,7 +0,0 @@ -GetFaceEdges - NULL Face -:memory: #use in-memory database -SELECT ST_GetFaceEdges('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_GetFaceEdges('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfacegeometry1.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry1.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry1.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - NULL Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry(NULL, 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry(NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfacegeometry2.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry2.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry2.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Int Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry(1, 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry(1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacegeometry3.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry3.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry3.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Double Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry(1.2, 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry(1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacegeometry4.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry4.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry4.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - BLOB Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry(zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry(zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacegeometry5.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry5.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry5.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Text Topology -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', 1); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getfacegeometry6.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry6.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry6.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - NULL Face -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfacegeometry7.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry7.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry7.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Double Face -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', 1.3); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacegeometry8.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry8.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry8.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - Text Face -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', 'face'); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', 'face') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfacegeometry9.testcase Index: test/sql_stmt_rttopo_tests/getfacegeometry9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfacegeometry9.testcase +++ test/sql_stmt_rttopo_tests/getfacegeometry9.testcase @@ -1,7 +0,0 @@ -GetFaceGeometry - BLOB Face -:memory: #use in-memory database -SELECT ST_GetFaceGeometry('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_GetFaceGeometry('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceseed1.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed1.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed1.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed(NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed(NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfaceseed2.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed2.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed2.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed(1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed(1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceseed3.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed3.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed3.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed(1.2, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed(1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceseed4.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed4.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed4.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed(zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed(zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceseed5.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed5.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed5.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getfaceseed6.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed6.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed6.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - NULL Face -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getfaceseed7.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed7.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed7.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - Double Face -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', 1.3); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceseed8.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed8.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed8.testcase @@ -1,7 +0,0 @@ -TopoGeo_GetFaceSeed - Text Face -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', 'face'); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', 'face') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getfaceseed9.testcase Index: test/sql_stmt_rttopo_tests/getfaceseed9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getfaceseed9.testcase +++ test/sql_stmt_rttopo_tests/getfaceseed9.testcase @@ -1,7 +0,0 @@ -GetFaceSeed - BLOB Face -:memory: #use in-memory database -SELECT TopoGeo_GetFaceSeed('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_GetFaceSeed('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint1.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint1.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint1.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - NULL Network -:memory: #use in-memory database -SELECT GetLinkByPoint(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint10.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint10.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint10.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', 1.1); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint11.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint11.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint11.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', NULL); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint12.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint12.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint12.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', 'geom'); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint13.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint13.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint13.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint14.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint14.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint14.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint15.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint15.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint15.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint16.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint16.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint16.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint17.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint17.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint17.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint18.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint18.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint18.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Int Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), 1); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint19.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint19.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint19.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Int NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), -1); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint2.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint2.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint2.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Int Network -:memory: #use in-memory database -SELECT GetLinkByPoint(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint20.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint20.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint20.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Double NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), -0.1); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint3.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint3.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint3.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Double Network -:memory: #use in-memory database -SELECT GetLinkByPoint(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint4.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint4.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint4.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Blob Network -:memory: #use in-memory database -SELECT GetLinkByPoint(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint(zeroblob(4),MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint5.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint5.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint5.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Text Network -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint6.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint6.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint6.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), 0.01); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), 0.01) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint7.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint7.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint7.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint8.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint8.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint8.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetLinkByPoint('network', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkbypoint9.testcase Index: test/sql_stmt_rttopo_tests/getlinkbypoint9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkbypoint9.testcase +++ test/sql_stmt_rttopo_tests/getlinkbypoint9.testcase @@ -1,7 +0,0 @@ -GetLinkByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetLinkByPoint('network', -1); -1 # rows (not including the header row) -1 # columns -GetLinkByPoint('network', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkseed1.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed1.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed1.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed(NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed(NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getlinkseed2.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed2.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed2.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - Int Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed(1, 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed(1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkseed3.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed3.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed3.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - Double Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed(1.2, 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed(1.2, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkseed4.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed4.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed4.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed(zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed(zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkseed5.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed5.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed5.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - Text Topology -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/getlinkseed6.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed6.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed6.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - NULL Face -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getlinkseed7.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed7.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed7.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - Double Face -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', 1.3); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', 1.3) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkseed8.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed8.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed8.testcase @@ -1,7 +0,0 @@ -TopoNet_GetLinkSeed - Text Face -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', 'face'); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', 'face') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getlinkseed9.testcase Index: test/sql_stmt_rttopo_tests/getlinkseed9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getlinkseed9.testcase +++ test/sql_stmt_rttopo_tests/getlinkseed9.testcase @@ -1,7 +0,0 @@ -GetLinkSeed - BLOB Face -:memory: #use in-memory database -SELECT TopoNet_GetLinkSeed('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_GetLinkSeed('network', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint1.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint1.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint1.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - NULL Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint10.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint10.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint10.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', 1.1); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint11.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint11.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint11.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', NULL); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint12.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint12.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint12.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', 'geom'); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint13.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint13.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint13.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint14.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint14.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint14.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint15.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint15.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint15.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint16.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint16.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint16.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint17.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint17.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint17.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint18.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint18.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint18.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Int Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 1); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint19.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint19.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint19.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Int NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), -1); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint2.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint2.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint2.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Int Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint20.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint20.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint20.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Double NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), -0.1); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint3.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint3.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint3.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Double Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint4.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint4.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint4.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Blob Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint(zeroblob(4),MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint5.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint5.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint5.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Text Network -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint6.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint6.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint6.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 0.01); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 0.01) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint7.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint7.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint7.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint8.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint8.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint8.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnetnodebypoint9.testcase Index: test/sql_stmt_rttopo_tests/getnetnodebypoint9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnetnodebypoint9.testcase +++ test/sql_stmt_rttopo_tests/getnetnodebypoint9.testcase @@ -1,7 +0,0 @@ -GetNetNodeByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetNetNodeByPoint('network', -1); -1 # rows (not including the header row) -1 # columns -GetNetNodeByPoint('network', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint1.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint1.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint1.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - NULL Topology -:memory: #use in-memory database -SELECT GetNodeByPoint(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint10.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint10.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint10.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Double Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', 1.1); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint11.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint11.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint11.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - NULL Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', NULL); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint12.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint12.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint12.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Text Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', 'geom'); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint13.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint13.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint13.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint14.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint14.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint14.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Linestring Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint15.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint15.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint15.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Polygon Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint16.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint16.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint16.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint17.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint17.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint17.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - NULL Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint18.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint18.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint18.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Int NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), -1); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getnodebypoint19.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint19.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint19.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Double NEGATIVE Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), -0.1); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/getnodebypoint2.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint2.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint2.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Int Topology -:memory: #use in-memory database -SELECT GetNodeByPoint(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint3.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint3.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint3.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Double Topology -:memory: #use in-memory database -SELECT GetNodeByPoint(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint4.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint4.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint4.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Blob Topology -:memory: #use in-memory database -SELECT GetNodeByPoint(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint(zeroblob(4),MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint5.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint5.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint5.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Text Topology -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getnodebypoint6.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint6.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint6.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Double Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/getnodebypoint7.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint7.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint7.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint8.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint8.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint8.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Text Tolerance -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/getnodebypoint9.testcase Index: test/sql_stmt_rttopo_tests/getnodebypoint9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/getnodebypoint9.testcase +++ test/sql_stmt_rttopo_tests/getnodebypoint9.testcase @@ -1,7 +0,0 @@ -GetNodeByPoint - Int Geometry -:memory: #use in-memory database -SELECT GetNodeByPoint('topology', -1); -1 # rows (not including the header row) -1 # columns -GetNodeByPoint('topology', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer1.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer1.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer(NULL, NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer(NULL, NULL, 'table', 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer10.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer10.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer10.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - NULL ref-table -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer11.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer11.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer11.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - INT ref-table -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer12.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer12.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer12.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Double ref-table -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 1.2, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 1.2, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer13.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer13.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer13.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - BLOB ref-table -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer14.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer14.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer14.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - NULL TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer15.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer15.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer15.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer16.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer16.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer16.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer17.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer17.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer17.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Text TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/inittopolayer2.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer2.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer(1, NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer(1, NULL, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer3.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer3.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer(1.5, NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer(1.5, NULL, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer4.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer4.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer(zeroblob(4), NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer(zeroblob(4), NULL, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer5.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer5.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', NULL, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', NULL, 'table', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/inittopolayer6.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer6.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', 'a', 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', 'a', 'table', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/inittopolayer7.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer7.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', 1, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', 1, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer8.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer8.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', 1.2, 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', 1.2, 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/inittopolayer9.testcase Index: test/sql_stmt_rttopo_tests/inittopolayer9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/inittopolayer9.testcase +++ test/sql_stmt_rttopo_tests/inittopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_InitTopoLayer - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_InitTopoLayer('topology', zeroblob(4), 'table', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_InitTopoLayer('topology', zeroblob(4), 'table', 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed1.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed1.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed1.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed10.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed10.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed10.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - NULL distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed11.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed11.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed11.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - TEXT distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 'dist'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 'dist') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed12.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed12.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed12.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - BLOB distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', zeroblob(5)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', zeroblob(5)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed13.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed13.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed13.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - INT distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/linesnapseed14.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed14.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed14.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - DOUBLE distance -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 1.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 'topo', 1.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/linesnapseed15.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed15.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed15.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - point instead of line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('POINT(1 1)'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('POINT((1 1)'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed16.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed16.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed16.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - multilinestring instead of linestring -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('MULTILINESTRING((1 1, 1 2), (2 2, 3 3))'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('MULTILINESTRING((1 1, 1 2), (2 2, 3 3))'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed17.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed17.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed17.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - polygon instead of line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed2.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed2.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed2.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - INT Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed3.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed3.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed3.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - DOUBLE Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 1.1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), 1.1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed4.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed4.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed4.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(ST_GeomFromText('LINESTRING(1 1, 1 2)'), zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed5.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed5.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed5.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - NULL line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(NULL, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(NULL, 'topo', 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed6.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed6.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed6.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - INT line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(1, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(1, 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed7.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed7.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed7.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - DOUBLE line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(1.1, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(1.1, 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed8.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed8.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed8.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - TEXT line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed('line', 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed('line', 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/linesnapseed9.testcase Index: test/sql_stmt_rttopo_tests/linesnapseed9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/linesnapseed9.testcase +++ test/sql_stmt_rttopo_tests/linesnapseed9.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapLineToSeed - invalid BLOB line -:memory: #use in-memory database -SELECT TopoGeo_SnapLineToSeed(zeroblob(100), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapLineToSeed(zeroblob(100), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo1.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo1.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo1.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - NULL Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo(NULL, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo(NULL, 'topology') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo2.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo2.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo2.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Int Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo(1, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo(1, 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo3.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo3.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo3.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Double Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo(1.5, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo(1.5, 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo4.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo4.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo4.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Blob Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo(zeroblob(4), 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo(zeroblob(4), 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo5.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo5.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo5.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Text Network -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', 'topology'); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', 'topology') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo6.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo6.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo6.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - NULL Topology -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', NULL); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo7.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo7.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo7.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - INT Topology -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', 1); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo8.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo8.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo8.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - Double Topology -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', 1.2); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/loginetfromtgeo9.testcase Index: test/sql_stmt_rttopo_tests/loginetfromtgeo9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/loginetfromtgeo9.testcase +++ test/sql_stmt_rttopo_tests/loginetfromtgeo9.testcase @@ -1,7 +0,0 @@ -ST_LogiNetFromTGeo - BLOB Topology -:memory: #use in-memory database -SELECT ST_LogiNetFromTGeo('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_LogiNetFromTGeo('network', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal1.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal1.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal1.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - NULL Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal(NULL, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal(NULL, 1, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal10.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal10.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal10.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - NULL Edge #2 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal11.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal11.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal11.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Double Edge #2 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, 2.4); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, 2.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal12.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal12.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal12.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Text Edge #2 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, 'to'); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, 'to') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal13.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal13.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal13.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - BLOB Edge #2 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal2.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal2.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal2.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Int Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal(1, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal(1, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal3.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal3.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal3.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Double Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal(1.2, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal(1.2, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal4.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal4.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal4.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - BLOB Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal(zeroblob(4), 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal(zeroblob(4), 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal5.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal5.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal5.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Text Topology -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1, 2) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/modedgeheal6.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal6.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal6.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - NULL Edge #1 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', NULL, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', NULL, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal7.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal7.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal7.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Double Edge #1 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 1.3, 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 1.3, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal8.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal8.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal8.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - Text Edge #1 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', 'from', 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', 'from', 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgeheal9.testcase Index: test/sql_stmt_rttopo_tests/modedgeheal9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgeheal9.testcase +++ test/sql_stmt_rttopo_tests/modedgeheal9.testcase @@ -1,7 +0,0 @@ -ModEdgeHeal - BLOB Edge #1 -:memory: #use in-memory database -SELECT ST_ModEdgeHeal('topology', zeroblob(4), 2); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeHeal('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit1.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit1.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit1.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - NULL Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit10.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit10.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit10.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Double Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit11.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit11.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit11.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - NULL Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit12.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit12.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit12.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Text Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', 'face', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', 'face', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit13.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit13.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit13.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', 'face', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', 'face', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit14.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit14.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit14.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Linestring Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit15.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit15.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit15.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Polygon Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit16.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit16.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit16.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit2.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit2.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit2.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Int Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit3.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit3.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit3.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Double Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit4.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit4.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit4.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Blob Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit5.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit5.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit5.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Text Topology -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/modedgesplit6.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit6.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit6.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Double Face -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit7.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit7.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit7.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - BLOB Face -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit8.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit8.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit8.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Text Face -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', 'face', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', 'face', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modedgesplit9.testcase Index: test/sql_stmt_rttopo_tests/modedgesplit9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modedgesplit9.testcase +++ test/sql_stmt_rttopo_tests/modedgesplit9.testcase @@ -1,7 +0,0 @@ -ModEdgeSplit - Int Geometry -:memory: #use in-memory database -SELECT ST_ModEdgeSplit('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_ModEdgeSplit('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit1.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit1.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit1.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - NULL Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit2.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit2.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit2.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Int Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit3.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit3.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit3.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Double Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit4.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit4.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit4.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Blob Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit5.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit5.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit5.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Text Network -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit6.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit6.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit6.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Double Link -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit7.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit7.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit7.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - BLOB Link -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit8.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit8.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit8.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Text Link -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', 'link', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', 'link', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modgeolinksplit9.testcase Index: test/sql_stmt_rttopo_tests/modgeolinksplit9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modgeolinksplit9.testcase +++ test/sql_stmt_rttopo_tests/modgeolinksplit9.testcase @@ -1,7 +0,0 @@ -ModGeoLinkSplit - Int Geometry -:memory: #use in-memory database -SELECT ST_ModGeoLinkSplit('net', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_ModGeoLinkSplit('net', -1, 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/modlinkheal1.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal1.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal1.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - NULL Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal(NULL, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal(NULL, 1, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal10.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal10.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal10.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - NULL Link #2 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal11.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal11.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal11.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Double Link #2 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1, 2.4); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1, 2.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal12.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal12.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal12.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Text Link #2 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1, 'to'); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1, 'to') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal13.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal13.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal13.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - BLOB Link #2 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal2.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal2.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal2.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Int Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal(1, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal(1, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal3.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal3.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal3.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Double Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal(1.2, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal(1.2, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal4.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal4.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal4.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - BLOB Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal(zeroblob(4), 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal(zeroblob(4), 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal5.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal5.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal5.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Text Network -:memory: #use in-memory database -SELECT ST_ModLinkHeal('topology', 1, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('topology', 1, 2) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/modlinkheal6.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal6.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal6.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - NULL Link #1 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', NULL, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', NULL, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal7.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal7.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal7.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Double Link #1 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 1.3, 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 1.3, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal8.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal8.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal8.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - Text Link #1 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', 'from', 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', 'from', 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modlinkheal9.testcase Index: test/sql_stmt_rttopo_tests/modlinkheal9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modlinkheal9.testcase +++ test/sql_stmt_rttopo_tests/modlinkheal9.testcase @@ -1,7 +0,0 @@ -ModLinkHeal - BLOB Link #1 -:memory: #use in-memory database -SELECT ST_ModLinkHeal('net', zeroblob(4), 2); -1 # rows (not including the header row) -1 # columns -ST_ModLinkHeal('net', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modloglinksplit1.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit1.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit1.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - NULL Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/modloglinksplit2.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit2.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit2.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Int Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit(1, -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modloglinksplit3.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit3.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit3.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Double Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modloglinksplit4.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit4.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit4.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Blob Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modloglinksplit5.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit5.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit5.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Text Network -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', -1); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', -1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/modloglinksplit6.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit6.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit6.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Double Link -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', 2.0); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modloglinksplit7.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit7.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit7.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - BLOB Link -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modloglinksplit8.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit8.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit8.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - Text Link -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', 'node'); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/modloglinksplit9.testcase Index: test/sql_stmt_rttopo_tests/modloglinksplit9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/modloglinksplit9.testcase +++ test/sql_stmt_rttopo_tests/modloglinksplit9.testcase @@ -1,7 +0,0 @@ -ModLogLinkSplit - NULL Link -:memory: #use in-memory database -SELECT ST_ModLogLinkSplit('net', NULL); -1 # rows (not including the header row) -1 # columns -ST_ModLogLinkSplit('net', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode1.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode1.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode1.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - NULL Network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode2.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode2.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode2.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Int Network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode3.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode3.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode3.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Double Network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode4.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode4.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode4.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Blob Network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode5.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode5.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode5.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Double Node -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode('net', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode6.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode6.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode6.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - BLOB Node -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode('net', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode7.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode7.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode7.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - Text Node -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', 'node', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode('net', 'node', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode8.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode8.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode8.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - NULL Node -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNode('net', NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/moveisonetnode9.testcase Index: test/sql_stmt_rttopo_tests/moveisonetnode9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonetnode9.testcase +++ test/sql_stmt_rttopo_tests/moveisonetnode9.testcase @@ -1,7 +0,0 @@ -MoveIsoNetNode - invalid network -:memory: #use in-memory database -SELECT ST_MoveIsoNetNode('net', 1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNetNetNode('net', 1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/moveisonode1.testcase Index: test/sql_stmt_rttopo_tests/moveisonode1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode1.testcase +++ test/sql_stmt_rttopo_tests/moveisonode1.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - NULL Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/moveisonode10.testcase Index: test/sql_stmt_rttopo_tests/moveisonode10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode10.testcase +++ test/sql_stmt_rttopo_tests/moveisonode10.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Double Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode11.testcase Index: test/sql_stmt_rttopo_tests/moveisonode11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode11.testcase +++ test/sql_stmt_rttopo_tests/moveisonode11.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - NULL Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/moveisonode12.testcase Index: test/sql_stmt_rttopo_tests/moveisonode12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode12.testcase +++ test/sql_stmt_rttopo_tests/moveisonode12.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Text Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', 'face', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', 'face', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode13.testcase Index: test/sql_stmt_rttopo_tests/moveisonode13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode13.testcase +++ test/sql_stmt_rttopo_tests/moveisonode13.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', 'face', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', 'face', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode14.testcase Index: test/sql_stmt_rttopo_tests/moveisonode14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode14.testcase +++ test/sql_stmt_rttopo_tests/moveisonode14.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Linestring Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode15.testcase Index: test/sql_stmt_rttopo_tests/moveisonode15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode15.testcase +++ test/sql_stmt_rttopo_tests/moveisonode15.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Polygon Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode16.testcase Index: test/sql_stmt_rttopo_tests/moveisonode16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode16.testcase +++ test/sql_stmt_rttopo_tests/moveisonode16.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode17.testcase Index: test/sql_stmt_rttopo_tests/moveisonode17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode17.testcase +++ test/sql_stmt_rttopo_tests/moveisonode17.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - NULL Node -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/moveisonode2.testcase Index: test/sql_stmt_rttopo_tests/moveisonode2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode2.testcase +++ test/sql_stmt_rttopo_tests/moveisonode2.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Int Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode3.testcase Index: test/sql_stmt_rttopo_tests/moveisonode3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode3.testcase +++ test/sql_stmt_rttopo_tests/moveisonode3.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Double Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode4.testcase Index: test/sql_stmt_rttopo_tests/moveisonode4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode4.testcase +++ test/sql_stmt_rttopo_tests/moveisonode4.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Blob Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode5.testcase Index: test/sql_stmt_rttopo_tests/moveisonode5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode5.testcase +++ test/sql_stmt_rttopo_tests/moveisonode5.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Text Topology -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/moveisonode6.testcase Index: test/sql_stmt_rttopo_tests/moveisonode6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode6.testcase +++ test/sql_stmt_rttopo_tests/moveisonode6.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Double Node -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode7.testcase Index: test/sql_stmt_rttopo_tests/moveisonode7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode7.testcase +++ test/sql_stmt_rttopo_tests/moveisonode7.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - BLOB Node -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode8.testcase Index: test/sql_stmt_rttopo_tests/moveisonode8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode8.testcase +++ test/sql_stmt_rttopo_tests/moveisonode8.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Text Node -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', 'node', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', 'node', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/moveisonode9.testcase Index: test/sql_stmt_rttopo_tests/moveisonode9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/moveisonode9.testcase +++ test/sql_stmt_rttopo_tests/moveisonode9.testcase @@ -1,7 +0,0 @@ -MoveIsoNode - Int Geometry -:memory: #use in-memory database -SELECT ST_MoveIsoNode('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_MoveIsoNode('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/netexception1.testcase Index: test/sql_stmt_rttopo_tests/netexception1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/netexception1.testcase +++ test/sql_stmt_rttopo_tests/netexception1.testcase @@ -1,7 +0,0 @@ -GetLastNetworkException - NULL Network -:memory: #use in-memory database -SELECT GetLastNetworkException(NULL); -1 # rows (not including the header row) -1 # columns -GetLastNetworkException(NULL) -(NULL) DELETED test/sql_stmt_rttopo_tests/netexception2.testcase Index: test/sql_stmt_rttopo_tests/netexception2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/netexception2.testcase +++ test/sql_stmt_rttopo_tests/netexception2.testcase @@ -1,7 +0,0 @@ -GetLastNetworkException - Undefined Network -:memory: #use in-memory database -SELECT GetLastNetworkException('net'); -1 # rows (not including the header row) -1 # columns -GetLastNetworkException('net') -(NULL) DELETED test/sql_stmt_rttopo_tests/newedgeheal1.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal1.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal1.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - NULL Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal(NULL, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal(NULL, 1, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal10.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal10.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal10.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - NULL Edge #2 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal11.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal11.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal11.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Double Edge #2 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, 2.4); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, 2.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal12.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal12.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal12.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Text Edge #2 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, 'to'); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, 'to') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal13.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal13.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal13.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - BLOB Edge #2 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal2.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal2.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal2.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Int Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal(1, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal(1, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal3.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal3.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal3.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Double Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal(1.2, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal(1.2, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal4.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal4.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal4.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - BLOB Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal(zeroblob(4), 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal(zeroblob(4), 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal5.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal5.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal5.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Text Topology -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1, 2) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/newedgeheal6.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal6.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal6.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - NULL Edge #1 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', NULL, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', NULL, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal7.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal7.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal7.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Double Edge #1 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 1.3, 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 1.3, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal8.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal8.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal8.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - Text Edge #1 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', 'from', 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', 'from', 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgeheal9.testcase Index: test/sql_stmt_rttopo_tests/newedgeheal9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgeheal9.testcase +++ test/sql_stmt_rttopo_tests/newedgeheal9.testcase @@ -1,7 +0,0 @@ -NewEdgeHeal - BLOB Edge #1 -:memory: #use in-memory database -SELECT ST_NewEdgeHeal('topology', zeroblob(4), 2); -1 # rows (not including the header row) -1 # columns -ST_NewEdgeHeal('topology', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit1.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit1.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit1.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - NULL Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit10.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit10.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit10.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Double Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, 1.1); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit11.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit11.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit11.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - NULL Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, NULL); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit12.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit12.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit12.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Text Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', 'face', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', 'face', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit13.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit13.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit13.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', 'face', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', 'face', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit14.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit14.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit14.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Linestring Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit15.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit15.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit15.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Polygon Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit16.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit16.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit16.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit2.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit2.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit2.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Int Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit3.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit3.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit3.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Double Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit4.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit4.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit4.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Blob Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit5.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit5.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit5.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Text Topology -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/newedgessplit6.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit6.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit6.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Double Face -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit7.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit7.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit7.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - BLOB Face -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit8.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit8.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit8.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Text Face -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', 'face', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', 'face', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newedgessplit9.testcase Index: test/sql_stmt_rttopo_tests/newedgessplit9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newedgessplit9.testcase +++ test/sql_stmt_rttopo_tests/newedgessplit9.testcase @@ -1,7 +0,0 @@ -NewEdgesSplit - Int Geometry -:memory: #use in-memory database -SELECT ST_NewEdgesSplit('topology', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_NewEdgesSplit('topology', -1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit1.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit1.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit1.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - NULL Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit(NULL, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit(NULL, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit2.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit2.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit2.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Int Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit(1, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit(1, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit3.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit3.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit3.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Double Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit(1.5, -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit(1.5, -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit4.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit4.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit4.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Blob Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit(zeroblob(4), -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit5.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit5.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit5.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Text Network -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', -1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', -1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit6.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit6.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit6.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Double Link -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', 2.0, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', 2.0, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit7.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit7.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit7.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - BLOB Link -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit8.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit8.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit8.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Text Link -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', 'link', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', 'link', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newgeolinksplit9.testcase Index: test/sql_stmt_rttopo_tests/newgeolinksplit9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newgeolinksplit9.testcase +++ test/sql_stmt_rttopo_tests/newgeolinksplit9.testcase @@ -1,7 +0,0 @@ -NewGeoLinkSplit - Int Geometry -:memory: #use in-memory database -SELECT ST_NewGeoLinkSplit('net', -1, 1); -1 # rows (not including the header row) -1 # columns -ST_NewGeoLinkSplit('net', -1, 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/newlinkheal1.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal1.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal1.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - NULL Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal(NULL, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal(NULL, 1, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal10.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal10.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal10.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - NULL Link #2 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1, NULL); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal11.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal11.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal11.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Double Link #2 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1, 2.4); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1, 2.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal12.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal12.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal12.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Text Link #2 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1, 'to'); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1, 'to') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal13.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal13.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal13.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - BLOB Link #2 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal2.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal2.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal2.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Int Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal(1, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal(1, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal3.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal3.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal3.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Double Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal(1.2, 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal(1.2, 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal4.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal4.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal4.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - BLOB Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal(zeroblob(4), 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal(zeroblob(4), 1, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal5.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal5.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal5.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Text Network -:memory: #use in-memory database -SELECT ST_NewLinkHeal('topology', 1, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('topology', 1, 2) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/newlinkheal6.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal6.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal6.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - NULL Link #1 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', NULL, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', NULL, 2) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal7.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal7.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal7.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Double Link #1 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 1.3, 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 1.3, 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal8.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal8.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal8.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - Text Link #1 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', 'from', 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', 'from', 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newlinkheal9.testcase Index: test/sql_stmt_rttopo_tests/newlinkheal9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newlinkheal9.testcase +++ test/sql_stmt_rttopo_tests/newlinkheal9.testcase @@ -1,7 +0,0 @@ -NewLinkHeal - BLOB Link #1 -:memory: #use in-memory database -SELECT ST_NewLinkHeal('net', zeroblob(4), 2); -1 # rows (not including the header row) -1 # columns -ST_NewLinkHeal('net', zeroblob(4), 2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newloglinksplit1.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit1.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit1.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - NULL Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/newloglinksplit2.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit2.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit2.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Int Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit(1, -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newloglinksplit3.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit3.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit3.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Double Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newloglinksplit4.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit4.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit4.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Blob Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newloglinksplit5.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit5.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit5.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Text Network -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', -1); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', -1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/newloglinksplit6.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit6.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit6.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Double Link -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', 2.0); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newloglinksplit7.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit7.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit7.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - BLOB Link -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newloglinksplit8.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit8.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit8.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - Text Link -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', 'node'); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/newloglinksplit9.testcase Index: test/sql_stmt_rttopo_tests/newloglinksplit9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/newloglinksplit9.testcase +++ test/sql_stmt_rttopo_tests/newloglinksplit9.testcase @@ -1,7 +0,0 @@ -NewLogLinkSplit - NULL Link -:memory: #use in-memory database -SELECT ST_NewLogLinkSplit('net', NULL); -1 # rows (not including the header row) -1 # columns -ST_NewLogLinkSplit('net', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed1.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed1.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed1.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed10.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed10.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed10.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - NULL distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed11.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed11.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed11.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - TEXT distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 'dist'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 'dist') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed12.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed12.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed12.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - BLOB distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', zeroblob(5)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', zeroblob(5)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed13.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed13.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed13.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - INT distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/pointsnapseed14.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed14.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed14.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - DOUBLE distance -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 1.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 'topo', 1.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/pointsnapseed15.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed15.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed15.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - linestring instead of point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(ST_GeomFromText('LINESTRING(1 1, 2 2)'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(ST_GeomFromText('LINESTRING(1 1, 2 2)'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed16.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed16.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed16.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - multipoint instead of point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(ST_GeomFromText('MULTIPOINT(1 1, 1 2)'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(ST_GeomFromText('MULTIPOINT(1 1, 1 2)'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed17.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed17.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed17.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - polygon instead of point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(ST_GeomFromText('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(ST_GeomFromText('POLYGON((1 1, 1 2, 2 2, 2 1, 1 1))'), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed2.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed2.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed2.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - INT Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed3.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed3.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed3.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - DOUBLE Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), 1.1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), 1.1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed4.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed4.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed4.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(MakePoint(1, 2), zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(MakePoint(1, 2), zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed5.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed5.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed5.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - NULL point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(NULL, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(NULL, 'topo', 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed6.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed6.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed6.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - INT point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(1, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(1, 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed7.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed7.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed7.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - DOUBLE point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(1.1, 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(1.1, 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed8.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed8.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed8.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - TEXT point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed('point', 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed('point', 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/pointsnapseed9.testcase Index: test/sql_stmt_rttopo_tests/pointsnapseed9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/pointsnapseed9.testcase +++ test/sql_stmt_rttopo_tests/pointsnapseed9.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnapPointToSeed - invalid BLOB point -:memory: #use in-memory database -SELECT TopoGeo_SnapPointToSeed(zeroblob(100), 'topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnapPointToSeed(zeroblob(100), 'topo', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/polygonize1.testcase Index: test/sql_stmt_rttopo_tests/polygonize1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize1.testcase +++ test/sql_stmt_rttopo_tests/polygonize1.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_Polygonize(NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/polygonize10.testcase Index: test/sql_stmt_rttopo_tests/polygonize10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize10.testcase +++ test/sql_stmt_rttopo_tests/polygonize10.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - Int force-rebuild -:memory: #use in-memory database -SELECT TopoGeo_Polygonize('topo', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize('topo', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/polygonize2.testcase Index: test/sql_stmt_rttopo_tests/polygonize2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize2.testcase +++ test/sql_stmt_rttopo_tests/polygonize2.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_Polygonize(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/polygonize3.testcase Index: test/sql_stmt_rttopo_tests/polygonize3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize3.testcase +++ test/sql_stmt_rttopo_tests/polygonize3.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_Polygonize(1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize(1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/polygonize4.testcase Index: test/sql_stmt_rttopo_tests/polygonize4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize4.testcase +++ test/sql_stmt_rttopo_tests/polygonize4.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_Polygonize(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/polygonize5.testcase Index: test/sql_stmt_rttopo_tests/polygonize5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize5.testcase +++ test/sql_stmt_rttopo_tests/polygonize5.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_Polygonize('topoW'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize('topoW') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/polygonize6.testcase Index: test/sql_stmt_rttopo_tests/polygonize6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize6.testcase +++ test/sql_stmt_rttopo_tests/polygonize6.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - NULL force-rebuild -:memory: #use in-memory database -SELECT TopoGeo_Polygonize('topo', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize('topo', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/polygonize7.testcase Index: test/sql_stmt_rttopo_tests/polygonize7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize7.testcase +++ test/sql_stmt_rttopo_tests/polygonize7.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - Double force-rebuild -:memory: #use in-memory database -SELECT TopoGeo_Polygonize('topo', 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize('topo', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/polygonize8.testcase Index: test/sql_stmt_rttopo_tests/polygonize8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize8.testcase +++ test/sql_stmt_rttopo_tests/polygonize8.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - BLOB force-rebuild -:memory: #use in-memory database -SELECT TopoGeo_Polygonize('topo', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize('topo', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/polygonize9.testcase Index: test/sql_stmt_rttopo_tests/polygonize9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/polygonize9.testcase +++ test/sql_stmt_rttopo_tests/polygonize9.testcase @@ -1,7 +0,0 @@ -TopoGeo_Polygonize - Text force-rebuild -:memory: #use in-memory database -SELECT TopoGeo_Polygonize('topo', 'force'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Polygonize('topo', 'force') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgemodface1.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface1.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface1.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - NULL Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remedgemodface2.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface2.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface2.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Int Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgemodface3.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface3.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface3.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Double Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgemodface4.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface4.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface4.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Blob Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgemodface5.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface5.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface5.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Text Topology -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/remedgemodface6.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface6.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface6.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Double Edge -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgemodface7.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface7.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface7.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - BLOB Edge -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgemodface8.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface8.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface8.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - Text Edge -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', 'edge'); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', 'edge') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgemodface9.testcase Index: test/sql_stmt_rttopo_tests/remedgemodface9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgemodface9.testcase +++ test/sql_stmt_rttopo_tests/remedgemodface9.testcase @@ -1,7 +0,0 @@ -RemEdgeModFace - NULL Edge -:memory: #use in-memory database -SELECT ST_RemEdgeModFace('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeModFace('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remedgenewface1.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface1.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface1.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - NULL Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remedgenewface2.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface2.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface2.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Int Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgenewface3.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface3.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface3.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Double Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgenewface4.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface4.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface4.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Blob Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgenewface5.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface5.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface5.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Text Topology -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/remedgenewface6.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface6.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface6.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Double Edge -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgenewface7.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface7.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface7.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - BLOB Edge -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgenewface8.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface8.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface8.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - Text Edge -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', 'edge'); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', 'edge') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remedgenewface9.testcase Index: test/sql_stmt_rttopo_tests/remedgenewface9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remedgenewface9.testcase +++ test/sql_stmt_rttopo_tests/remedgenewface9.testcase @@ -1,7 +0,0 @@ -RemEdgeNewFace - NULL Edge -:memory: #use in-memory database -SELECT ST_RemEdgeNewFace('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemEdgeNewFace('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remisoedge1.testcase Index: test/sql_stmt_rttopo_tests/remisoedge1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge1.testcase +++ test/sql_stmt_rttopo_tests/remisoedge1.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - NULL Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remisoedge2.testcase Index: test/sql_stmt_rttopo_tests/remisoedge2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge2.testcase +++ test/sql_stmt_rttopo_tests/remisoedge2.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Int Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisoedge3.testcase Index: test/sql_stmt_rttopo_tests/remisoedge3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge3.testcase +++ test/sql_stmt_rttopo_tests/remisoedge3.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Double Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisoedge4.testcase Index: test/sql_stmt_rttopo_tests/remisoedge4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge4.testcase +++ test/sql_stmt_rttopo_tests/remisoedge4.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Blob Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisoedge5.testcase Index: test/sql_stmt_rttopo_tests/remisoedge5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge5.testcase +++ test/sql_stmt_rttopo_tests/remisoedge5.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Text Topology -:memory: #use in-memory database -SELECT ST_RemIsoEdge('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/remisoedge6.testcase Index: test/sql_stmt_rttopo_tests/remisoedge6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge6.testcase +++ test/sql_stmt_rttopo_tests/remisoedge6.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Double Edge -:memory: #use in-memory database -SELECT ST_RemIsoEdge('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisoedge7.testcase Index: test/sql_stmt_rttopo_tests/remisoedge7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge7.testcase +++ test/sql_stmt_rttopo_tests/remisoedge7.testcase @@ -1,7 +0,0 @@ -RemIsoNode - BLOB RemIsoEdge -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisoedge8.testcase Index: test/sql_stmt_rttopo_tests/remisoedge8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge8.testcase +++ test/sql_stmt_rttopo_tests/remisoedge8.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - Text Edge -:memory: #use in-memory database -SELECT ST_RemIsoEdge('topology', 'node'); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge('topology', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisoedge9.testcase Index: test/sql_stmt_rttopo_tests/remisoedge9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisoedge9.testcase +++ test/sql_stmt_rttopo_tests/remisoedge9.testcase @@ -1,7 +0,0 @@ -RemIsoEdge - NULL Edge -:memory: #use in-memory database -SELECT ST_RemIsoEdge('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemIsoEdge('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remisonetnode1.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode1.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode1.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - NULL Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remisonetnode2.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode2.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode2.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Int Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonetnode3.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode3.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode3.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Double Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonetnode4.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode4.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode4.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Blob Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonetnode5.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode5.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode5.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Text Network -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', -1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/remisonetnode6.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode6.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode6.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Double Node -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonetnode7.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode7.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode7.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - BLOB Node -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonetnode8.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode8.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode8.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - Text Node -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', 'node'); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonetnode9.testcase Index: test/sql_stmt_rttopo_tests/remisonetnode9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonetnode9.testcase +++ test/sql_stmt_rttopo_tests/remisonetnode9.testcase @@ -1,7 +0,0 @@ -RemIsoNetNode - NULL Node -:memory: #use in-memory database -SELECT ST_RemIsoNetNode('net', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNetNode('net', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remisonode1.testcase Index: test/sql_stmt_rttopo_tests/remisonode1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode1.testcase +++ test/sql_stmt_rttopo_tests/remisonode1.testcase @@ -1,7 +0,0 @@ -RemIsoNode - NULL Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remisonode2.testcase Index: test/sql_stmt_rttopo_tests/remisonode2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode2.testcase +++ test/sql_stmt_rttopo_tests/remisonode2.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Int Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonode3.testcase Index: test/sql_stmt_rttopo_tests/remisonode3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode3.testcase +++ test/sql_stmt_rttopo_tests/remisonode3.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Double Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonode4.testcase Index: test/sql_stmt_rttopo_tests/remisonode4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode4.testcase +++ test/sql_stmt_rttopo_tests/remisonode4.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Blob Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonode5.testcase Index: test/sql_stmt_rttopo_tests/remisonode5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode5.testcase +++ test/sql_stmt_rttopo_tests/remisonode5.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Text Topology -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', -1); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', -1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/remisonode6.testcase Index: test/sql_stmt_rttopo_tests/remisonode6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode6.testcase +++ test/sql_stmt_rttopo_tests/remisonode6.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Double Node -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonode7.testcase Index: test/sql_stmt_rttopo_tests/remisonode7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode7.testcase +++ test/sql_stmt_rttopo_tests/remisonode7.testcase @@ -1,7 +0,0 @@ -RemIsoNode - BLOB Node -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonode8.testcase Index: test/sql_stmt_rttopo_tests/remisonode8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode8.testcase +++ test/sql_stmt_rttopo_tests/remisonode8.testcase @@ -1,7 +0,0 @@ -RemIsoNode - Text Node -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', 'node'); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', 'node') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remisonode9.testcase Index: test/sql_stmt_rttopo_tests/remisonode9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remisonode9.testcase +++ test/sql_stmt_rttopo_tests/remisonode9.testcase @@ -1,7 +0,0 @@ -RemIsoNode - NULL Node -:memory: #use in-memory database -SELECT ST_RemIsoNode('topology', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemIsoNode('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remlink1.testcase Index: test/sql_stmt_rttopo_tests/remlink1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink1.testcase +++ test/sql_stmt_rttopo_tests/remlink1.testcase @@ -1,7 +0,0 @@ -RemoveLink - NULL Network -:memory: #use in-memory database -SELECT ST_RemoveLink(NULL, -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink(NULL, -1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/remlink2.testcase Index: test/sql_stmt_rttopo_tests/remlink2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink2.testcase +++ test/sql_stmt_rttopo_tests/remlink2.testcase @@ -1,7 +0,0 @@ -RemoveLink - Int Network -:memory: #use in-memory database -SELECT ST_RemoveLink(1, -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink(1, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remlink3.testcase Index: test/sql_stmt_rttopo_tests/remlink3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink3.testcase +++ test/sql_stmt_rttopo_tests/remlink3.testcase @@ -1,7 +0,0 @@ -RemoveLink - Double Network -:memory: #use in-memory database -SELECT ST_RemoveLink(1.5, -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink(1.5, -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remlink4.testcase Index: test/sql_stmt_rttopo_tests/remlink4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink4.testcase +++ test/sql_stmt_rttopo_tests/remlink4.testcase @@ -1,7 +0,0 @@ -RemoveLink - Blob Network -:memory: #use in-memory database -SELECT ST_RemoveLink(zeroblob(4), -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink(zeroblob(4), -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remlink5.testcase Index: test/sql_stmt_rttopo_tests/remlink5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink5.testcase +++ test/sql_stmt_rttopo_tests/remlink5.testcase @@ -1,7 +0,0 @@ -RemoveLink - Text Network -:memory: #use in-memory database -SELECT ST_RemoveLink('net', -1); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', -1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/remlink6.testcase Index: test/sql_stmt_rttopo_tests/remlink6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink6.testcase +++ test/sql_stmt_rttopo_tests/remlink6.testcase @@ -1,7 +0,0 @@ -RemoveLink - Double Link -:memory: #use in-memory database -SELECT ST_RemoveLink('net', 2.0); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', 2.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remlink7.testcase Index: test/sql_stmt_rttopo_tests/remlink7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink7.testcase +++ test/sql_stmt_rttopo_tests/remlink7.testcase @@ -1,7 +0,0 @@ -RemoveLink - BLOB Link -:memory: #use in-memory database -SELECT ST_RemoveLink('net', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remlink8.testcase Index: test/sql_stmt_rttopo_tests/remlink8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink8.testcase +++ test/sql_stmt_rttopo_tests/remlink8.testcase @@ -1,7 +0,0 @@ -RemoveLink - Text Link -:memory: #use in-memory database -SELECT ST_RemoveLink('net', 'node'); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', 'link') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/remlink9.testcase Index: test/sql_stmt_rttopo_tests/remlink9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/remlink9.testcase +++ test/sql_stmt_rttopo_tests/remlink9.testcase @@ -1,7 +0,0 @@ -RemoveLink - NULL Link -:memory: #use in-memory database -SELECT ST_RemoveLink('net', NULL); -1 # rows (not including the header row) -1 # columns -ST_RemoveLink('net', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/removetopolayer1.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer1.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer1.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer(NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer(NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/removetopolayer2.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer2.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer2.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer(1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer(1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/removetopolayer3.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer3.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer3.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer(1.5, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer(1.5, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/removetopolayer4.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer4.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer4.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer(zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer(zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/removetopolayer5.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer5.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer5.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/removetopolayer6.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer6.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer6.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - TEXT TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/removetopolayer7.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer7.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer7.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - INT TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/removetopolayer8.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer8.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer8.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - Double TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/removetopolayer9.testcase Index: test/sql_stmt_rttopo_tests/removetopolayer9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/removetopolayer9.testcase +++ test/sql_stmt_rttopo_tests/removetopolayer9.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveTopoLayer - BLOB TopoLayer -:memory: #use in-memory database -SELECT TopoGeo_RemoveTopoLayer('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveTopoLayer('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable1.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable1.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable1.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable(NULL, 'db', 'input', 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable(NULL, 'db', 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable10.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable10.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable10.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Int input table -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 1, 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 1, 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable11.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable11.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable11.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Double input table -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 1.5, 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 1.5, 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable12.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable12.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable12.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - BLOB input table -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', zeroblob(10), 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', zeroblob(10), 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable13.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable13.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable13.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - NULL geometry column -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input', NULL, 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', NULL, 'output', 1, 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/snappedgeotable14.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable14.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable14.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Double geometry column -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input', 1.5, 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 1.5, 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable15.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable15.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable15.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - BLOB geometry column -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input', zeroblob(10), 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', zeroblob(10), 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable16.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable16.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable16.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - NULL output table -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', NULL, 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', NULL, 1, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable17.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable17.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable17.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Int output table -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 1, 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 1, 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable18.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable18.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable18.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Double output table -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 1.5, 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 1.5, 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable19.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable19.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable19.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - BLOB output table -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', zeroblob(10), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', zeroblob(10), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable2.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable2.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable2.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable(1, 'db', 'input', 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable(1, 'db', 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable20.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable20.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable20.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - NULL tolerance -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable21.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable21.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable21.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - text tolerance -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 1, 'tolerance'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 1, 'tolerance') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable22.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable22.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable22.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - BLOB tolerance -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 1, zeroblob(10)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 1, zeroblob(10)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable23.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable23.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable23.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Double tolerance -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 1, 0.001); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 1, 0.001) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/snappedgeotable24.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable24.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable24.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - NULL iterate -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable25.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable25.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable25.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - text iterate -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 'iterate', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 'iterate', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable26.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable26.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable26.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - BLOB iterate -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', zeroblob(5), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', zeroblob(5), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable27.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable27.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable27.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable27.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - NULL remove-vertices -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable28.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable28.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable28.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable28.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Text remove-vertices -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 'remove'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 'remove') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable29.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable29.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable29.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable29.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - BLOB remove-vertices -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, zeroblob(10)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, zeroblob(10)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable3.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable3.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable3.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable(1.5, 'db', 'input', 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable(1.5, 'db', 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable30.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable30.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable30.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable30.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Double remove-vertices -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable31.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable31.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable31.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable31.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Int remove-vertices -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/snappedgeotable32.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable32.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable32.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable32.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Int NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 1, -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/snappedgeotable33.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable33.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable33.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable33.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Double NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', 'input','geom', 'output', 1, 1, -0.001); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', 'input', 'geom', 'output', 1, 1, -0.001) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/snappedgeotable4.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable4.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable4.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable(zeroblob(10), 'db', 'input', 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable(zeroblob(10), 'db', 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable5.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable5.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable5.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - NULL DB-prefix -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', NULL, 'input', 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', NULL, 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/snappedgeotable6.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable6.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable6.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Int DB-prefix -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 1, 'input', 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 1, 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable7.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable7.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable7.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - Double DB-prefix -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 1.5, 'input', 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 1.5, 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable8.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable8.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable8.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - BLOB DB-prefix -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', zeroblob(10), 'input', 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', zeroblob(10), 'input', 'geom', 'output', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/snappedgeotable9.testcase Index: test/sql_stmt_rttopo_tests/snappedgeotable9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/snappedgeotable9.testcase +++ test/sql_stmt_rttopo_tests/snappedgeotable9.testcase @@ -1,7 +0,0 @@ -TopoGeo_SnappedGeoTable - NULL input table -:memory: #use in-memory database -SELECT TopoGeo_SnappedGeoTable('topo', 'db', NULL, 'geom', 'output', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SnappedGeoTable('topo', 'db', NULL, 'geom', 'output', 1, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom1.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom1.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom1.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - NULL Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom10.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom10.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom10.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - non existing Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom2.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom2.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom2.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Int Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom3.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom3.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom3.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Double Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom4.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom4.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom4.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - BLOB Network -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom(zeroblob(4), MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom5.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom5.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom5.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - NULL GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', NULL); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom6.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom6.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom6.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Int GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', 1); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom7.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom7.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom7.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Double GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', 1.4); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', 1.4) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom8.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom8.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom8.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Text GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', 'geom'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromgeom9.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromgeom9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromgeom9.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromgeom9.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromGeom - Invalid BLOB GeomCollection -:memory: #use in-memory database -SELECT ST_SpatNetFromGeom('network', zeroblob(100)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromGeom('network', zeroblob(100)) -SQL/MM Spatial exception - not a Geometry. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo1.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo1.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo1.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - NULL Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo(NULL, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo(NULL, 'topology') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo2.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo2.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo2.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Int Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo(1, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo(1, 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo3.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo3.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo3.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Double Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo(1.5, 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo(1.5, 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo4.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo4.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo4.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Blob Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo(zeroblob(4), 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo(zeroblob(4), 'topology') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo5.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo5.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo5.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Text Network -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', 'topology'); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', 'topology') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo6.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo6.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo6.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - NULL Topology -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', NULL); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo7.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo7.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo7.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - INT Topology -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', 1); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo8.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo8.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo8.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - Double Topology -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', 1.2); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/spatnetfromtgeo9.testcase Index: test/sql_stmt_rttopo_tests/spatnetfromtgeo9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/spatnetfromtgeo9.testcase +++ test/sql_stmt_rttopo_tests/spatnetfromtgeo9.testcase @@ -1,7 +0,0 @@ -ST_SpatNetFromTGeo - BLOB Topology -:memory: #use in-memory database -SELECT ST_SpatNetFromTGeo('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_SpatNetFromTGeo('network', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topoexception1.testcase Index: test/sql_stmt_rttopo_tests/topoexception1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topoexception1.testcase +++ test/sql_stmt_rttopo_tests/topoexception1.testcase @@ -1,7 +0,0 @@ -GetLastTopologyException - NULL Topology -:memory: #use in-memory database -SELECT GetLastTopologyException(NULL); -1 # rows (not including the header row) -1 # columns -GetLastTopologyException(NULL) -(NULL) DELETED test/sql_stmt_rttopo_tests/topoexception2.testcase Index: test/sql_stmt_rttopo_tests/topoexception2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topoexception2.testcase +++ test/sql_stmt_rttopo_tests/topoexception2.testcase @@ -1,7 +0,0 @@ -GetLastTopologyException - Undefined Topology -:memory: #use in-memory database -SELECT GetLastTopologyException('topo'); -1 # rows (not including the header row) -1 # columns -GetLastTopologyException('topo') -(NULL) DELETED test/sql_stmt_rttopo_tests/topogeoaddline1.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline1.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline1.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString(NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString(NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline10.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline10.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline10.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Double Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline11.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline11.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline11.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - NULL Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline12.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline12.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline12.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Text Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', 'geom'); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline13.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline13.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline13.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline14.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline14.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline14.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Point Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', MakePoint(0, 1, 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', MakePoint(0, 1, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline15.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline15.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline15.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Polygon Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline16.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline16.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline16.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - MULTILINESTRING Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('MULTILINESTRING((0 0, 1 1), (2 2, 3 3))', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('MULTILINESTRING((0 0, 1 1), (2 2, 3 3))', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddline17.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline17.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline17.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - NULL Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline18.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline18.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline18.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Int NEGATIVE Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', MakePoint(1, 2, 4326), -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', MakePoint(1, 2, 4326), -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeoaddline19.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline19.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline19.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Double NEGATIVE Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', MakePoint(1, 2, 4326), -0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', MakePoint(1, 2, 4326), -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeoaddline2.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline2.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline2.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString(1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString(1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline3.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline3.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline3.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString(1.5, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString(1.5, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline4.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline4.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline4.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString(zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString(zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline5.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline5.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline5.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddline6.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline6.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline6.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Double Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddline7.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline7.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline7.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - BLOB Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline8.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline8.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline8.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Text Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddline9.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddline9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddline9.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddline9.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineString - Int Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineString('topology', -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineString('topology', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf1.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf1.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf1.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace(NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace(NULL, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf10.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf10.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf10.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Double Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf11.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf11.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf11.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - NULL Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf12.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf12.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf12.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Text Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', 'geom'); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf13.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf13.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf13.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf14.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf14.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf14.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Point Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', MakePoint(0, 1, 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', MakePoint(0, 1, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf15.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf15.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf15.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Polygon Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf16.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf16.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf16.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - MULTILINESTRING Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', GeomFromText('MULTILINESTRING((0 0, 1 1), (2 2, 3 3))', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', GeomFromText('MULTILINESTRING((0 0, 1 1), (2 2, 3 3))', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf17.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf17.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf17.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - NULL Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf18.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf18.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf18.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Int NEGATIVE Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', MakePoint(1, 2, 4326), -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', MakePoint(1, 2, 4326), -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf19.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf19.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf19.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Double NEGATIVE Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', MakePoint(1, 2, 4326), -0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', MakePoint(1, 2, 4326), -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf2.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf2.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf2.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace(1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace(1, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf3.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf3.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf3.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace(1.5, GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace(1.5, GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf4.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf4.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf4.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace(zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace(zeroblob(4), GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf5.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf5.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf5.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf6.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf6.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf6.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Double Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf7.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf7.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf7.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - BLOB Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf8.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf8.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf8.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Text Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddlinenf9.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddlinenf9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddlinenf9.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddlinenf9.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddLineStringNoFace - Int Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddLineStringNoFace('topology', -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddLineStringNoFace('topology', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint1.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint1.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint1.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint(NULL, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint(NULL, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint10.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint10.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint10.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Double Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint11.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint11.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint11.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - NULL Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint12.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint12.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint12.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Text Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', 'geom'); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', 'geom') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint13.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint13.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint13.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint14.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint14.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint14.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Linestring Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', GeomFromText('LINESTRING(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint15.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint15.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint15.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Polygon Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))', 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint16.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint16.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint16.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - MULTIPOINT Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', GeomFromText('MULTIPOINT(0 0, 1 1)', 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint17.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint17.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint17.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - NULL Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint18.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint18.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint18.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Int NEGATIVE Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint19.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint19.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint19.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Double NEGATIVE Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), -0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint2.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint2.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint2.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint(1, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint(1, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint3.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint3.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint3.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint(1.5, MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint(1.5, MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint4.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint4.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint4.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint(zeroblob(4), MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint(zeroblob(4),MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint5.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint5.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint5.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326)) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint6.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint6.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint6.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Double Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 0.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 0.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint7.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint7.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint7.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - BLOB Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint8.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint8.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint8.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Text Tolerance -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 'tol'); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', MakePoint(1, 2, 4326), 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoaddpoint9.testcase Index: test/sql_stmt_rttopo_tests/topogeoaddpoint9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoaddpoint9.testcase +++ test/sql_stmt_rttopo_tests/topogeoaddpoint9.testcase @@ -1,7 +0,0 @@ -TopoGeo_AddPoint - Int Geometry -:memory: #use in-memory database -SELECT TopoGeo_AddPoint('topology', -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_AddPoint('topology', -1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone1.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone1.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone1.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - NULL Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone('a', NULL, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone('a', NULL, 'destination') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone10.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone10.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone10.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Double db-prefix -:memory: #use in-memory database -SELECT TopoGeo_Clone(1.5, 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone11.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone11.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone11.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - BLOB db-prefix -:memory: #use in-memory database -SELECT TopoGeo_Clone(zeroblob(4), 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(zeroblob(4), 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone12.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone12.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone12.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Integer db-prefix -:memory: #use in-memory database -SELECT TopoGeo_Clone(1, 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(1, 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone2.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone2.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone2.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Int Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone('a', 1, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone('a', 1, 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone3.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone3.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone3.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Double Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 1.5, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 1.5, 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone4.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone4.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone4.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Blob Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, zeroblob(4), 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, zeroblob(4), 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone5.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone5.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone5.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Text Topology (origin) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'topology', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'topology', 'destination') -SQL/MM Spatial exception - invalid topology name (origin). DELETED test/sql_stmt_rttopo_tests/topogeoclone6.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone6.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone6.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - NULL Topology (destination) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'origin', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone7.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone7.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone7.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - INT Topology (destination) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'origin', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone8.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone8.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone8.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - Double Topology (destination) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'origin', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoclone9.testcase Index: test/sql_stmt_rttopo_tests/topogeoclone9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoclone9.testcase +++ test/sql_stmt_rttopo_tests/topogeoclone9.testcase @@ -1,7 +0,0 @@ -TopoGeo_Clone - BLOB Topology (destination) -:memory: #use in-memory database -SELECT TopoGeo_Clone(NULL, 'origin', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_Clone(NULL, 'origin', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext1.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext1.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext1.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt(NULL, NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt(NULL, NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext10.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext10.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext10.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, NULL, NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, NULL, NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext11.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext11.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext11.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - INT table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 1, NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 1, NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext12.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext12.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext12.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 1.2, NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 1.2, NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext13.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext13.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext13.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, zeroblob(4), NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, zeroblob(4), NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext14.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext14.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext14.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', 'column', 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', 'column', 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromext15.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext15.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext15.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Int Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', 1, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', 1, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext16.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext16.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext16.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', 1.2, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', 1.2, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext17.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext17.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext17.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', zeroblob(4), 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', zeroblob(4), 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext18.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext18.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext18.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext19.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext19.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext19.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, 'zero'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, 'zero') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext2.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext2.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext2.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt(1, NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt(1, NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext20.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext20.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext20.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext21.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext21.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext21.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, 0.001); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, 0.001) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromext22.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext22.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext22.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromext23.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext23.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext23.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext24.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext24.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext24.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext25.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext25.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext25.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext26.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext26.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext26.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Integer line-max-points / Integer max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 512, 1000); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 512, 1000) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromext27.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext27.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext27.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext27.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromext28.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext28.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext28.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext28.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext29.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext29.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext29.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext29.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext3.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext3.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext3.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt(1.5, NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt(1.5, NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext30.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext30.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext30.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext30.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, 5000.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, 5000.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromext31.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext31.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext31.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext31.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, NULL, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, NULL, 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext32.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext32.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext32.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext32.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - INT dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 1, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 1, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext33.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext33.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext33.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext33.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - DOUBLE dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 1.2, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 1.2, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext34.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext34.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext34.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext34.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - DOUBLE dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 1.2, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 1.2, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext35.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext35.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext35.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext35.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, zeroblob(5), 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, zeroblob(5), 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext36.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext36.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext36.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext36.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NULL dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext37.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext37.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext37.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext37.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - INT dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext38.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext38.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext38.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext38.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - DOUBLE dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext39.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext39.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext39.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext39.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext4.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext4.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext4.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt(zeroblob(4), NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt(zeroblob(4), NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext40.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext40.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext40.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext40.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Int NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeofromext41.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext41.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext41.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext41.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, -0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeofromext42.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext42.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext42.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext42.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NEGATIVE line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', -1) -SQL/MM Spatial exception - max_points should be >= 2. DELETED test/sql_stmt_rttopo_tests/topogeofromext43.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext43.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext43.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext43.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - NEGATIVE line-max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, -1) -SQL/MM Spatial exception - max_length should be > 0.0. DELETED test/sql_stmt_rttopo_tests/topogeofromext5.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext5.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext5.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromext6.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext6.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext6.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', 'a', 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', 'a', 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromext7.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext7.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext7.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', 1, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', 1, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext8.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext8.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext8.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', 1.2, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', 1.2, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromext9.testcase Index: test/sql_stmt_rttopo_tests/topogeofromext9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromext9.testcase +++ test/sql_stmt_rttopo_tests/topogeofromext9.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableExt - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableExt('topology', zeroblob(4), 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableExt('topology', zeroblob(4), 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf1.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf1.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf1.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt(NULL, NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt(NULL, NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf10.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf10.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf10.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NULL table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, NULL, NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, NULL, NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf11.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf11.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf11.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - INT table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 1, NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 1, NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf12.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf12.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf12.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Double table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 1.2, NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 1.2, NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf13.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf13.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf13.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - BLOB table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, zeroblob(4), NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, zeroblob(4), NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf14.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf14.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf14.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Text Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', 'column', 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', 'column', 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf15.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf15.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf15.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Int Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', 1,'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', 1, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf16.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf16.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf16.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Double Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', 1.2, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', 1.2, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf17.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf17.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf17.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', zeroblob(4), 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', zeroblob(4), 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf18.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf18.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf18.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NULL tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf19.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf19.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf19.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, 'zero'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, 'zero') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf2.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf2.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf2.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt(1, NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt(1, NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf20.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf20.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf20.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - BLOB tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf21.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf21.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf21.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Double tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, 0.001); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, 0.001) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf22.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf22.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf22.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NULL line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf23.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf23.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf23.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Double line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf24.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf24.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf24.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Text line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf25.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf25.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf25.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - BLOB line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf26.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf26.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf26.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Integer line-max-points / Integer max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 512, 1000); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', 512, 1000) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf27.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf27.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf27.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf27.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NULL max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf28.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf28.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf28.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf28.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - BLOB max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf29.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf29.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf29.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf29.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Text max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf3.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf3.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf3.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt(1.5, NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt(1.5, NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf30.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf30.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf30.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf30.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Double max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, 5000.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, 5000.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf31.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf31.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf31.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf31.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NULL dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, NULL, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, NULL, 'dustbinview') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf32.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf32.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf32.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf32.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - INT dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 1, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 1, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf33.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf33.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf33.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf33.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - DOUBLE dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 1.2, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 1.2, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf34.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf34.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf34.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf34.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - DOUBLE dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 1.2, 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 1.2, 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf35.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf35.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf35.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf35.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - BLOB dustbin-table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, zeroblob(5), 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbinview', zeroblob(5)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf36.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf36.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf36.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf36.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NULL dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf37.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf37.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf37.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf37.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - INT dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf38.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf38.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf38.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf38.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - DOUBLE dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf39.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf39.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf39.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf39.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - BLOB dustbin-view -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf4.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf4.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf4.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt(zeroblob(4), NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt(zeroblob(4), NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf40.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf40.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf40.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf40.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Int NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf41.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf41.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf41.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf41.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Double NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, -0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, NULL, -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf42.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf42.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf42.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf42.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NEGATIVE line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', -1) -SQL/MM Spatial exception - max_points should be >= 2. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf43.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf43.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf43.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf43.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - NEGATIVE line-max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview', NULL, -1) -SQL/MM Spatial exception - max_length should be > 0.0. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf5.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf5.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf5.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', NULL, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf6.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf6.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf6.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', 'a', 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', 'a', 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf7.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf7.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf7.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', 1, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', 1, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf8.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf8.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf8.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', 1.2, 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', 1.2, 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromextnf9.testcase Index: test/sql_stmt_rttopo_tests/topogeofromextnf9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromextnf9.testcase +++ test/sql_stmt_rttopo_tests/topogeofromextnf9.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFaceExt - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFaceExt('topology', zeroblob(4), 'table', NULL, 'dustbin', 'dustbinview'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFaceExt('topology', zeroblob(4), 'table', NULL, 'dustbin', 'dustbinview') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable1.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable1.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable1.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable(NULL, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable(NULL, NULL, 'table', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable10.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable10.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable10.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable11.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable11.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable11.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - INT table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 1, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable12.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable12.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable12.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 1.2, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 1.2, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable13.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable13.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable13.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, zeroblob(4), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, zeroblob(4), NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable14.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable14.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable14.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', 'column'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', 'column') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtable15.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable15.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable15.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Int Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable16.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable16.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable16.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable17.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable17.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable17.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable18.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable18.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable18.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable19.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable19.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable19.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, 'zero'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, 'zero') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable2.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable2.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable2.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable(1, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable(1, NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable20.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable20.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable20.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable21.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable21.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable21.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, 0.001); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, 0.001) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtable22.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable22.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable22.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtable23.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable23.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable23.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable24.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable24.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable24.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable25.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable25.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable25.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable26.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable26.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable26.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Integer line-max-points / Integer max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 512, 1000); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, 512, 1000) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtable27.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable27.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable27.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable27.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NULL max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtable28.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable28.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable28.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable28.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable29.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable29.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable29.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable29.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable3.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable3.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable3.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable(1.5, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable(1.5, NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable30.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable30.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable30.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable30.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, 5000.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, 5000.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtable31.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable31.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable31.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable31.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Int NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeofromtable32.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable32.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable32.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable32.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, -0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, NULL, -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeofromtable33.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable33.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable33.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable33.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NEGATIVE max point -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, -1) -SQL/MM Spatial exception - max_points should be >= 2. DELETED test/sql_stmt_rttopo_tests/topogeofromtable34.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable34.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable34.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable34.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - NEGATIVE max length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL, NULL, -1) -SQL/MM Spatial exception - max_length should be > 0.0. DELETED test/sql_stmt_rttopo_tests/topogeofromtable4.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable4.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable4.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable(zeroblob(4), NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable(zeroblob(4), NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable5.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable5.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable5.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', NULL, 'table', NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtable6.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable6.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable6.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', 'a', 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', 'a', 'table', NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtable7.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable7.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable7.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', 1, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', 1, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable8.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable8.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable8.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', 1.2, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', 1.2, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtable9.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtable9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtable9.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtable9.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTable - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTable('topology', zeroblob(4), 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTable('topology', zeroblob(4), 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf1.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf1.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf1.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace(NULL, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace(NULL, NULL, 'table', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf10.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf10.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf10.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - NULL table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf11.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf11.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf11.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - INT table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 1, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf12.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf12.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf12.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Double table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 1.2, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 1.2, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf13.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf13.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf13.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - BLOB table -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, zeroblob(4), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, zeroblob(4), NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf14.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf14.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf14.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Text Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', 'column'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', 'column') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf15.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf15.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf15.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Int Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf16.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf16.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf16.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Double Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf17.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf17.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf17.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf18.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf18.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf18.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - NULL tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf19.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf19.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf19.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, 'zero'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, 'zero') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf2.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf2.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf2.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace(1, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace(1, NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf20.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf20.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf20.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - BLOB tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf21.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf21.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf21.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Double tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, 0.001); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, 0.001) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf22.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf22.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf22.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - NULL line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf23.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf23.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf23.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Double line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf24.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf24.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf24.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Text line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf25.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf25.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf25.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - BLOB line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf26.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf26.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf26.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Integer line-max-points / Integer max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, 512, 1000); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, 512, 1000) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf27.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf27.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf27.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf27.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - NULL max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf28.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf28.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf28.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf28.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - BLOB max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf29.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf29.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf29.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf29.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Text max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf3.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf3.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf3.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace(1.5, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace(1.5, NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf30.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf30.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf30.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf30.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Double max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, 5000.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, 5000.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf31.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf31.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf31.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf31.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Int NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf32.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf32.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf32.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf32.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Double NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, -0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, NULL, -0.1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf33.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf33.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf33.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf33.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - NEGATIVE line-max-points -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, -1) -SQL/MM Spatial exception - max_points should be >= 2. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf34.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf34.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf34.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf34.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - NEGATIVE line-max-length -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL, NULL, -1) -SQL/MM Spatial exception - max_length should be > 0.0. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf4.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf4.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf4.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace(zeroblob(4), NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace(zeroblob(4), NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf5.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf5.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf5.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', NULL, 'table', NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf6.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf6.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf6.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', 'a', 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', 'a', 'table', NULL) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf7.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf7.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf7.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', 1, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', 1, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf8.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf8.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf8.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', 1.2, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', 1.2, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeofromtablenf9.testcase Index: test/sql_stmt_rttopo_tests/topogeofromtablenf9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeofromtablenf9.testcase +++ test/sql_stmt_rttopo_tests/topogeofromtablenf9.testcase @@ -1,7 +0,0 @@ -TopoGeo_FromGeoTableNoFace - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_FromGeoTableNoFace('topology', zeroblob(4), 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_FromGeoTableNoFace('topology', zeroblob(4), 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeomodedgeheal1.testcase Index: test/sql_stmt_rttopo_tests/topogeomodedgeheal1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeomodedgeheal1.testcase +++ test/sql_stmt_rttopo_tests/topogeomodedgeheal1.testcase @@ -1,7 +0,0 @@ -TopoGeo_ModEdgeHeal - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_ModEdgeHeal(NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ModEdgeHeal(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeomodedgeheal2.testcase Index: test/sql_stmt_rttopo_tests/topogeomodedgeheal2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeomodedgeheal2.testcase +++ test/sql_stmt_rttopo_tests/topogeomodedgeheal2.testcase @@ -1,7 +0,0 @@ -TopoGeo_ModEdgeHeal - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_ModEdgeHeal(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ModEdgeHeal(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeomodedgeheal3.testcase Index: test/sql_stmt_rttopo_tests/topogeomodedgeheal3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeomodedgeheal3.testcase +++ test/sql_stmt_rttopo_tests/topogeomodedgeheal3.testcase @@ -1,7 +0,0 @@ -TopoGeo_ModEdgeHeal - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_ModEdgeHeal(1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_ModEdgeHeal(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeomodedgeheal4.testcase Index: test/sql_stmt_rttopo_tests/topogeomodedgeheal4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeomodedgeheal4.testcase +++ test/sql_stmt_rttopo_tests/topogeomodedgeheal4.testcase @@ -1,7 +0,0 @@ -TopoGeo_ModEdgeHeal - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_ModEdgeHeal(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ModEdgeHeal(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeomodedgeheal5.testcase Index: test/sql_stmt_rttopo_tests/topogeomodedgeheal5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeomodedgeheal5.testcase +++ test/sql_stmt_rttopo_tests/topogeomodedgeheal5.testcase @@ -1,7 +0,0 @@ -TopoGeo_ModEdgeHeal - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_ModEdgeHeal('topology'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ModEdgeHeal('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeonewedgeheal1.testcase Index: test/sql_stmt_rttopo_tests/topogeonewedgeheal1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeonewedgeheal1.testcase +++ test/sql_stmt_rttopo_tests/topogeonewedgeheal1.testcase @@ -1,7 +0,0 @@ -TopoGeo_NewEdgeHeal - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_NewEdgeHeal(NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_NewEdgeHeal(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeonewedgeheal2.testcase Index: test/sql_stmt_rttopo_tests/topogeonewedgeheal2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeonewedgeheal2.testcase +++ test/sql_stmt_rttopo_tests/topogeonewedgeheal2.testcase @@ -1,7 +0,0 @@ -TopoGeo_NewEdgeHeal - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_NewEdgeHeal(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_NewEdgeHeal(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeonewedgeheal3.testcase Index: test/sql_stmt_rttopo_tests/topogeonewedgeheal3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeonewedgeheal3.testcase +++ test/sql_stmt_rttopo_tests/topogeonewedgeheal3.testcase @@ -1,7 +0,0 @@ -TopoGeo_NewEdgeHeal - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_NewEdgeHeal(1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_NewEdgeHeal(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeonewedgeheal4.testcase Index: test/sql_stmt_rttopo_tests/topogeonewedgeheal4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeonewedgeheal4.testcase +++ test/sql_stmt_rttopo_tests/topogeonewedgeheal4.testcase @@ -1,7 +0,0 @@ -TopoGeo_NewEdgeHeal - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_NewEdgeHeal(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_NewEdgeHeal(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeonewedgeheal5.testcase Index: test/sql_stmt_rttopo_tests/topogeonewedgeheal5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeonewedgeheal5.testcase +++ test/sql_stmt_rttopo_tests/topogeonewedgeheal5.testcase @@ -1,7 +0,0 @@ -TopoGeo_NewEdgeHeal - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_NewEdgeHeal('topology'); -1 # rows (not including the header row) -1 # columns -TopoGeo_NewEdgeHeal('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoremoveedges1.testcase Index: test/sql_stmt_rttopo_tests/topogeoremoveedges1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremoveedges1.testcase +++ test/sql_stmt_rttopo_tests/topogeoremoveedges1.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges (NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges (NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoremoveedges2.testcase Index: test/sql_stmt_rttopo_tests/topogeoremoveedges2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremoveedges2.testcase +++ test/sql_stmt_rttopo_tests/topogeoremoveedges2.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremoveedges3.testcase Index: test/sql_stmt_rttopo_tests/topogeoremoveedges3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremoveedges3.testcase +++ test/sql_stmt_rttopo_tests/topogeoremoveedges3.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges(1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremoveedges4.testcase Index: test/sql_stmt_rttopo_tests/topogeoremoveedges4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremoveedges4.testcase +++ test/sql_stmt_rttopo_tests/topogeoremoveedges4.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremoveedges5.testcase Index: test/sql_stmt_rttopo_tests/topogeoremoveedges5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremoveedges5.testcase +++ test/sql_stmt_rttopo_tests/topogeoremoveedges5.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingEdges - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingEdges('topology'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingEdges('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoremovenodes1.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovenodes1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovenodes1.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovenodes1.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes (NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes (NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovenodes2.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovenodes2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovenodes2.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovenodes2.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovenodes3.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovenodes3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovenodes3.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovenodes3.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes(1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovenodes4.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovenodes4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovenodes4.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovenodes4.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovenodes5.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovenodes5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovenodes5.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovenodes5.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveDanglingNodes - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveDanglingNodes('topology'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveDanglingNodes('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall1.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall1.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall1.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces (NULL, 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces (NULL, 0.1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall2.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall2.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall2.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces(1, 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces(1, NULL, 0.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall3.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall3.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall3.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces(1.5, 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces(1.5, 0.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall4.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall4.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall4.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces(zeroblob(4), 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces(zeroblob(4), 0.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall5.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall5.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall5.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', 0.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', 0.1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall6.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall6.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall6.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - TEXT min-area -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', 'a'); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', 'a') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall7.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall7.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall7.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - INT min-area -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall8.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall8.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall8.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - NULL min-area -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoremovesmall9.testcase Index: test/sql_stmt_rttopo_tests/topogeoremovesmall9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoremovesmall9.testcase +++ test/sql_stmt_rttopo_tests/topogeoremovesmall9.testcase @@ -1,7 +0,0 @@ -TopoGeo_RemoveSmallFaces - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_RemoveSmallFaces('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_RemoveSmallFaces('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline1.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline1.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline1.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Ok #1 -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 1, 2 3)', 4326), 512)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 1, 2 3)', 4326), 512)) -MULTILINESTRING((0 1, 2 3)) DELETED test/sql_stmt_rttopo_tests/topogeosplitline10.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline10.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline10.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Text max points -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'alpha'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 'alpha') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline11.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline11.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline11.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - BLOB max points -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline12.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline12.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline12.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - NULL max-length -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL, NULL)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL, NULL)) -MULTILINESTRING((0 0, 1 1)) DELETED test/sql_stmt_rttopo_tests/topogeosplitline13.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline13.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline13.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - TEXT max-length -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL, 'abc'); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL, 'abc') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline14.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline14.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline14.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - BLOB max-length -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline15.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline15.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline15.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Int max-length -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGM(1 2 3, 4 5 6)', 4326), NULL, 1000)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGM(1 2 3, 4 5 6)', 4326), NULL, 1000)) -MULTILINESTRING M((1 2 3, 4 5 6)) DELETED test/sql_stmt_rttopo_tests/topogeosplitline16.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline16.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline16.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Double max-length -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZM(1 2 3 4, 5 6 7 8)', 4326), NULL, 1000.0)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZM(1 2 3 4, 5 6 7 8)', 4326), NULL, 1000.0)) -MULTILINESTRING ZM((1 2 3 4, 5 6 7 8)) DELETED test/sql_stmt_rttopo_tests/topogeosplitline17.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline17.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline17.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Point Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(MakePoint(10, 20, 4326), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(MakePoint(10, 20, 4326), NULL) -SQL/MM Spatial exception - invalid Geometry. DELETED test/sql_stmt_rttopo_tests/topogeosplitline18.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline18.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline18.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - NEGATIVE max-length -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZM(1 2 3 4, 5 6 7 8)', 4326), NULL, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZM(1 2 3 4, 5 6 7 8)', 4326), NULL, -1) -SQL/MM Spatial exception - max_length should be > 0.0. DELETED test/sql_stmt_rttopo_tests/topogeosplitline19.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline19.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline19.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - NEGATIVE max-points -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZM(1 2 3 4, 5 6 7 8)', 4326), -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZM(1 2 3 4, 5 6 7 8)', 4326), -1) -SQL/MM Spatial exception - max_points should be >= 2. DELETED test/sql_stmt_rttopo_tests/topogeosplitline2.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline2.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline2.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Ok #2 -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZ(1 2 3, 4 5 6)', 4326), NULL, NULL)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRINGZ(1 2 3, 4 5 6)', 4326), NULL, NULL)) -MULTILINESTRING Z((1 2 3, 4 5 6)) DELETED test/sql_stmt_rttopo_tests/topogeosplitline3.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline3.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline3.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - NULL Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline4.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline4.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline4.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Integer Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(1, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline5.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline5.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline5.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Double Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(1.2, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(1.2, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline6.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline6.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline6.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Text Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines('alpha', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines('alpha', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeosplitline7.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline7.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline7.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - invalid BLOB Geometry -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(zeroblob(100), NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(zeroblob(100), NULL) -SQL/MM Spatial exception - invalid Geometry. DELETED test/sql_stmt_rttopo_tests/topogeosplitline8.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline8.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline8.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - NULL max points -:memory: #use in-memory database -SELECT AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL)); -1 # rows (not including the header row) -1 # columns -AsText(TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), NULL)) -MULTILINESTRING((0 0, 1 1)) DELETED test/sql_stmt_rttopo_tests/topogeosplitline9.testcase Index: test/sql_stmt_rttopo_tests/topogeosplitline9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeosplitline9.testcase +++ test/sql_stmt_rttopo_tests/topogeosplitline9.testcase @@ -1,7 +0,0 @@ -TopoGeo_SubdivideLines - Double max points -:memory: #use in-memory database -SELECT TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_SubdivideLines(GeomFromText('LINESTRING(0 0, 1 1)', 4326), 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable1.testcase Index: test/sql_stmt_rttopo_tests/topogeototable1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable1.testcase +++ test/sql_stmt_rttopo_tests/topogeototable1.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable(NULL, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable(NULL, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeototable10.testcase Index: test/sql_stmt_rttopo_tests/topogeototable10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable10.testcase +++ test/sql_stmt_rttopo_tests/topogeototable10.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - NULL ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, NULL, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, NULL, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable11.testcase Index: test/sql_stmt_rttopo_tests/topogeototable11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable11.testcase +++ test/sql_stmt_rttopo_tests/topogeototable11.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - INT ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 1, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 1, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable12.testcase Index: test/sql_stmt_rttopo_tests/topogeototable12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable12.testcase +++ test/sql_stmt_rttopo_tests/topogeototable12.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 1.2, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 1.2, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable13.testcase Index: test/sql_stmt_rttopo_tests/topogeototable13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable13.testcase +++ test/sql_stmt_rttopo_tests/topogeototable13.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, zeroblob(4), NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, zeroblob(4), NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable14.testcase Index: test/sql_stmt_rttopo_tests/topogeototable14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable14.testcase +++ test/sql_stmt_rttopo_tests/topogeototable14.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Text Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', 'column', 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', 'column', 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototable15.testcase Index: test/sql_stmt_rttopo_tests/topogeototable15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable15.testcase +++ test/sql_stmt_rttopo_tests/topogeototable15.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Int Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable16.testcase Index: test/sql_stmt_rttopo_tests/topogeototable16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable16.testcase +++ test/sql_stmt_rttopo_tests/topogeototable16.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', 1.2, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', 1.2, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable17.testcase Index: test/sql_stmt_rttopo_tests/topogeototable17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable17.testcase +++ test/sql_stmt_rttopo_tests/topogeototable17.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable18.testcase Index: test/sql_stmt_rttopo_tests/topogeototable18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable18.testcase +++ test/sql_stmt_rttopo_tests/topogeototable18.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - NULL out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeototable19.testcase Index: test/sql_stmt_rttopo_tests/topogeototable19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable19.testcase +++ test/sql_stmt_rttopo_tests/topogeototable19.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 1.2); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable2.testcase Index: test/sql_stmt_rttopo_tests/topogeototable2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable2.testcase +++ test/sql_stmt_rttopo_tests/topogeototable2.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable(1, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable(1, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable20.testcase Index: test/sql_stmt_rttopo_tests/topogeototable20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable20.testcase +++ test/sql_stmt_rttopo_tests/topogeototable20.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable21.testcase Index: test/sql_stmt_rttopo_tests/topogeototable21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable21.testcase +++ test/sql_stmt_rttopo_tests/topogeototable21.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Text out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototable22.testcase Index: test/sql_stmt_rttopo_tests/topogeototable22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable22.testcase +++ test/sql_stmt_rttopo_tests/topogeototable22.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Text with-spatial-index -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 'tol'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable23.testcase Index: test/sql_stmt_rttopo_tests/topogeototable23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable23.testcase +++ test/sql_stmt_rttopo_tests/topogeototable23.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable24.testcase Index: test/sql_stmt_rttopo_tests/topogeototable24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable24.testcase +++ test/sql_stmt_rttopo_tests/topogeototable24.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable25.testcase Index: test/sql_stmt_rttopo_tests/topogeototable25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable25.testcase +++ test/sql_stmt_rttopo_tests/topogeototable25.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - NULL with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeototable26.testcase Index: test/sql_stmt_rttopo_tests/topogeototable26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable26.testcase +++ test/sql_stmt_rttopo_tests/topogeototable26.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Integer with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototable3.testcase Index: test/sql_stmt_rttopo_tests/topogeototable3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable3.testcase +++ test/sql_stmt_rttopo_tests/topogeototable3.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable(1.5, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable(1.5, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable4.testcase Index: test/sql_stmt_rttopo_tests/topogeototable4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable4.testcase +++ test/sql_stmt_rttopo_tests/topogeototable4.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable(zeroblob(4), NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable(zeroblob(4), NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable5.testcase Index: test/sql_stmt_rttopo_tests/topogeototable5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable5.testcase +++ test/sql_stmt_rttopo_tests/topogeototable5.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototable6.testcase Index: test/sql_stmt_rttopo_tests/topogeototable6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable6.testcase +++ test/sql_stmt_rttopo_tests/topogeototable6.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', 'a', 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', 'a', 'table', NULL, 'out') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototable7.testcase Index: test/sql_stmt_rttopo_tests/topogeototable7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable7.testcase +++ test/sql_stmt_rttopo_tests/topogeototable7.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', 1, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', 1, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable8.testcase Index: test/sql_stmt_rttopo_tests/topogeototable8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable8.testcase +++ test/sql_stmt_rttopo_tests/topogeototable8.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', 1.2, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', 1.2, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototable9.testcase Index: test/sql_stmt_rttopo_tests/topogeototable9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototable9.testcase +++ test/sql_stmt_rttopo_tests/topogeototable9.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTable - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTable('topology', zeroblob(4), 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTable('topology', zeroblob(4), 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen1.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen1.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen1.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize(NULL, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize(NULL, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen10.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen10.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen10.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, NULL, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, NULL, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen11.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen11.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen11.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - INT ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 1, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 1, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen12.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen12.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen12.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 1.2, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 1.2, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen13.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen13.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen13.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB ref-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, zeroblob(4), NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, zeroblob(4), NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen14.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen14.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen14.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 'column', 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 'column', 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototablegen15.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen15.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen15.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Int Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 1, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 1, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen16.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen16.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen16.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 1.2, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', 1.2, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen17.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen17.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen17.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB Column -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', zeroblob(4), 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', zeroblob(4), 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen18.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen18.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen18.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, NULL, 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, NULL, 10.0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen19.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen19.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen19.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 1.2, 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 1.2, 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen2.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen2.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen2.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize(1, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize(1, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen20.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen20.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen20.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, zeroblob(4), 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, zeroblob(4), 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen21.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen21.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen21.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text out-table -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototablegen22.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen22.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen22.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 'no', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 'no', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen23.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen23.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen23.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB toleramce -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen24.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen24.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen24.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double toleramce -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototablegen25.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen25.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen25.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL toleramce -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen26.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen26.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen26.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Integer tolerance -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototablegen27.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen27.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen27.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen27.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 'no'); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen28.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen28.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen28.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen28.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen29.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen29.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen29.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen29.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 1.1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen3.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen3.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen3.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize(1.5, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize(1.5, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen30.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen30.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen30.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen30.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - NULL with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen31.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen31.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen31.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen31.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Integer with-spatial-inxed -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0, 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototablegen4.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen4.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen4.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize(zeroblob(4), NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize(zeroblob(4), NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen5.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen5.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen5.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototablegen6.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen6.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen6.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - TEXT prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', 'a', 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', 'a', 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeototablegen7.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen7.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen7.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - INT prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', 1, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', 1, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen8.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen8.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen8.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - Double prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', 1.2, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', 1.2, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeototablegen9.testcase Index: test/sql_stmt_rttopo_tests/topogeototablegen9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeototablegen9.testcase +++ test/sql_stmt_rttopo_tests/topogeototablegen9.testcase @@ -1,7 +0,0 @@ -TopoGeo_ToGeoTableGeneralize - BLOB prefix -:memory: #use in-memory database -SELECT TopoGeo_ToGeoTableGeneralize('topology', zeroblob(4), 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoGeo_ToGeoTableGeneralize('topology', zeroblob(4), 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds1.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds1.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds1.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds(NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds10.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds10.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds10.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Text mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', 'mode'); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', 'mode') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds2.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds2.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds2.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds(1); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds3.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds3.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds3.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds(1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds4.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds4.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds4.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Blob Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds5.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds5.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds5.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Text Topology -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology'); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds6.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds6.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds6.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - NULL mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds7.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds7.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds7.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Int mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds8.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds8.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds8.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Double mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topogeoupdateseeds9.testcase Index: test/sql_stmt_rttopo_tests/topogeoupdateseeds9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topogeoupdateseeds9.testcase +++ test/sql_stmt_rttopo_tests/topogeoupdateseeds9.testcase @@ -1,7 +0,0 @@ -TopoGeo_UpdateSeeds - Blob mode -:memory: #use in-memory database -SELECT TopoGeo_UpdateSeeds('topology', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_UpdateSeeds('topology', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/topomettotable25.testcase Index: test/sql_stmt_rttopo_tests/topomettotable25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/topomettotable25.testcase +++ test/sql_stmt_rttopo_tests/topomettotable25.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - NULL with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponetclone1.testcase Index: test/sql_stmt_rttopo_tests/toponetclone1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone1.testcase +++ test/sql_stmt_rttopo_tests/toponetclone1.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - NULL Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, NULL, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, NULL, 'destination') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponetclone10.testcase Index: test/sql_stmt_rttopo_tests/toponetclone10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone10.testcase +++ test/sql_stmt_rttopo_tests/toponetclone10.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Double db-prefix -:memory: #use in-memory database -SELECT TopoNet_Clone(1.5, 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(1.5, 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetclone11.testcase Index: test/sql_stmt_rttopo_tests/toponetclone11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone11.testcase +++ test/sql_stmt_rttopo_tests/toponetclone11.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Integer db-prefix -:memory: #use in-memory database -SELECT TopoNet_Clone(1, 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(1, 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetclone12.testcase Index: test/sql_stmt_rttopo_tests/toponetclone12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone12.testcase +++ test/sql_stmt_rttopo_tests/toponetclone12.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - BLOB db-prefix -:memory: #use in-memory database -SELECT TopoNet_Clone(zeroblob(4), 'origin', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(zeroblob(4), 'origin', 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetclone2.testcase Index: test/sql_stmt_rttopo_tests/toponetclone2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone2.testcase +++ test/sql_stmt_rttopo_tests/toponetclone2.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Int Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone("a", 1, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone("a", 1, 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetclone3.testcase Index: test/sql_stmt_rttopo_tests/toponetclone3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone3.testcase +++ test/sql_stmt_rttopo_tests/toponetclone3.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Double Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone("a", 1.5, 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone("a", 1.5, 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetclone4.testcase Index: test/sql_stmt_rttopo_tests/toponetclone4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone4.testcase +++ test/sql_stmt_rttopo_tests/toponetclone4.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Blob Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, zeroblob(4), 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, zeroblob(4), 'destination') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetclone5.testcase Index: test/sql_stmt_rttopo_tests/toponetclone5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone5.testcase +++ test/sql_stmt_rttopo_tests/toponetclone5.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Text Network (origin) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'topology', 'destination'); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'topology', 'destination') -SQL/MM Spatial exception - invalid network name (origin). DELETED test/sql_stmt_rttopo_tests/toponetclone6.testcase Index: test/sql_stmt_rttopo_tests/toponetclone6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone6.testcase +++ test/sql_stmt_rttopo_tests/toponetclone6.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - NULL Network (destination) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'origin', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'origin', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponetclone7.testcase Index: test/sql_stmt_rttopo_tests/toponetclone7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone7.testcase +++ test/sql_stmt_rttopo_tests/toponetclone7.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - INT Network (destination) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'origin', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'origin', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetclone8.testcase Index: test/sql_stmt_rttopo_tests/toponetclone8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone8.testcase +++ test/sql_stmt_rttopo_tests/toponetclone8.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - Double Network (destination) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'origin', 1.2); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'origin', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetclone9.testcase Index: test/sql_stmt_rttopo_tests/toponetclone9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetclone9.testcase +++ test/sql_stmt_rttopo_tests/toponetclone9.testcase @@ -1,7 +0,0 @@ -TopoNet_Clone - BLOB Network (destination) -:memory: #use in-memory database -SELECT TopoNet_Clone(NULL, 'origin', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_Clone(NULL, 'origin', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable1.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable1.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable1.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - NULL Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable(NULL, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable(NULL, NULL, 'table', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable10.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable10.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable10.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - NULL table -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, NULL, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable11.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable11.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable11.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - INT table -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 1, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable12.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable12.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable12.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Double table -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 1.2, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 1.2, NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable13.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable13.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable13.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - BLOB table -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, zeroblob(4), NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, zeroblob(4), NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable14.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable14.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable14.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Text Column -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', 'column'); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', 'column') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponetfromtable15.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable15.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable15.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Int Column -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable16.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable16.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable16.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Double Column -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', 1.2); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable17.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable17.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable17.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - BLOB Column -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable2.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable2.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable2.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Int Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable(1, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable(1, NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable3.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable3.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable3.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Double Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable(1.5, NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable(1.5, NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable4.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable4.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable4.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Blob Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable(zeroblob(4), NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable(zeroblob(4), NULL, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable5.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable5.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable5.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Text Network -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', NULL, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', NULL, 'table', NULL) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponetfromtable6.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable6.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable6.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - TEXT prefix -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', 'a', 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', 'a', 'table', NULL) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponetfromtable7.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable7.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable7.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - INT prefix -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', 1, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', 1, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable8.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable8.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable8.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - Double prefix -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', 1.2, 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', 1.2, 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetfromtable9.testcase Index: test/sql_stmt_rttopo_tests/toponetfromtable9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetfromtable9.testcase +++ test/sql_stmt_rttopo_tests/toponetfromtable9.testcase @@ -1,7 +0,0 @@ -TopoNet_FromGeoTable - BLOB prefix -:memory: #use in-memory database -SELECT TopoNet_FromGeoTable('network', zeroblob(4), 'table', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_FromGeoTable('network', zeroblob(4), 'table', NULL) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable1.testcase Index: test/sql_stmt_rttopo_tests/toponettotable1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable1.testcase +++ test/sql_stmt_rttopo_tests/toponettotable1.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - NULL Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable(NULL, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable(NULL, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponettotable10.testcase Index: test/sql_stmt_rttopo_tests/toponettotable10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable10.testcase +++ test/sql_stmt_rttopo_tests/toponettotable10.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - NULL ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, NULL, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, NULL, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable11.testcase Index: test/sql_stmt_rttopo_tests/toponettotable11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable11.testcase +++ test/sql_stmt_rttopo_tests/toponettotable11.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - INT ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 1, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 1, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable12.testcase Index: test/sql_stmt_rttopo_tests/toponettotable12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable12.testcase +++ test/sql_stmt_rttopo_tests/toponettotable12.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 1.2, NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 1.2, NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable13.testcase Index: test/sql_stmt_rttopo_tests/toponettotable13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable13.testcase +++ test/sql_stmt_rttopo_tests/toponettotable13.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, zeroblob(4), NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, zeroblob(4), NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable14.testcase Index: test/sql_stmt_rttopo_tests/toponettotable14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable14.testcase +++ test/sql_stmt_rttopo_tests/toponettotable14.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Text Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', 'column', 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', 'column', 'out') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotable15.testcase Index: test/sql_stmt_rttopo_tests/toponettotable15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable15.testcase +++ test/sql_stmt_rttopo_tests/toponettotable15.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Int Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', 1, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', 1, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable16.testcase Index: test/sql_stmt_rttopo_tests/toponettotable16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable16.testcase +++ test/sql_stmt_rttopo_tests/toponettotable16.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', 1.2, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', 1.2, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable17.testcase Index: test/sql_stmt_rttopo_tests/toponettotable17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable17.testcase +++ test/sql_stmt_rttopo_tests/toponettotable17.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', zeroblob(4), 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', zeroblob(4), 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable18.testcase Index: test/sql_stmt_rttopo_tests/toponettotable18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable18.testcase +++ test/sql_stmt_rttopo_tests/toponettotable18.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - NULL out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('topology', NULL, 'table', NULL, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('topology', NULL, 'table', NULL, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponettotable19.testcase Index: test/sql_stmt_rttopo_tests/toponettotable19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable19.testcase +++ test/sql_stmt_rttopo_tests/toponettotable19.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('topology', NULL, 'table', NULL, 1.2); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('topology', NULL, 'table', NULL, 1.2) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable2.testcase Index: test/sql_stmt_rttopo_tests/toponettotable2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable2.testcase +++ test/sql_stmt_rttopo_tests/toponettotable2.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Int Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable(1, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable(1, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable20.testcase Index: test/sql_stmt_rttopo_tests/toponettotable20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable20.testcase +++ test/sql_stmt_rttopo_tests/toponettotable20.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('topology', NULL, 'table', NULL, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('topology', NULL, 'table', NULL, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable21.testcase Index: test/sql_stmt_rttopo_tests/toponettotable21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable21.testcase +++ test/sql_stmt_rttopo_tests/toponettotable21.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Text out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotable22.testcase Index: test/sql_stmt_rttopo_tests/toponettotable22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable22.testcase +++ test/sql_stmt_rttopo_tests/toponettotable22.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Text with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 'no'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable23.testcase Index: test/sql_stmt_rttopo_tests/toponettotable23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable23.testcase +++ test/sql_stmt_rttopo_tests/toponettotable23.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable24.testcase Index: test/sql_stmt_rttopo_tests/toponettotable24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable24.testcase +++ test/sql_stmt_rttopo_tests/toponettotable24.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 1.1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable25.testcase Index: test/sql_stmt_rttopo_tests/toponettotable25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable25.testcase +++ test/sql_stmt_rttopo_tests/toponettotable25.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL with-spatial-index -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponettotable26.testcase Index: test/sql_stmt_rttopo_tests/toponettotable26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable26.testcase +++ test/sql_stmt_rttopo_tests/toponettotable26.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Integer with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out', 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotable3.testcase Index: test/sql_stmt_rttopo_tests/toponettotable3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable3.testcase +++ test/sql_stmt_rttopo_tests/toponettotable3.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable(1.5, NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable(1.5, NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable4.testcase Index: test/sql_stmt_rttopo_tests/toponettotable4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable4.testcase +++ test/sql_stmt_rttopo_tests/toponettotable4.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Blob Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable(zeroblob(4), NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable(zeroblob(4), NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable5.testcase Index: test/sql_stmt_rttopo_tests/toponettotable5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable5.testcase +++ test/sql_stmt_rttopo_tests/toponettotable5.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Text Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', NULL, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotable6.testcase Index: test/sql_stmt_rttopo_tests/toponettotable6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable6.testcase +++ test/sql_stmt_rttopo_tests/toponettotable6.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - TEXT prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', 'a', 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', 'a', 'table', NULL, 'out') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotable7.testcase Index: test/sql_stmt_rttopo_tests/toponettotable7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable7.testcase +++ test/sql_stmt_rttopo_tests/toponettotable7.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - INT prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', 1, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', 1, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable8.testcase Index: test/sql_stmt_rttopo_tests/toponettotable8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable8.testcase +++ test/sql_stmt_rttopo_tests/toponettotable8.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - Double prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', 1.2, 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', 1.2, 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotable9.testcase Index: test/sql_stmt_rttopo_tests/toponettotable9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotable9.testcase +++ test/sql_stmt_rttopo_tests/toponettotable9.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTable - BLOB prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTable('network', zeroblob(4), 'table', NULL, 'out'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTable('network', zeroblob(4), 'table', NULL, 'out') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen1.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen1.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen1.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize(NULL, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize(NULL, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen10.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen10.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen10.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, NULL, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, NULL, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen11.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen11.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen11.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - INT ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 1, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 1, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen12.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen12.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen12.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double ref-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 1.2, NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 1.2, NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen13.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen13.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen13.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, zeroblob(4), NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, zeroblob(4), NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen14.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen14.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen14.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 'column', 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 'column', 'out', 10.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotablegen15.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen15.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen15.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Int Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 1, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 1, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen16.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen16.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen16.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 1.2, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', 1.2, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen17.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen17.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen17.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB Column -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', zeroblob(4), 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', zeroblob(4), 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen18.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen18.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen18.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, NULL, 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, NULL, 10.0) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen19.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen19.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen19.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 1.2, 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, 1.2, 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen2.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen2.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen2.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Int Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize(1, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize(1, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen20.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen20.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen20.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, zeroblob(4), 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('topology', NULL, 'table', NULL, zeroblob(4), 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen21.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen21.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen21.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text out-table -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotablegen22.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen22.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen22.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 'tol'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 'tol') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen23.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen23.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen23.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen24.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen24.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen24.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 1.1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 1.1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotablegen25.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen25.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen25.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen25.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen26.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen26.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen26.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen26.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Integer tolerance -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotablegen27.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen27.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen27.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen27.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 'no'); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 'no') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen28.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen28.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen28.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen28.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen29.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen29.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen29.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen29.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 1.1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 1.1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen3.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen3.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen3.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize(1.5, NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize(1.5, NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen30.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen30.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen30.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen30.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Integer with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 1); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotablegen31.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen31.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen31.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen31.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - NULL with-spatial-inxed -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen4.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen4.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen4.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Blob Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize(zeroblob(4), NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize(zeroblob(4), NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen5.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen5.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen5.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Text Network -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', NULL, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotablegen6.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen6.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen6.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - TEXT prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', 'a', 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', 'a', 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponettotablegen7.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen7.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen7.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - INT prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', 1, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', 1, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen8.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen8.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen8.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - Double prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', 1.2, 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', 1.2, 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponettotablegen9.testcase Index: test/sql_stmt_rttopo_tests/toponettotablegen9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponettotablegen9.testcase +++ test/sql_stmt_rttopo_tests/toponettotablegen9.testcase @@ -1,7 +0,0 @@ -TopoNet_ToGeoTableGeneralize - BLOB prefix -:memory: #use in-memory database -SELECT TopoNet_ToGeoTableGeneralize('network', zeroblob(4), 'table', NULL, 'out', 10.0); -1 # rows (not including the header row) -1 # columns -TopoNet_ToGeoTableGeneralize('network', zeroblob(4), 'table', NULL, 'out', 10.0) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds1.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds1.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds1.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - NULL Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds(NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds10.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds10.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds10.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Text mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', 'mode'); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', 'mode') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds2.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds2.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds2.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Int Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds(1); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds3.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds3.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds3.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Double Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds(1.5); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds4.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds4.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds4.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Blob Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds5.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds5.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds5.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Text Network -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network'); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds6.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds6.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds6.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - NULL mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', NULL); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds7.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds7.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds7.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Int mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', 1); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', 1) -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds8.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds8.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds8.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Double mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', 1.5); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toponetupdateseeds9.testcase Index: test/sql_stmt_rttopo_tests/toponetupdateseeds9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toponetupdateseeds9.testcase +++ test/sql_stmt_rttopo_tests/toponetupdateseeds9.testcase @@ -1,7 +0,0 @@ -TopoNet_UpdateSeeds - Blob mode -:memory: #use in-memory database -SELECT TopoNet_UpdateSeeds('network', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoNet_UpdateSeeds('network', zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap1.testcase Index: test/sql_stmt_rttopo_tests/toposnap1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap1.testcase +++ test/sql_stmt_rttopo_tests/toposnap1.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - NULL Topology -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap(NULL, MakePoint(1, 2, 4326), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap(NULL, MakePoint(1, 2, 4326), 1, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toposnap10.testcase Index: test/sql_stmt_rttopo_tests/toposnap10.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap10.testcase +++ test/sql_stmt_rttopo_tests/toposnap10.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - NULL tolerance -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toposnap11.testcase Index: test/sql_stmt_rttopo_tests/toposnap11.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap11.testcase +++ test/sql_stmt_rttopo_tests/toposnap11.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Text tolerance -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, 'tolerance'); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, 'tolerance') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap12.testcase Index: test/sql_stmt_rttopo_tests/toposnap12.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap12.testcase +++ test/sql_stmt_rttopo_tests/toposnap12.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - BLOB tolerance -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, zeroblob(12)); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, zeroblob(12)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap13.testcase Index: test/sql_stmt_rttopo_tests/toposnap13.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap13.testcase +++ test/sql_stmt_rttopo_tests/toposnap13.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - NULL iterate -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), NULL, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), NULL, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toposnap14.testcase Index: test/sql_stmt_rttopo_tests/toposnap14.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap14.testcase +++ test/sql_stmt_rttopo_tests/toposnap14.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Text iterate -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 'iterate', 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 'iterate', 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap15.testcase Index: test/sql_stmt_rttopo_tests/toposnap15.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap15.testcase +++ test/sql_stmt_rttopo_tests/toposnap15.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - DOUBLE iterate -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1.5, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1.5, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap16.testcase Index: test/sql_stmt_rttopo_tests/toposnap16.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap16.testcase +++ test/sql_stmt_rttopo_tests/toposnap16.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - BLOB iterate -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), zeroblob(4), 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), zeroblob(4), 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap17.testcase Index: test/sql_stmt_rttopo_tests/toposnap17.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap17.testcase +++ test/sql_stmt_rttopo_tests/toposnap17.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - NULL remove_vertices -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, NULL); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toposnap18.testcase Index: test/sql_stmt_rttopo_tests/toposnap18.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap18.testcase +++ test/sql_stmt_rttopo_tests/toposnap18.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - DOUBLE remove_vertices -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1.5); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap19.testcase Index: test/sql_stmt_rttopo_tests/toposnap19.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap19.testcase +++ test/sql_stmt_rttopo_tests/toposnap19.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - BLOB remove_vertices -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap2.testcase Index: test/sql_stmt_rttopo_tests/toposnap2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap2.testcase +++ test/sql_stmt_rttopo_tests/toposnap2.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Int Topology -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap(1, MakePoint(1, 2, 4326), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap(1, MakePoint(1, 2, 4326), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap20.testcase Index: test/sql_stmt_rttopo_tests/toposnap20.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap20.testcase +++ test/sql_stmt_rttopo_tests/toposnap20.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - non-existing topology -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/toposnap21.testcase Index: test/sql_stmt_rttopo_tests/toposnap21.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap21.testcase +++ test/sql_stmt_rttopo_tests/toposnap21.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - TEXT remove_vertices -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 'remove'); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 'remove') -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap22.testcase Index: test/sql_stmt_rttopo_tests/toposnap22.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap22.testcase +++ test/sql_stmt_rttopo_tests/toposnap22.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Double tolerance -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, 0.01); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, 0.01) -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/toposnap23.testcase Index: test/sql_stmt_rttopo_tests/toposnap23.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap23.testcase +++ test/sql_stmt_rttopo_tests/toposnap23.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Int NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, -1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, -1) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/toposnap24.testcase Index: test/sql_stmt_rttopo_tests/toposnap24.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap24.testcase +++ test/sql_stmt_rttopo_tests/toposnap24.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Double NEGATIVE tolerance -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, -0.01); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', MakePoint(1, 2, 4326), 1, 1, -0.01) -SQL/MM Spatial exception - illegal negative tolerance. DELETED test/sql_stmt_rttopo_tests/toposnap3.testcase Index: test/sql_stmt_rttopo_tests/toposnap3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap3.testcase +++ test/sql_stmt_rttopo_tests/toposnap3.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Double Topology -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap(1.5, MakePoint(1, 2, 4326), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap(1.5, MakePoint(1, 2, 4326), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap4.testcase Index: test/sql_stmt_rttopo_tests/toposnap4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap4.testcase +++ test/sql_stmt_rttopo_tests/toposnap4.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - BLOB Topology -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap(zeroblob(10), MakePoint(1, 2, 4326), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap(zeroblob(10), MakePoint(1, 2, 4326), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap5.testcase Index: test/sql_stmt_rttopo_tests/toposnap5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap5.testcase +++ test/sql_stmt_rttopo_tests/toposnap5.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - NULL Geometry -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', NULL, 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', NULL, 1, 1) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/toposnap6.testcase Index: test/sql_stmt_rttopo_tests/toposnap6.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap6.testcase +++ test/sql_stmt_rttopo_tests/toposnap6.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Int Geometry -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', 1, 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', 1, 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap7.testcase Index: test/sql_stmt_rttopo_tests/toposnap7.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap7.testcase +++ test/sql_stmt_rttopo_tests/toposnap7.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Int Geometry -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', 1-5, 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', 1.5, 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap8.testcase Index: test/sql_stmt_rttopo_tests/toposnap8.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap8.testcase +++ test/sql_stmt_rttopo_tests/toposnap8.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Text Geometry -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', 'geom', 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', 'geom', 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/toposnap9.testcase Index: test/sql_stmt_rttopo_tests/toposnap9.testcase ================================================================== --- test/sql_stmt_rttopo_tests/toposnap9.testcase +++ test/sql_stmt_rttopo_tests/toposnap9.testcase @@ -1,7 +0,0 @@ -TopoGeo_TopoSnap - Invalid BLOB Geometry -:memory: #use in-memory database -SELECT TopoGeo_TopoSnap('topo', zeroblob(100), 1, 1); -1 # rows (not including the header row) -1 # columns -TopoGeo_TopoSnap('topo', zeroblob(100), 1, 1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validatetopogeo1.testcase Index: test/sql_stmt_rttopo_tests/validatetopogeo1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validatetopogeo1.testcase +++ test/sql_stmt_rttopo_tests/validatetopogeo1.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - NULL Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo(NULL); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/validatetopogeo2.testcase Index: test/sql_stmt_rttopo_tests/validatetopogeo2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validatetopogeo2.testcase +++ test/sql_stmt_rttopo_tests/validatetopogeo2.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - Int Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo(1); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validatetopogeo3.testcase Index: test/sql_stmt_rttopo_tests/validatetopogeo3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validatetopogeo3.testcase +++ test/sql_stmt_rttopo_tests/validatetopogeo3.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - Double Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo(1.5); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validatetopogeo4.testcase Index: test/sql_stmt_rttopo_tests/validatetopogeo4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validatetopogeo4.testcase +++ test/sql_stmt_rttopo_tests/validatetopogeo4.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - Blob Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validatetopogeo5.testcase Index: test/sql_stmt_rttopo_tests/validatetopogeo5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validatetopogeo5.testcase +++ test/sql_stmt_rttopo_tests/validatetopogeo5.testcase @@ -1,7 +0,0 @@ -ST_ValidateTopoGeo - Text Topology -:memory: #use in-memory database -SELECT ST_ValidateTopoGeo('topology'); -1 # rows (not including the header row) -1 # columns -ST_ValidateTopoGeo('topology') -SQL/MM Spatial exception - invalid topology name. DELETED test/sql_stmt_rttopo_tests/validlogicalnet1.testcase Index: test/sql_stmt_rttopo_tests/validlogicalnet1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validlogicalnet1.testcase +++ test/sql_stmt_rttopo_tests/validlogicalnet1.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - NULL Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet(NULL); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/validlogicalnet2.testcase Index: test/sql_stmt_rttopo_tests/validlogicalnet2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validlogicalnet2.testcase +++ test/sql_stmt_rttopo_tests/validlogicalnet2.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - Int Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet(1); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validlogicalnet3.testcase Index: test/sql_stmt_rttopo_tests/validlogicalnet3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validlogicalnet3.testcase +++ test/sql_stmt_rttopo_tests/validlogicalnet3.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - Double Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet(1.5); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validlogicalnet4.testcase Index: test/sql_stmt_rttopo_tests/validlogicalnet4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validlogicalnet4.testcase +++ test/sql_stmt_rttopo_tests/validlogicalnet4.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - Blob Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validlogicalnet5.testcase Index: test/sql_stmt_rttopo_tests/validlogicalnet5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validlogicalnet5.testcase +++ test/sql_stmt_rttopo_tests/validlogicalnet5.testcase @@ -1,7 +0,0 @@ -ST_ValidLogicalNet - Text Network -:memory: #use in-memory database -SELECT ST_ValidLogicalNet('network'); -1 # rows (not including the header row) -1 # columns -ST_ValidLogicalNet('network') -SQL/MM Spatial exception - invalid network name. DELETED test/sql_stmt_rttopo_tests/validspatialnet1.testcase Index: test/sql_stmt_rttopo_tests/validspatialnet1.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validspatialnet1.testcase +++ test/sql_stmt_rttopo_tests/validspatialnet1.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - NULL Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet(NULL); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet(NULL) -SQL/MM Spatial exception - null argument. DELETED test/sql_stmt_rttopo_tests/validspatialnet2.testcase Index: test/sql_stmt_rttopo_tests/validspatialnet2.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validspatialnet2.testcase +++ test/sql_stmt_rttopo_tests/validspatialnet2.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - Int Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet(1); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet(1) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validspatialnet3.testcase Index: test/sql_stmt_rttopo_tests/validspatialnet3.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validspatialnet3.testcase +++ test/sql_stmt_rttopo_tests/validspatialnet3.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - Double Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet(1.5); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet(1.5) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validspatialnet4.testcase Index: test/sql_stmt_rttopo_tests/validspatialnet4.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validspatialnet4.testcase +++ test/sql_stmt_rttopo_tests/validspatialnet4.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - Blob Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet(zeroblob(4)) -SQL/MM Spatial exception - invalid argument. DELETED test/sql_stmt_rttopo_tests/validspatialnet5.testcase Index: test/sql_stmt_rttopo_tests/validspatialnet5.testcase ================================================================== --- test/sql_stmt_rttopo_tests/validspatialnet5.testcase +++ test/sql_stmt_rttopo_tests/validspatialnet5.testcase @@ -1,7 +0,0 @@ -ST_ValidSpatialNet - Text Network -:memory: #use in-memory database -SELECT ST_ValidSpatialNet('network'); -1 # rows (not including the header row) -1 # columns -ST_ValidSpatialNet('network') -SQL/MM Spatial exception - invalid network name. Index: test/sql_stmt_security_tests/Makefile.am ================================================================== --- test/sql_stmt_security_tests/Makefile.am +++ test/sql_stmt_security_tests/Makefile.am @@ -13,16 +13,10 @@ eval4.testcase \ exportdbf1.testcase \ exportdbf2.testcase \ exportdbf3.testcase \ exportdbf4.testcase \ - exportdbf5.testcase \ - exportdbf6.testcase \ - exportdbf7.testcase \ - exportdbf8.testcase \ - exportdbf9.testcase \ - exportdbf10.testcase \ exportdxf1.testcase \ exportdxf2.testcase \ exportdxf3.testcase \ exportdxf4.testcase \ exportdxf5.testcase \ @@ -54,30 +48,18 @@ exportshp2.testcase \ exportshp3.testcase \ exportshp4.testcase \ exportshp5.testcase \ exportshp6.testcase \ - exportshp7.testcase \ - exportshp8.testcase \ - exportshp9.testcase \ - exportshp10.testcase \ - exportshp11.testcase \ - exportshp12.testcase \ exportdxf11.testcase \ importdbf1.testcase \ importdbf2.testcase \ importdbf3.testcase \ importdbf4.testcase \ importdbf5.testcase \ importdbf6.testcase \ importdbf7.testcase \ - importdbf8.testcase \ - importdbf9.testcase \ - importdbf10.testcase \ - importdbf11.testcase \ - importdbf12.testcase \ - importdbf13.testcase \ importdxf1.testcase \ importdxf2.testcase \ importdxf3.testcase \ importdxf4.testcase \ importdxf5.testcase \ @@ -120,36 +102,11 @@ importshp10.testcase \ importshp11.testcase \ importshp12.testcase \ importshp13.testcase \ importshp14.testcase \ - importshp15.testcase \ - importshp16.testcase \ - importshp17.testcase \ - importshp18.testcase \ - importshp19.testcase \ - importshp20.testcase \ - importshp21.testcase \ - importshp22.testcase \ - importxls1.testcase \ - importxls2.testcase \ - importxls3.testcase \ - importxls4.testcase \ - importxls5.testcase \ - importxls6.testcase \ - importxls7.testcase \ - importxls8.testcase \ - importxls9.testcase \ - importxls10.testcase \ - importxls11.testcase \ - importxls12.testcase \ - importxls13.testcase \ - importxls14.testcase \ - importxls15.testcase \ - importxls16.testcase \ - importxls17.testcase \ isXblob1.testcase \ isXblob2.testcase \ isXblob3.testcase \ isXblob4.testcase \ isXblob8.testcase \ isXblob9.testcase Index: test/sql_stmt_security_tests/Makefile.in ================================================================== --- test/sql_stmt_security_tests/Makefile.in +++ test/sql_stmt_security_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_security_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -265,16 +254,10 @@ eval4.testcase \ exportdbf1.testcase \ exportdbf2.testcase \ exportdbf3.testcase \ exportdbf4.testcase \ - exportdbf5.testcase \ - exportdbf6.testcase \ - exportdbf7.testcase \ - exportdbf8.testcase \ - exportdbf9.testcase \ - exportdbf10.testcase \ exportdxf1.testcase \ exportdxf2.testcase \ exportdxf3.testcase \ exportdxf4.testcase \ exportdxf5.testcase \ @@ -306,30 +289,18 @@ exportshp2.testcase \ exportshp3.testcase \ exportshp4.testcase \ exportshp5.testcase \ exportshp6.testcase \ - exportshp7.testcase \ - exportshp8.testcase \ - exportshp9.testcase \ - exportshp10.testcase \ - exportshp11.testcase \ - exportshp12.testcase \ exportdxf11.testcase \ importdbf1.testcase \ importdbf2.testcase \ importdbf3.testcase \ importdbf4.testcase \ importdbf5.testcase \ importdbf6.testcase \ importdbf7.testcase \ - importdbf8.testcase \ - importdbf9.testcase \ - importdbf10.testcase \ - importdbf11.testcase \ - importdbf12.testcase \ - importdbf13.testcase \ importdxf1.testcase \ importdxf2.testcase \ importdxf3.testcase \ importdxf4.testcase \ importdxf5.testcase \ @@ -372,35 +343,10 @@ importshp10.testcase \ importshp11.testcase \ importshp12.testcase \ importshp13.testcase \ importshp14.testcase \ - importshp15.testcase \ - importshp16.testcase \ - importshp17.testcase \ - importshp18.testcase \ - importshp19.testcase \ - importshp20.testcase \ - importshp21.testcase \ - importshp22.testcase \ - importxls1.testcase \ - importxls2.testcase \ - importxls3.testcase \ - importxls4.testcase \ - importxls5.testcase \ - importxls6.testcase \ - importxls7.testcase \ - importxls8.testcase \ - importxls9.testcase \ - importxls10.testcase \ - importxls11.testcase \ - importxls12.testcase \ - importxls13.testcase \ - importxls14.testcase \ - importxls15.testcase \ - importxls16.testcase \ - importxls17.testcase \ isXblob1.testcase \ isXblob2.testcase \ isXblob3.testcase \ isXblob4.testcase \ isXblob8.testcase \ @@ -419,10 +365,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_security_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_security_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -593,11 +540,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: DELETED test/sql_stmt_security_tests/exportdbf10.testcase Index: test/sql_stmt_security_tests/exportdbf10.testcase ================================================================== --- test/sql_stmt_security_tests/exportdbf10.testcase +++ test/sql_stmt_security_tests/exportdbf10.testcase @@ -1,7 +0,0 @@ -exportDBF - OK colname case -:memory: #use in-memory database -SELECT ExportDBF('table', 'test.dbf', 'UTF-8', 'LOWER'); -1 # rows (not including the header row) -1 # columns -ExportDBF('table', 'test.dbf', 'UTF-8', 'LOWER') -(NULL) DELETED test/sql_stmt_security_tests/exportdbf5.testcase Index: test/sql_stmt_security_tests/exportdbf5.testcase ================================================================== --- test/sql_stmt_security_tests/exportdbf5.testcase +++ test/sql_stmt_security_tests/exportdbf5.testcase @@ -1,7 +0,0 @@ -exportDBF - NULL colname case -:memory: #use in-memory database -SELECT ExportDBF('table', 'test.dbf', 'UTF-8', NULL); -1 # rows (not including the header row) -1 # columns -ExportDBF('table', 'test.dbf', 'UTF-8', NULL) -(NULL) DELETED test/sql_stmt_security_tests/exportdbf6.testcase Index: test/sql_stmt_security_tests/exportdbf6.testcase ================================================================== --- test/sql_stmt_security_tests/exportdbf6.testcase +++ test/sql_stmt_security_tests/exportdbf6.testcase @@ -1,7 +0,0 @@ -exportDBF - OK colname case -:memory: #use in-memory database -SELECT ExportDBF('table', 'test.dbf', 'UTF-8', 'UPPER'); -1 # rows (not including the header row) -1 # columns -ExportDBF('table', 'test.dbf', 'UTF-8', 'UPPER') -(NULL) DELETED test/sql_stmt_security_tests/exportdbf7.testcase Index: test/sql_stmt_security_tests/exportdbf7.testcase ================================================================== --- test/sql_stmt_security_tests/exportdbf7.testcase +++ test/sql_stmt_security_tests/exportdbf7.testcase @@ -1,7 +0,0 @@ -exportDBF - OK colname case -:memory: #use in-memory database -SELECT ExportDBF('table', 'test.dbf', 'UTF-8', 'UPPERCASE'); -1 # rows (not including the header row) -1 # columns -ExportDBF('table', 'test.dbf', 'UTF-8', 'UPPERCASE') -(NULL) DELETED test/sql_stmt_security_tests/exportdbf8.testcase Index: test/sql_stmt_security_tests/exportdbf8.testcase ================================================================== --- test/sql_stmt_security_tests/exportdbf8.testcase +++ test/sql_stmt_security_tests/exportdbf8.testcase @@ -1,7 +0,0 @@ -exportDBF - OK colname case -:memory: #use in-memory database -SELECT ExportDBF('table', 'test.dbf', 'UTF-8', 'SAMECASE'); -1 # rows (not including the header row) -1 # columns -ExportDBF('table', 'test.dbf', 'UTF-8', 'SAMECASE') -(NULL) DELETED test/sql_stmt_security_tests/exportdbf9.testcase Index: test/sql_stmt_security_tests/exportdbf9.testcase ================================================================== --- test/sql_stmt_security_tests/exportdbf9.testcase +++ test/sql_stmt_security_tests/exportdbf9.testcase @@ -1,7 +0,0 @@ -exportDBF - OK colname case -:memory: #use in-memory database -SELECT ExportDBF('table', 'test.dbf', 'UTF-8', 'SAME'); -1 # rows (not including the header row) -1 # columns -ExportDBF('table', 'test.dbf', 'UTF-8', 'SAME') -(NULL) DELETED test/sql_stmt_security_tests/exportshp10.testcase Index: test/sql_stmt_security_tests/exportshp10.testcase ================================================================== --- test/sql_stmt_security_tests/exportshp10.testcase +++ test/sql_stmt_security_tests/exportshp10.testcase @@ -1,7 +0,0 @@ -exportSHP - OK colname case -:memory: #use in-memory database -SELECT ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'SAMECASE'); -1 # rows (not including the header row) -1 # columns -ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'SAMECASE') -(NULL) DELETED test/sql_stmt_security_tests/exportshp11.testcase Index: test/sql_stmt_security_tests/exportshp11.testcase ================================================================== --- test/sql_stmt_security_tests/exportshp11.testcase +++ test/sql_stmt_security_tests/exportshp11.testcase @@ -1,7 +0,0 @@ -exportSHP - OK colname case -:memory: #use in-memory database -SELECT ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'SAME'); -1 # rows (not including the header row) -1 # columns -ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'SAME') -(NULL) DELETED test/sql_stmt_security_tests/exportshp12.testcase Index: test/sql_stmt_security_tests/exportshp12.testcase ================================================================== --- test/sql_stmt_security_tests/exportshp12.testcase +++ test/sql_stmt_security_tests/exportshp12.testcase @@ -1,7 +0,0 @@ -exportSHP - OK colname case -:memory: #use in-memory database -SELECT ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'LOWER'); -1 # rows (not including the header row) -1 # columns -ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'LOWER') -(NULL) DELETED test/sql_stmt_security_tests/exportshp7.testcase Index: test/sql_stmt_security_tests/exportshp7.testcase ================================================================== --- test/sql_stmt_security_tests/exportshp7.testcase +++ test/sql_stmt_security_tests/exportshp7.testcase @@ -1,7 +0,0 @@ -exportSHP - NULL colname case -:memory: #use in-memory database -SELECT ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', NULL); -1 # rows (not including the header row) -1 # columns -ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', NULL) -(NULL) DELETED test/sql_stmt_security_tests/exportshp8.testcase Index: test/sql_stmt_security_tests/exportshp8.testcase ================================================================== --- test/sql_stmt_security_tests/exportshp8.testcase +++ test/sql_stmt_security_tests/exportshp8.testcase @@ -1,7 +0,0 @@ -exportSHP - OK colname case -:memory: #use in-memory database -SELECT ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'UPPER'); -1 # rows (not including the header row) -1 # columns -ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'UPPER') -(NULL) DELETED test/sql_stmt_security_tests/exportshp9.testcase Index: test/sql_stmt_security_tests/exportshp9.testcase ================================================================== --- test/sql_stmt_security_tests/exportshp9.testcase +++ test/sql_stmt_security_tests/exportshp9.testcase @@ -1,7 +0,0 @@ -exportSHP - OK colname case -:memory: #use in-memory database -SELECT ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'UPPERCASE'); -1 # rows (not including the header row) -1 # columns -ExportSHP('test', 'geom', 'shapefile', 'UTF-8', 'POINT', 'UPPERCASE') -(NULL) DELETED test/sql_stmt_security_tests/importdbf10.testcase Index: test/sql_stmt_security_tests/importdbf10.testcase ================================================================== --- test/sql_stmt_security_tests/importdbf10.testcase +++ test/sql_stmt_security_tests/importdbf10.testcase @@ -1,7 +0,0 @@ -importDBF - OK colname case -:memory: #use in-memory database -SELECT ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'UPPERCASE'); -1 # rows (not including the header row) -1 # columns -ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'UPPERCASE') -(NULL) DELETED test/sql_stmt_security_tests/importdbf11.testcase Index: test/sql_stmt_security_tests/importdbf11.testcase ================================================================== --- test/sql_stmt_security_tests/importdbf11.testcase +++ test/sql_stmt_security_tests/importdbf11.testcase @@ -1,7 +0,0 @@ -importDBF - OK colname case -:memory: #use in-memory database -SELECT ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'SAMECASE'); -1 # rows (not including the header row) -1 # columns -ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'SAMECASE') -(NULL) DELETED test/sql_stmt_security_tests/importdbf12.testcase Index: test/sql_stmt_security_tests/importdbf12.testcase ================================================================== --- test/sql_stmt_security_tests/importdbf12.testcase +++ test/sql_stmt_security_tests/importdbf12.testcase @@ -1,7 +0,0 @@ -importDBF - OK colname case -:memory: #use in-memory database -SELECT ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'SAME'); -1 # rows (not including the header row) -1 # columns -ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'SAME') -(NULL) DELETED test/sql_stmt_security_tests/importdbf13.testcase Index: test/sql_stmt_security_tests/importdbf13.testcase ================================================================== --- test/sql_stmt_security_tests/importdbf13.testcase +++ test/sql_stmt_security_tests/importdbf13.testcase @@ -1,7 +0,0 @@ -importDBF - OK colname case -:memory: #use in-memory database -SELECT ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'LOWER'); -1 # rows (not including the header row) -1 # columns -ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'LOWER') -(NULL) DELETED test/sql_stmt_security_tests/importdbf8.testcase Index: test/sql_stmt_security_tests/importdbf8.testcase ================================================================== --- test/sql_stmt_security_tests/importdbf8.testcase +++ test/sql_stmt_security_tests/importdbf8.testcase @@ -1,7 +0,0 @@ -importDBF - NULL colname case -:memory: #use in-memory database -SELECT ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, NULL); -1 # rows (not including the header row) -1 # columns -ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, NULL) -(NULL) DELETED test/sql_stmt_security_tests/importdbf9.testcase Index: test/sql_stmt_security_tests/importdbf9.testcase ================================================================== --- test/sql_stmt_security_tests/importdbf9.testcase +++ test/sql_stmt_security_tests/importdbf9.testcase @@ -1,7 +0,0 @@ -importDBF - OK colname case -:memory: #use in-memory database -SELECT ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'UPPER'); -1 # rows (not including the header row) -1 # columns -ImportDBF('test.dbf', 'table', 'UTF-8', 'id', 1, 'UPPER') -(NULL) DELETED test/sql_stmt_security_tests/importshp15.testcase Index: test/sql_stmt_security_tests/importshp15.testcase ================================================================== --- test/sql_stmt_security_tests/importshp15.testcase +++ test/sql_stmt_security_tests/importshp15.testcase @@ -1,7 +0,0 @@ -importSHP - NULL colname case -:memory: #use in-memory database -SELECT ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, NULL); -1 # rows (not including the header row) -1 # columns -ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, NULL) -(NULL) DELETED test/sql_stmt_security_tests/importshp16.testcase Index: test/sql_stmt_security_tests/importshp16.testcase ================================================================== --- test/sql_stmt_security_tests/importshp16.testcase +++ test/sql_stmt_security_tests/importshp16.testcase @@ -1,7 +0,0 @@ -importSHP - OK colname case -:memory: #use in-memory database -SELECT ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'UPPER'); -1 # rows (not including the header row) -1 # columns -ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'UPPER') -(NULL) DELETED test/sql_stmt_security_tests/importshp17.testcase Index: test/sql_stmt_security_tests/importshp17.testcase ================================================================== --- test/sql_stmt_security_tests/importshp17.testcase +++ test/sql_stmt_security_tests/importshp17.testcase @@ -1,7 +0,0 @@ -importSHP - OK colname case -:memory: #use in-memory database -SELECT ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'UPPERCASE'); -1 # rows (not including the header row) -1 # columns -ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'UPPERCASE') -(NULL) DELETED test/sql_stmt_security_tests/importshp18.testcase Index: test/sql_stmt_security_tests/importshp18.testcase ================================================================== --- test/sql_stmt_security_tests/importshp18.testcase +++ test/sql_stmt_security_tests/importshp18.testcase @@ -1,7 +0,0 @@ -importSHP - OK colname case -:memory: #use in-memory database -SELECT ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'SAMECASE'); -1 # rows (not including the header row) -1 # columns -ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'SAMECASE') -(NULL) DELETED test/sql_stmt_security_tests/importshp19.testcase Index: test/sql_stmt_security_tests/importshp19.testcase ================================================================== --- test/sql_stmt_security_tests/importshp19.testcase +++ test/sql_stmt_security_tests/importshp19.testcase @@ -1,7 +0,0 @@ -importSHP - OK colname case - NULL statistics -:memory: #use in-memory database -SELECT ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'SAME', NULL); -1 # rows (not including the header row) -1 # columns -ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'SAME', NULL) -(NULL) DELETED test/sql_stmt_security_tests/importshp20.testcase Index: test/sql_stmt_security_tests/importshp20.testcase ================================================================== --- test/sql_stmt_security_tests/importshp20.testcase +++ test/sql_stmt_security_tests/importshp20.testcase @@ -1,7 +0,0 @@ -importSHP - OK colname case - OK statistics -:memory: #use in-memory database -SELECT ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'LOWER', 1); -1 # rows (not including the header row) -1 # columns -ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'LOWER', 1) -(NULL) DELETED test/sql_stmt_security_tests/importshp21.testcase Index: test/sql_stmt_security_tests/importshp21.testcase ================================================================== --- test/sql_stmt_security_tests/importshp21.testcase +++ test/sql_stmt_security_tests/importshp21.testcase @@ -1,7 +0,0 @@ -importSHP - OK colname case - OK statistics, NULL verbose -:memory: #use in-memory database -SELECT ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'SAME', 1, NULL); -1 # rows (not including the header row) -1 # columns -ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'SAME', 1, NULL) -(NULL) DELETED test/sql_stmt_security_tests/importshp22.testcase Index: test/sql_stmt_security_tests/importshp22.testcase ================================================================== --- test/sql_stmt_security_tests/importshp22.testcase +++ test/sql_stmt_security_tests/importshp22.testcase @@ -1,7 +0,0 @@ -importSHP - OK colname case - OK statistics, OL verbose -:memory: #use in-memory database -SELECT ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'LOWER', 1, 1); -1 # rows (not including the header row) -1 # columns -ImportSHP('shapefile', 'table', 'UTF-8', 4326, 'geom', 'id', 'POINT', 1, 1, 1, 0, 'LOWER', 1, 1) -(NULL) DELETED test/sql_stmt_security_tests/importxls1.testcase Index: test/sql_stmt_security_tests/importxls1.testcase ================================================================== --- test/sql_stmt_security_tests/importxls1.testcase +++ test/sql_stmt_security_tests/importxls1.testcase @@ -1,7 +0,0 @@ -importXLS - NULL filename -:memory: #use in-memory database -SELECT ImportXLS(NULL, 'table'); -1 # rows (not including the header row) -1 # columns -ImportXLS(NULL, 'table') -(NULL) DELETED test/sql_stmt_security_tests/importxls10.testcase Index: test/sql_stmt_security_tests/importxls10.testcase ================================================================== --- test/sql_stmt_security_tests/importxls10.testcase +++ test/sql_stmt_security_tests/importxls10.testcase @@ -1,7 +0,0 @@ -importXLS - BLOB index -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', zeroblob(4)) -(NULL) DELETED test/sql_stmt_security_tests/importxls11.testcase Index: test/sql_stmt_security_tests/importxls11.testcase ================================================================== --- test/sql_stmt_security_tests/importxls11.testcase +++ test/sql_stmt_security_tests/importxls11.testcase @@ -1,7 +0,0 @@ -importXLS - TEXT index -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', '1'); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', '1') -(NULL) DELETED test/sql_stmt_security_tests/importxls12.testcase Index: test/sql_stmt_security_tests/importxls12.testcase ================================================================== --- test/sql_stmt_security_tests/importxls12.testcase +++ test/sql_stmt_security_tests/importxls12.testcase @@ -1,7 +0,0 @@ -importXLS - DOUBLE index -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', 1.1); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', 1.1) -(NULL) DELETED test/sql_stmt_security_tests/importxls13.testcase Index: test/sql_stmt_security_tests/importxls13.testcase ================================================================== --- test/sql_stmt_security_tests/importxls13.testcase +++ test/sql_stmt_security_tests/importxls13.testcase @@ -1,7 +0,0 @@ -importXLS - NULL titles -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', 1, NULL); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', 1, NULL) -(NULL) DELETED test/sql_stmt_security_tests/importxls14.testcase Index: test/sql_stmt_security_tests/importxls14.testcase ================================================================== --- test/sql_stmt_security_tests/importxls14.testcase +++ test/sql_stmt_security_tests/importxls14.testcase @@ -1,7 +0,0 @@ -importXLS - BLOB titles -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', 1, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', 1, zeroblob(4)) -(NULL) DELETED test/sql_stmt_security_tests/importxls15.testcase Index: test/sql_stmt_security_tests/importxls15.testcase ================================================================== --- test/sql_stmt_security_tests/importxls15.testcase +++ test/sql_stmt_security_tests/importxls15.testcase @@ -1,7 +0,0 @@ -importXLS - TEXT titles -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', 1, '0'); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', 1, '0') -(NULL) DELETED test/sql_stmt_security_tests/importxls16.testcase Index: test/sql_stmt_security_tests/importxls16.testcase ================================================================== --- test/sql_stmt_security_tests/importxls16.testcase +++ test/sql_stmt_security_tests/importxls16.testcase @@ -1,7 +0,0 @@ -importXLS - DOUBLE titles -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', 1, 0.5); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', 1, 0.5) -(NULL) DELETED test/sql_stmt_security_tests/importxls17.testcase Index: test/sql_stmt_security_tests/importxls17.testcase ================================================================== --- test/sql_stmt_security_tests/importxls17.testcase +++ test/sql_stmt_security_tests/importxls17.testcase @@ -1,7 +0,0 @@ -importXLS - INT titles -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', 1, 1); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', 1, 1) -(NULL) DELETED test/sql_stmt_security_tests/importxls2.testcase Index: test/sql_stmt_security_tests/importxls2.testcase ================================================================== --- test/sql_stmt_security_tests/importxls2.testcase +++ test/sql_stmt_security_tests/importxls2.testcase @@ -1,7 +0,0 @@ -importXLS - BLOB filename -:memory: #use in-memory database -SELECT ImportXLS(zeroblob(10), 'table'); -1 # rows (not including the header row) -1 # columns -ImportXLS(zeroblob(10), 'table') -(NULL) DELETED test/sql_stmt_security_tests/importxls3.testcase Index: test/sql_stmt_security_tests/importxls3.testcase ================================================================== --- test/sql_stmt_security_tests/importxls3.testcase +++ test/sql_stmt_security_tests/importxls3.testcase @@ -1,7 +0,0 @@ -importXLS - INT filename -:memory: #use in-memory database -SELECT ImportXLS(1, 'table'); -1 # rows (not including the header row) -1 # columns -ImportXLS(1, 'table') -(NULL) DELETED test/sql_stmt_security_tests/importxls4.testcase Index: test/sql_stmt_security_tests/importxls4.testcase ================================================================== --- test/sql_stmt_security_tests/importxls4.testcase +++ test/sql_stmt_security_tests/importxls4.testcase @@ -1,7 +0,0 @@ -importXLS - DOUBLE filename -:memory: #use in-memory database -SELECT ImportXLS(1.1, 'table'); -1 # rows (not including the header row) -1 # columns -ImportXLS(1.1, 'table') -(NULL) DELETED test/sql_stmt_security_tests/importxls5.testcase Index: test/sql_stmt_security_tests/importxls5.testcase ================================================================== --- test/sql_stmt_security_tests/importxls5.testcase +++ test/sql_stmt_security_tests/importxls5.testcase @@ -1,7 +0,0 @@ -importXLS - NULL tablename -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', NULL); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', NULL) -(NULL) DELETED test/sql_stmt_security_tests/importxls6.testcase Index: test/sql_stmt_security_tests/importxls6.testcase ================================================================== --- test/sql_stmt_security_tests/importxls6.testcase +++ test/sql_stmt_security_tests/importxls6.testcase @@ -1,7 +0,0 @@ -importXLS - BLOB tablename -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', zeroblob(10)); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', zeroblob(10)) -(NULL) DELETED test/sql_stmt_security_tests/importxls7.testcase Index: test/sql_stmt_security_tests/importxls7.testcase ================================================================== --- test/sql_stmt_security_tests/importxls7.testcase +++ test/sql_stmt_security_tests/importxls7.testcase @@ -1,7 +0,0 @@ -importXLS - INT tablename -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 1); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 1) -(NULL) DELETED test/sql_stmt_security_tests/importxls8.testcase Index: test/sql_stmt_security_tests/importxls8.testcase ================================================================== --- test/sql_stmt_security_tests/importxls8.testcase +++ test/sql_stmt_security_tests/importxls8.testcase @@ -1,7 +0,0 @@ -importXLS - DOUBLE tablename -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 1.1); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 1.1) -(NULL) DELETED test/sql_stmt_security_tests/importxls9.testcase Index: test/sql_stmt_security_tests/importxls9.testcase ================================================================== --- test/sql_stmt_security_tests/importxls9.testcase +++ test/sql_stmt_security_tests/importxls9.testcase @@ -1,7 +0,0 @@ -importXLS - NULL index -:memory: #use in-memory database -SELECT ImportXLS('datasheet.xls', 'tablename', NULL); -1 # rows (not including the header row) -1 # columns -ImportXLS('datasheet.xls', 'tablename', NULL) -(NULL) DELETED test/sql_stmt_sequence_tests/Makefile Index: test/sql_stmt_sequence_tests/Makefile ================================================================== --- test/sql_stmt_sequence_tests/Makefile +++ test/sql_stmt_sequence_tests/Makefile @@ -1,459 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# test/sql_stmt_sequence_tests/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libspatialite -pkgincludedir = $(includedir)/libspatialite -pkglibdir = $(libdir)/libspatialite -pkglibexecdir = $(libexecdir)/libspatialite -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-unknown-linux-gnu -host_triplet = x86_64-unknown-linux-gnu -subdir = test/sql_stmt_sequence_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AR = ar -AS = as -AUTOCONF = autoconf -AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = dlltool -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBXML2_CFLAGS = -I/usr/include/libxml2 -LIBXML2_LIBS = -lxml2 -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = libspatialite -PACKAGE_BUGREPORT = a.furieri@lqt.it -PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 -PACKAGE_TARNAME = libspatialite -PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = /usr/local/lib/pkgconfig -RANLIB = ranlib -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -VERSION = 4.4.0-RC1 -abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_sequence_tests -abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_sequence_tests -abs_top_builddir = /home/sandro/fossil/libspatialite -abs_top_srcdir = /home/sandro/fossil/libspatialite -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-unknown-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-unknown-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/sandro/fossil/libspatialite/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -EXTRA_DIST = sequence_currval1.testcase \ - sequence_currval2.testcase \ - sequence_lastval.testcase \ - sequence_nextval1.testcase \ - sequence_nextval2.testcase \ - sequence_setval1.testcase \ - sequence_setval2.testcase \ - sequence_setval3.testcase \ - sequence_setval4.testcase \ - sequence_setval5.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_sequence_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_sequence_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_sequence_tests/Makefile.am Index: test/sql_stmt_sequence_tests/Makefile.am ================================================================== --- test/sql_stmt_sequence_tests/Makefile.am +++ test/sql_stmt_sequence_tests/Makefile.am @@ -1,12 +0,0 @@ - -EXTRA_DIST = sequence_currval1.testcase \ - sequence_currval2.testcase \ - sequence_lastval.testcase \ - sequence_nextval1.testcase \ - sequence_nextval2.testcase \ - sequence_setval1.testcase \ - sequence_setval2.testcase \ - sequence_setval3.testcase \ - sequence_setval4.testcase \ - sequence_setval5.testcase - DELETED test/sql_stmt_sequence_tests/Makefile.in Index: test/sql_stmt_sequence_tests/Makefile.in ================================================================== --- test/sql_stmt_sequence_tests/Makefile.in +++ test/sql_stmt_sequence_tests/Makefile.in @@ -1,459 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_sequence_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = sequence_currval1.testcase \ - sequence_currval2.testcase \ - sequence_lastval.testcase \ - sequence_nextval1.testcase \ - sequence_nextval2.testcase \ - sequence_setval1.testcase \ - sequence_setval2.testcase \ - sequence_setval3.testcase \ - sequence_setval4.testcase \ - sequence_setval5.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_sequence_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_sequence_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_sequence_tests/sequence_currval1.testcase Index: test/sql_stmt_sequence_tests/sequence_currval1.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_currval1.testcase +++ test/sql_stmt_sequence_tests/sequence_currval1.testcase @@ -1,7 +0,0 @@ -sequence_currval(NULL) - NULL Sequence -:memory: #use in-memory database -SELECT sequence_currval(NULL) -1 # rows (not including the header row) -1 # columns -sequence_currval(NULL) -(NULL) DELETED test/sql_stmt_sequence_tests/sequence_currval2.testcase Index: test/sql_stmt_sequence_tests/sequence_currval2.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_currval2.testcase +++ test/sql_stmt_sequence_tests/sequence_currval2.testcase @@ -1,7 +0,0 @@ -sequence_currval('name') - Named Sequence -:memory: #use in-memory database -SELECT sequence_currval('name') -1 # rows (not including the header row) -1 # columns -sequence_currval('name') -(NULL) DELETED test/sql_stmt_sequence_tests/sequence_lastval.testcase Index: test/sql_stmt_sequence_tests/sequence_lastval.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_lastval.testcase +++ test/sql_stmt_sequence_tests/sequence_lastval.testcase @@ -1,7 +0,0 @@ -sequence_lastval() -:memory: #use in-memory database -SELECT sequence_lastval() -1 # rows (not including the header row) -1 # columns -sequence_lastval() -(NULL) DELETED test/sql_stmt_sequence_tests/sequence_nextval1.testcase Index: test/sql_stmt_sequence_tests/sequence_nextval1.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_nextval1.testcase +++ test/sql_stmt_sequence_tests/sequence_nextval1.testcase @@ -1,7 +0,0 @@ -sequence_nextval(NULL) - NULL Sequence -:memory: #use in-memory database -SELECT sequence_nextval(NULL) -1 # rows (not including the header row) -1 # columns -sequence_nextval(NULL) -1 DELETED test/sql_stmt_sequence_tests/sequence_nextval2.testcase Index: test/sql_stmt_sequence_tests/sequence_nextval2.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_nextval2.testcase +++ test/sql_stmt_sequence_tests/sequence_nextval2.testcase @@ -1,7 +0,0 @@ -sequence_nextval('name') - Named Sequence -:memory: #use in-memory database -SELECT sequence_nextval('name') -1 # rows (not including the header row) -1 # columns -sequence_nextval('name') -1 DELETED test/sql_stmt_sequence_tests/sequence_setval1.testcase Index: test/sql_stmt_sequence_tests/sequence_setval1.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_setval1.testcase +++ test/sql_stmt_sequence_tests/sequence_setval1.testcase @@ -1,7 +0,0 @@ -sequence_setval(NULL, NULL) - NULL Sequence, NULL value -:memory: #use in-memory database -SELECT sequence_setval(NULL, NULL) -1 # rows (not including the header row) -1 # columns -sequence_setval(NULL, NULL) -(NULL) DELETED test/sql_stmt_sequence_tests/sequence_setval2.testcase Index: test/sql_stmt_sequence_tests/sequence_setval2.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_setval2.testcase +++ test/sql_stmt_sequence_tests/sequence_setval2.testcase @@ -1,7 +0,0 @@ -sequence_setval('name', NULL) - Named Sequence, NULL value -:memory: #use in-memory database -SELECT sequence_setval('name', NULL) -1 # rows (not including the header row) -1 # columns -sequence_setval('name', NULL) -(NULL) DELETED test/sql_stmt_sequence_tests/sequence_setval3.testcase Index: test/sql_stmt_sequence_tests/sequence_setval3.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_setval3.testcase +++ test/sql_stmt_sequence_tests/sequence_setval3.testcase @@ -1,7 +0,0 @@ -sequence_setval(NULL, 1000) - NULL Sequence, valid value -:memory: #use in-memory database -SELECT sequence_setval(NULL, 1000) -1 # rows (not including the header row) -1 # columns -sequence_setval(NULL, 1000) -1000 DELETED test/sql_stmt_sequence_tests/sequence_setval4.testcase Index: test/sql_stmt_sequence_tests/sequence_setval4.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_setval4.testcase +++ test/sql_stmt_sequence_tests/sequence_setval4.testcase @@ -1,7 +0,0 @@ -sequence_setval('name', 'a') - Named Sequence, invalid value -:memory: #use in-memory database -SELECT sequence_setval('name', 'a') -1 # rows (not including the header row) -1 # columns -sequence_setval('name', 'a') -(NULL) DELETED test/sql_stmt_sequence_tests/sequence_setval5.testcase Index: test/sql_stmt_sequence_tests/sequence_setval5.testcase ================================================================== --- test/sql_stmt_sequence_tests/sequence_setval5.testcase +++ test/sql_stmt_sequence_tests/sequence_setval5.testcase @@ -1,7 +0,0 @@ -sequence_setval('name', 100) - Named Sequence, valid value -:memory: #use in-memory database -SELECT sequence_setval('name', 100) -1 # rows (not including the header row) -1 # columns -sequence_setval('name', 100) -100 Index: test/sql_stmt_tests/Makefile.am ================================================================== --- test/sql_stmt_tests/Makefile.am +++ test/sql_stmt_tests/Makefile.am @@ -135,11 +135,10 @@ atmcreate18.testcase \ atmcreate19.testcase \ atmcreate20.testcase \ atmcreate21.testcase \ atmcreate22.testcase \ - atmcreate23.testcase \ atmcreatescale1.testcase \ atmcreatescale2.testcase \ atmcreatescale3.testcase \ atmcreatescale4.testcase \ atmcreatescale5.testcase \ @@ -163,22 +162,10 @@ atmcreateyroll2.testcase \ atmcreateyroll3.testcase \ atmcreatezroll1.testcase \ atmcreatezroll2.testcase \ atmcreatezroll3.testcase \ - atmdeterminant1.testcase \ - atmdeterminant2.testcase \ - atmdeterminant3.testcase \ - atmdeterminant4.testcase \ - atminvert1.testcase \ - atminvert2.testcase \ - atminvert3.testcase \ - atminvert4.testcase \ - atmisinvert1.testcase \ - atmisinvert2.testcase \ - atmisinvert3.testcase \ - atmisinvert4.testcase \ atmisvalid1.testcase \ atmisvalid2.testcase \ atmisvalid3.testcase \ atmisvalid4.testcase \ atmisvalid5.testcase \ @@ -455,25 +442,10 @@ clonetable11.testcase \ clonetable12.testcase \ clonetable13.testcase \ clonetable14.testcase \ clonetable15.testcase \ - createclonetable1.testcase \ - createclonetable2.testcase \ - createclonetable3.testcase \ - createclonetable4.testcase \ - createclonetable5.testcase \ - createclonetable6.testcase \ - createclonetable7.testcase \ - createclonetable8.testcase \ - createclonetable9.testcase \ - createclonetable10.testcase \ - createclonetable11.testcase \ - createclonetable12.testcase \ - createclonetable13.testcase \ - createclonetable14.testcase \ - createclonetable15.testcase \ ch_m.testcase \ cm_m.testcase \ collect10.testcase \ collect11.testcase \ collect12.testcase \ @@ -682,39 +654,23 @@ dropgeo1.testcase \ dropgeo2.testcase \ dropgeo3.testcase \ dropgeo4.testcase \ dropgeo5.testcase \ - dropgeo6.testcase \ - dropgeo7.testcase \ - dropgeo8.testcase \ - dropgeo9.testcase \ elemgeo1.testcase \ elemgeo2.testcase \ elemgeo3.testcase \ elemgeo4.testcase \ elemgeo5.testcase \ elemgeo6.testcase \ - elemgeo7.testcase \ - elemgeo8.testcase \ emptyfile.txt \ encodeurl1.testcase \ encodeurl2.testcase \ encodeurl3.testcase \ encodeurl4.testcase \ encodeurl5.testcase \ endpoint1.testcase \ - ensureclosedrings1.testcase \ - ensureclosedrings2.testcase \ - ensureclosedrings3.testcase \ - ensureclosedrings4.testcase \ - ensureclosedrings5.testcase \ - ensureclosedrings6.testcase \ - ensureclosedrings7.testcase \ - ensureclosedrings8.testcase \ - ensureclosedrings9.testcase \ - ensureclosedrings10.testcase \ envelope1.testcase \ envelope2.testcase \ envelope3.testcase \ envelope4.testcase \ envelope5.testcase \ @@ -864,57 +820,10 @@ fromgeojson5.testcase \ fromgeojson6.testcase \ fromgeojson7.testcase \ fromgeojson8.testcase \ fromgeojson9.testcase \ - fromgeojsonmix1.testcase \ - fromgeojsonmix2.testcase \ - fromgeojsonmix3.testcase \ - fromgeojsonmix4.testcase \ - fromgeojsonmix5.testcase \ - fromgeojsonmix6.testcase \ - fromgeojsonmix7.testcase \ - fromgeojsonmix8.testcase \ - fromgeojsonmix9.testcase \ - fromgeojsonpt10.testcase \ - fromgeojsonpt11.testcase \ - fromgeojsonpt12.testcase \ - fromgeojsonpt13.testcase \ - fromgeojsonpt14.testcase \ - fromgeojsonpt15.testcase \ - fromgeojsonpt16.testcase \ - fromgeojsonpt17.testcase \ - fromgeojsonpt18.testcase \ - fromgeojsonpt19.testcase \ - fromgeojsonpt1.testcase \ - fromgeojsonpt20.testcase \ - fromgeojsonpt21.testcase \ - fromgeojsonpt22.testcase \ - fromgeojsonpt23.testcase \ - fromgeojsonpt24.testcase \ - fromgeojsonpt25.testcase \ - fromgeojsonpt26.testcase \ - fromgeojsonpt27.testcase \ - fromgeojsonpt28.testcase \ - fromgeojsonpt29.testcase \ - fromgeojsonpt2.testcase \ - fromgeojsonpt30.testcase \ - fromgeojsonpt31.testcase \ - fromgeojsonpt32.testcase \ - fromgeojsonpt33.testcase \ - fromgeojsonpt34.testcase \ - fromgeojsonpt35.testcase \ - fromgeojsonpt36.testcase \ - fromgeojsonpt37.testcase \ - fromgeojsonpt38.testcase \ - fromgeojsonpt3.testcase \ - fromgeojsonpt4.testcase \ - fromgeojsonpt5.testcase \ - fromgeojsonpt6.testcase \ - fromgeojsonpt7.testcase \ - fromgeojsonpt8.testcase \ - fromgeojsonpt9.testcase \ fromgml10.testcase \ fromgml11.testcase \ fromgml12.testcase \ fromgml13.testcase \ fromgml14.testcase \ @@ -971,19 +880,10 @@ fromgml61.testcase \ fromgml6.testcase \ fromgml7.testcase \ fromgml8.testcase \ fromgml9.testcase \ - fromgmlexp1.testcase \ - fromgmlexp2.testcase \ - fromgmlexp3.testcase \ - fromgmlexp4.testcase \ - fromgmlexp5.testcase \ - fromgmlexp6.testcase \ - fromgmlexp7.testcase \ - fromgmlexp8.testcase \ - fromgmlexp9.testcase \ fromWkb10.testcase \ fromWkb11.testcase \ fromWkb12.testcase \ fromWkb13.testcase \ fromWkb14.testcase \ @@ -1006,37 +906,10 @@ fromWkb5.testcase \ fromWkb6.testcase \ fromWkb7.testcase \ fromWkb8.testcase \ fromWkb9.testcase \ - fromgeojsonexp1.testcase \ - fromgeojsonexp2.testcase \ - fromgeojsonexp3.testcase \ - fromgeojsonexp4.testcase \ - fromgeojsonexp5.testcase \ - fromgeojsonexp6.testcase \ - fromgeojsonexp7.testcase \ - fromgeojsonexp8.testcase \ - fromgeojsonexp9.testcase \ - fromwktexp1.testcase \ - fromwktexp2.testcase \ - fromwktexp3.testcase \ - fromwktexp4.testcase \ - fromwktexp5.testcase \ - fromwktexp6.testcase \ - fromwktexp7.testcase \ - fromwktexp8.testcase \ - fromwktexp9.testcase \ - fromewktexp1.testcase \ - fromewktexp2.testcase \ - fromewktexp3.testcase \ - fromewktexp4.testcase \ - fromewktexp5.testcase \ - fromewktexp6.testcase \ - fromewktexp7.testcase \ - fromewktexp8.testcase \ - fromewktexp9.testcase \ ft_m.testcase \ fullnamefrompath1.testcase \ fullnamefrompath2.testcase \ fullnamefrompath3.testcase \ fullnamefrompath4.testcase \ @@ -1164,19 +1037,10 @@ geomfromkml5.testcase \ geomfromkml6.testcase \ geomfromkml7.testcase \ geomfromkml8.testcase \ geomfromkml9.testcase \ - geomfromkmlexp1.testcase \ - geomfromkmlexp2.testcase \ - geomfromkmlexp3.testcase \ - geomfromkmlexp4.testcase \ - geomfromkmlexp5.testcase \ - geomfromkmlexp6.testcase \ - geomfromkmlexp7.testcase \ - geomfromkmlexp8.testcase \ - geomfromkmlexp9.testcase \ geomfromtext10.testcase \ geomfromtext11.testcase \ geomfromtext12.testcase \ geomfromtext13.testcase \ geomfromtext14.testcase \ @@ -1825,12 +1689,10 @@ reflectcoords7.testcase \ reflectcoords8.testcase \ reflectcoords9.testcase \ removedupl1.testcase \ removedupl2.testcase \ - removedupl3.testcase \ - removedupl4.testcase \ removepoint10.testcase \ removepoint11.testcase \ removepoint12.testcase \ removepoint13.testcase \ removepoint14.testcase \ @@ -1843,24 +1705,10 @@ removepoint5.testcase \ removepoint6.testcase \ removepoint7.testcase \ removepoint8.testcase \ removepoint9.testcase \ - repeatedpoints1.testcase \ - repeatedpoints2.testcase \ - repeatedpoints3.testcase \ - repeatedpoints4.testcase \ - repeatedpoints5.testcase \ - repeatedpoints6.testcase \ - repeatedpoints7.testcase \ - repeatedpoints8.testcase \ - repeatedpoints9.testcase \ - repeatedpoints10.testcase \ - repeatedpoints11.testcase \ - repeatedpoints12.testcase \ - repeatedpoints13.testcase \ - repeatedpoints14.testcase \ reverse1.testcase \ reverse2.testcase \ reverse3.testcase \ reverse4.testcase \ reverse5.testcase \ @@ -2350,376 +2198,6 @@ sridax2orient1.testcase \ sridax2orient2.testcase \ sridax2orient3.testcase \ sridax2orient4.testcase \ sridax2orient5.testcase \ - sridax2orient6.testcase \ - wms_defaultsetting1.testcase \ - wms_defaultsetting2.testcase \ - wms_defaultsetting3.testcase \ - wms_defaultsetting4.testcase \ - wms_defaultsetting5.testcase \ - wms_defaultsetting6.testcase \ - wms_defaultsetting7.testcase \ - wms_defaultsetting8.testcase \ - wms_defaultsetting9.testcase \ - wms_defaultsetting10.testcase \ - wms_defaultsetting11.testcase \ - wms_defaultsetting12.testcase \ - wms_defaultsetting13.testcase \ - wms_defaultsetting14.testcase \ - wms_defaultsetting15.testcase \ - wms_defaultsetting16.testcase \ - wms_defaultsetting17.testcase \ - wms_defaultsrs1.testcase \ - wms_defaultsrs2.testcase \ - wms_defaultsrs3.testcase \ - wms_defaultsrs4.testcase \ - wms_defaultsrs5.testcase \ - wms_defaultsrs6.testcase \ - wms_defaultsrs7.testcase \ - wms_defaultsrs8.testcase \ - wms_defaultsrs9.testcase \ - wms_defaultsrs10.testcase \ - wms_defaultsrs11.testcase \ - wms_defaultsrs12.testcase \ - wms_defaultsrs13.testcase \ - wms_getmapoptions1.testcase \ - wms_getmapoptions2.testcase \ - wms_getmapoptions3.testcase \ - wms_getmapoptions4.testcase \ - wms_getmapoptions5.testcase \ - wms_getmapoptions6.testcase \ - wms_getmapoptions7.testcase \ - wms_getmapoptions8.testcase \ - wms_getmapoptions9.testcase \ - wms_getmapoptions10.testcase \ - wms_getmapoptions11.testcase \ - wms_getmapoptions12.testcase \ - wms_getmapoptions13.testcase \ - wms_getmapoptions14.testcase \ - wms_getmapoptions15.testcase \ - wms_getmapoptions16.testcase \ - wms_getmapoptions17.testcase \ - wms_getmapoptions18.testcase \ - wms_getmapoptions19.testcase \ - wms_getmapoptions20.testcase \ - wms_getmapoptions21.testcase \ - wms_getmapoptions22.testcase \ - wms_getmapoptions23.testcase \ - wms_getmapoptions24.testcase \ - wms_getmapoptions25.testcase \ - wms_getmapoptions26.testcase \ - wms_getmapoptions27.testcase \ - wms_getmapoptions28.testcase \ - wms_getmapoptions29.testcase \ - wms_getmapoptions30.testcase \ - wms_getmapoptions31.testcase \ - wms_getmapoptions32.testcase \ - wms_getmapoptions33.testcase \ - wms_getmapoptions34.testcase \ - wms_getmapoptions35.testcase \ - wms_getmapoptions36.testcase \ - wms_getmapoptions37.testcase \ - wms_getmapoptions38.testcase \ - wms_getmapoptions39.testcase \ - wms_getmapoptions40.testcase \ - wms_getmapoptions41.testcase \ - wms_getmapoptions42.testcase \ - wms_getmapoptions43.testcase \ - wms_getmapoptions44.testcase \ - wms_getinfo_url1.testcase \ - wms_getinfo_url2.testcase \ - wms_getinfo_url3.testcase \ - wms_getinfo_url4.testcase \ - wms_getinfo_url5.testcase \ - wms_getinfo_url6.testcase \ - wms_getinfo_url7.testcase \ - wms_getinfo_url8.testcase \ - wms_getinfo_url9.testcase \ - wms_getinfo_url10.testcase \ - wms_getinfo_url11.testcase \ - wms_getinfo_url12.testcase \ - wms_getinfo_url13.testcase \ - wms_getinfo_url14.testcase \ - wms_getinfo_url15.testcase \ - wms_getinfo_url16.testcase \ - wms_getinfo_url17.testcase \ - wms_getinfo_url18.testcase \ - wms_getinfo_url19.testcase \ - wms_getinfo_url20.testcase \ - wms_getinfo_url21.testcase \ - wms_getinfo_url22.testcase \ - wms_getinfo_url23.testcase \ - wms_getinfo_url24.testcase \ - wms_getinfo_url25.testcase \ - wms_getinfo_url26.testcase \ - wms_getinfo_url27.testcase \ - wms_getinfo_url28.testcase \ - wms_getinfo_url29.testcase \ - wms_getinfo_url30.testcase \ - wms_getinfo_url31.testcase \ - wms_getinfo_url32.testcase \ - wms_getinfo_url33.testcase \ - wms_getinfo_url34.testcase \ - wms_getinfo_url35.testcase \ - wms_getinfo_url36.testcase \ - wms_getinfo_url37.testcase \ - wms_getinfo_url38.testcase \ - wms_getinfo_url39.testcase \ - wms_getinfo_url40.testcase \ - wms_getinfo_url41.testcase \ - wms_getinfo_url42.testcase \ - wms_getmap_url1.testcase \ - wms_getmap_url2.testcase \ - wms_getmap_url3.testcase \ - wms_getmap_url4.testcase \ - wms_getmap_url5.testcase \ - wms_getmap_url6.testcase \ - wms_getmap_url7.testcase \ - wms_getmap_url8.testcase \ - wms_getmap_url9.testcase \ - wms_getmap_url10.testcase \ - wms_getmap_url11.testcase \ - wms_getmap_url12.testcase \ - wms_getmap_url13.testcase \ - wms_getmap_url14.testcase \ - wms_getmap_url15.testcase \ - wms_getmap_url16.testcase \ - wms_getmap_url17.testcase \ - wms_getmap_url18.testcase \ - wms_getmap_url19.testcase \ - wms_getmap_url20.testcase \ - wms_getmap_url21.testcase \ - wms_getmap_url22.testcase \ - wms_getmap_url23.testcase \ - wms_getmap_url24.testcase \ - wms_getmap_url25.testcase \ - wms_getmap_url26.testcase \ - wms_getmap_url27.testcase \ - wms_getmap_url28.testcase \ - wms_getmap_url29.testcase \ - wms_getmap_url30.testcase \ - wms_registergetcapab1.testcase \ - wms_registergetcapab2.testcase \ - wms_registergetcapab3.testcase \ - wms_registergetcapab4.testcase \ - wms_registergetcapab5.testcase \ - wms_registergetcapab6.testcase \ - wms_registergetcapab7.testcase \ - wms_registergetcapab8.testcase \ - wms_registergetcapab9.testcase \ - wms_registergetcapab10.testcase \ - wms_registergetcapab11.testcase \ - wms_registergetcapab12.testcase \ - wms_registergetcapab13.testcase \ - wms_registergetmap1.testcase \ - wms_registergetmap2.testcase \ - wms_registergetmap3.testcase \ - wms_registergetmap4.testcase \ - wms_registergetmap5.testcase \ - wms_registergetmap6.testcase \ - wms_registergetmap7.testcase \ - wms_registergetmap8.testcase \ - wms_registergetmap9.testcase \ - wms_registergetmap10.testcase \ - wms_registergetmap11.testcase \ - wms_registergetmap12.testcase \ - wms_registergetmap13.testcase \ - wms_registergetmap14.testcase \ - wms_registergetmap15.testcase \ - wms_registergetmap16.testcase \ - wms_registergetmap17.testcase \ - wms_registergetmap18.testcase \ - wms_registergetmap19.testcase \ - wms_registergetmap20.testcase \ - wms_registergetmap21.testcase \ - wms_registergetmap22.testcase \ - wms_registergetmap23.testcase \ - wms_registergetmap24.testcase \ - wms_registergetmap25.testcase \ - wms_registergetmap26.testcase \ - wms_registergetmap27.testcase \ - wms_registergetmap28.testcase \ - wms_registergetmap29.testcase \ - wms_registergetmap30.testcase \ - wms_registergetmap31.testcase \ - wms_registergetmap32.testcase \ - wms_registergetmap33.testcase \ - wms_registergetmap34.testcase \ - wms_registergetmap35.testcase \ - wms_registergetmap36.testcase \ - wms_registergetmap37.testcase \ - wms_registergetmap38.testcase \ - wms_registergetmap39.testcase \ - wms_registergetmap40.testcase \ - wms_registergetmap41.testcase \ - wms_registergetmap42.testcase \ - wms_registergetmap43.testcase \ - wms_registergetmap44.testcase \ - wms_registergetmap45.testcase \ - wms_registergetmap46.testcase \ - wms_registergetmap47.testcase \ - wms_registergetmap48.testcase \ - wms_registergetmap49.testcase \ - wms_registergetmap50.testcase \ - wms_registergetmap51.testcase \ - wms_registergetmap52.testcase \ - wms_registergetmap53.testcase \ - wms_registergetmap54.testcase \ - wms_registergetmap55.testcase \ - wms_registergetmap56.testcase \ - wms_registergetmap57.testcase \ - wms_registergetmap58.testcase \ - wms_registergetmap59.testcase \ - wms_registergetmap60.testcase \ - wms_registergetmap61.testcase \ - wms_registergetmap62.testcase \ - wms_registergetmap63.testcase \ - wms_registergetmap64.testcase \ - wms_registergetmap65.testcase \ - wms_registergetmap66.testcase \ - wms_registergetmap67.testcase \ - wms_registergetmap68.testcase \ - wms_registergetmap69.testcase \ - wms_registergetmap70.testcase \ - wms_registergetmap71.testcase \ - wms_registergetmap72.testcase \ - wms_registergetmap73.testcase \ - wms_registergetmap74.testcase \ - wms_registergetmap75.testcase \ - wms_registergetmap76.testcase \ - wms_registergetmap77.testcase \ - wms_registergetmap78.testcase \ - wms_registergetmap79.testcase \ - wms_registergetmap80.testcase \ - wms_registergetmap81.testcase \ - wms_registergetmap82.testcase \ - wms_registergetmap83.testcase \ - wms_registergetmap84.testcase \ - wms_registergetmap85.testcase \ - wms_registergetmap86.testcase \ - wms_registersetting1.testcase \ - wms_registersetting2.testcase \ - wms_registersetting3.testcase \ - wms_registersetting4.testcase \ - wms_registersetting5.testcase \ - wms_registersetting6.testcase \ - wms_registersetting7.testcase \ - wms_registersetting8.testcase \ - wms_registersetting9.testcase \ - wms_registersetting10.testcase \ - wms_registersetting11.testcase \ - wms_registersetting12.testcase \ - wms_registersetting13.testcase \ - wms_registersetting14.testcase \ - wms_registersetting15.testcase \ - wms_registersetting16.testcase \ - wms_registersetting17.testcase \ - wms_registersetting18.testcase \ - wms_registersetting19.testcase \ - wms_registersetting20.testcase \ - wms_registersetting21.testcase \ - wms_registersetting22.testcase \ - wms_registersrs1.testcase \ - wms_registersrs2.testcase \ - wms_registersrs3.testcase \ - wms_registersrs4.testcase \ - wms_registersrs5.testcase \ - wms_registersrs6.testcase \ - wms_registersrs7.testcase \ - wms_registersrs8.testcase \ - wms_registersrs9.testcase \ - wms_registersrs10.testcase \ - wms_registersrs11.testcase \ - wms_registersrs12.testcase \ - wms_registersrs13.testcase \ - wms_registersrs14.testcase \ - wms_registersrs15.testcase \ - wms_registersrs16.testcase \ - wms_registersrs17.testcase \ - wms_registersrs18.testcase \ - wms_registersrs19.testcase \ - wms_registersrs20.testcase \ - wms_registersrs21.testcase \ - wms_registersrs22.testcase \ - wms_registersrs23.testcase \ - wms_registersrs24.testcase \ - wms_registersrs25.testcase \ - wms_registersrs26.testcase \ - wms_registersrs27.testcase \ - wms_registersrs28.testcase \ - wms_registersrs29.testcase \ - wms_setgetcapabinfo1.testcase \ - wms_setgetcapabinfo2.testcase \ - wms_setgetcapabinfo3.testcase \ - wms_setgetcapabinfo4.testcase \ - wms_setgetcapabinfo5.testcase \ - wms_setgetcapabinfo6.testcase \ - wms_setgetcapabinfo7.testcase \ - wms_setgetcapabinfo8.testcase \ - wms_setgetcapabinfo9.testcase \ - wms_setgetcapabinfo10.testcase \ - wms_setgetcapabinfo11.testcase \ - wms_setgetcapabinfo12.testcase \ - wms_setgetcapabinfo13.testcase \ - wms_setgetmapinfo1.testcase \ - wms_setgetmapinfo2.testcase \ - wms_setgetmapinfo3.testcase \ - wms_setgetmapinfo4.testcase \ - wms_setgetmapinfo5.testcase \ - wms_setgetmapinfo6.testcase \ - wms_setgetmapinfo7.testcase \ - wms_setgetmapinfo8.testcase \ - wms_setgetmapinfo9.testcase \ - wms_setgetmapinfo10.testcase \ - wms_setgetmapinfo11.testcase \ - wms_setgetmapinfo12.testcase \ - wms_setgetmapinfo13.testcase \ - wms_setgetmapinfo14.testcase \ - wms_setgetmapinfo15.testcase \ - wms_setgetmapinfo16.testcase \ - wms_setgetmapinfo17.testcase \ - wms_unregistergetcapab1.testcase \ - wms_unregistergetcapab2.testcase \ - wms_unregistergetcapab3.testcase \ - wms_unregistergetcapab4.testcase \ - wms_unregistergetcapab5.testcase \ - wms_unregistergetmap1.testcase \ - wms_unregistergetmap2.testcase \ - wms_unregistergetmap3.testcase \ - wms_unregistergetmap4.testcase \ - wms_unregistergetmap5.testcase \ - wms_unregistergetmap6.testcase \ - wms_unregistergetmap7.testcase \ - wms_unregistergetmap8.testcase \ - wms_unregistergetmap9.testcase \ - wms_unregistersetting1.testcase \ - wms_unregistersetting2.testcase \ - wms_unregistersetting3.testcase \ - wms_unregistersetting4.testcase \ - wms_unregistersetting5.testcase \ - wms_unregistersetting6.testcase \ - wms_unregistersetting7.testcase \ - wms_unregistersetting8.testcase \ - wms_unregistersetting9.testcase \ - wms_unregistersetting10.testcase \ - wms_unregistersetting11.testcase \ - wms_unregistersetting12.testcase \ - wms_unregistersetting13.testcase \ - wms_unregistersetting14.testcase \ - wms_unregistersetting15.testcase \ - wms_unregistersetting16.testcase \ - wms_unregistersetting17.testcase \ - wms_unregistersrs1.testcase \ - wms_unregistersrs2.testcase \ - wms_unregistersrs3.testcase \ - wms_unregistersrs4.testcase \ - wms_unregistersrs5.testcase \ - wms_unregistersrs6.testcase \ - wms_unregistersrs7.testcase \ - wms_unregistersrs8.testcase \ - wms_unregistersrs9.testcase \ - wms_unregistersrs10.testcase \ - wms_unregistersrs11.testcase \ - wms_unregistersrs12.testcase \ - wms_unregistersrs13.testcase + sridax2orient6.testcase Index: test/sql_stmt_tests/Makefile.in ================================================================== --- test/sql_stmt_tests/Makefile.in +++ test/sql_stmt_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -387,11 +376,10 @@ atmcreate18.testcase \ atmcreate19.testcase \ atmcreate20.testcase \ atmcreate21.testcase \ atmcreate22.testcase \ - atmcreate23.testcase \ atmcreatescale1.testcase \ atmcreatescale2.testcase \ atmcreatescale3.testcase \ atmcreatescale4.testcase \ atmcreatescale5.testcase \ @@ -415,22 +403,10 @@ atmcreateyroll2.testcase \ atmcreateyroll3.testcase \ atmcreatezroll1.testcase \ atmcreatezroll2.testcase \ atmcreatezroll3.testcase \ - atmdeterminant1.testcase \ - atmdeterminant2.testcase \ - atmdeterminant3.testcase \ - atmdeterminant4.testcase \ - atminvert1.testcase \ - atminvert2.testcase \ - atminvert3.testcase \ - atminvert4.testcase \ - atmisinvert1.testcase \ - atmisinvert2.testcase \ - atmisinvert3.testcase \ - atmisinvert4.testcase \ atmisvalid1.testcase \ atmisvalid2.testcase \ atmisvalid3.testcase \ atmisvalid4.testcase \ atmisvalid5.testcase \ @@ -707,25 +683,10 @@ clonetable11.testcase \ clonetable12.testcase \ clonetable13.testcase \ clonetable14.testcase \ clonetable15.testcase \ - createclonetable1.testcase \ - createclonetable2.testcase \ - createclonetable3.testcase \ - createclonetable4.testcase \ - createclonetable5.testcase \ - createclonetable6.testcase \ - createclonetable7.testcase \ - createclonetable8.testcase \ - createclonetable9.testcase \ - createclonetable10.testcase \ - createclonetable11.testcase \ - createclonetable12.testcase \ - createclonetable13.testcase \ - createclonetable14.testcase \ - createclonetable15.testcase \ ch_m.testcase \ cm_m.testcase \ collect10.testcase \ collect11.testcase \ collect12.testcase \ @@ -934,39 +895,23 @@ dropgeo1.testcase \ dropgeo2.testcase \ dropgeo3.testcase \ dropgeo4.testcase \ dropgeo5.testcase \ - dropgeo6.testcase \ - dropgeo7.testcase \ - dropgeo8.testcase \ - dropgeo9.testcase \ elemgeo1.testcase \ elemgeo2.testcase \ elemgeo3.testcase \ elemgeo4.testcase \ elemgeo5.testcase \ elemgeo6.testcase \ - elemgeo7.testcase \ - elemgeo8.testcase \ emptyfile.txt \ encodeurl1.testcase \ encodeurl2.testcase \ encodeurl3.testcase \ encodeurl4.testcase \ encodeurl5.testcase \ endpoint1.testcase \ - ensureclosedrings1.testcase \ - ensureclosedrings2.testcase \ - ensureclosedrings3.testcase \ - ensureclosedrings4.testcase \ - ensureclosedrings5.testcase \ - ensureclosedrings6.testcase \ - ensureclosedrings7.testcase \ - ensureclosedrings8.testcase \ - ensureclosedrings9.testcase \ - ensureclosedrings10.testcase \ envelope1.testcase \ envelope2.testcase \ envelope3.testcase \ envelope4.testcase \ envelope5.testcase \ @@ -1116,57 +1061,10 @@ fromgeojson5.testcase \ fromgeojson6.testcase \ fromgeojson7.testcase \ fromgeojson8.testcase \ fromgeojson9.testcase \ - fromgeojsonmix1.testcase \ - fromgeojsonmix2.testcase \ - fromgeojsonmix3.testcase \ - fromgeojsonmix4.testcase \ - fromgeojsonmix5.testcase \ - fromgeojsonmix6.testcase \ - fromgeojsonmix7.testcase \ - fromgeojsonmix8.testcase \ - fromgeojsonmix9.testcase \ - fromgeojsonpt10.testcase \ - fromgeojsonpt11.testcase \ - fromgeojsonpt12.testcase \ - fromgeojsonpt13.testcase \ - fromgeojsonpt14.testcase \ - fromgeojsonpt15.testcase \ - fromgeojsonpt16.testcase \ - fromgeojsonpt17.testcase \ - fromgeojsonpt18.testcase \ - fromgeojsonpt19.testcase \ - fromgeojsonpt1.testcase \ - fromgeojsonpt20.testcase \ - fromgeojsonpt21.testcase \ - fromgeojsonpt22.testcase \ - fromgeojsonpt23.testcase \ - fromgeojsonpt24.testcase \ - fromgeojsonpt25.testcase \ - fromgeojsonpt26.testcase \ - fromgeojsonpt27.testcase \ - fromgeojsonpt28.testcase \ - fromgeojsonpt29.testcase \ - fromgeojsonpt2.testcase \ - fromgeojsonpt30.testcase \ - fromgeojsonpt31.testcase \ - fromgeojsonpt32.testcase \ - fromgeojsonpt33.testcase \ - fromgeojsonpt34.testcase \ - fromgeojsonpt35.testcase \ - fromgeojsonpt36.testcase \ - fromgeojsonpt37.testcase \ - fromgeojsonpt38.testcase \ - fromgeojsonpt3.testcase \ - fromgeojsonpt4.testcase \ - fromgeojsonpt5.testcase \ - fromgeojsonpt6.testcase \ - fromgeojsonpt7.testcase \ - fromgeojsonpt8.testcase \ - fromgeojsonpt9.testcase \ fromgml10.testcase \ fromgml11.testcase \ fromgml12.testcase \ fromgml13.testcase \ fromgml14.testcase \ @@ -1223,19 +1121,10 @@ fromgml61.testcase \ fromgml6.testcase \ fromgml7.testcase \ fromgml8.testcase \ fromgml9.testcase \ - fromgmlexp1.testcase \ - fromgmlexp2.testcase \ - fromgmlexp3.testcase \ - fromgmlexp4.testcase \ - fromgmlexp5.testcase \ - fromgmlexp6.testcase \ - fromgmlexp7.testcase \ - fromgmlexp8.testcase \ - fromgmlexp9.testcase \ fromWkb10.testcase \ fromWkb11.testcase \ fromWkb12.testcase \ fromWkb13.testcase \ fromWkb14.testcase \ @@ -1258,37 +1147,10 @@ fromWkb5.testcase \ fromWkb6.testcase \ fromWkb7.testcase \ fromWkb8.testcase \ fromWkb9.testcase \ - fromgeojsonexp1.testcase \ - fromgeojsonexp2.testcase \ - fromgeojsonexp3.testcase \ - fromgeojsonexp4.testcase \ - fromgeojsonexp5.testcase \ - fromgeojsonexp6.testcase \ - fromgeojsonexp7.testcase \ - fromgeojsonexp8.testcase \ - fromgeojsonexp9.testcase \ - fromwktexp1.testcase \ - fromwktexp2.testcase \ - fromwktexp3.testcase \ - fromwktexp4.testcase \ - fromwktexp5.testcase \ - fromwktexp6.testcase \ - fromwktexp7.testcase \ - fromwktexp8.testcase \ - fromwktexp9.testcase \ - fromewktexp1.testcase \ - fromewktexp2.testcase \ - fromewktexp3.testcase \ - fromewktexp4.testcase \ - fromewktexp5.testcase \ - fromewktexp6.testcase \ - fromewktexp7.testcase \ - fromewktexp8.testcase \ - fromewktexp9.testcase \ ft_m.testcase \ fullnamefrompath1.testcase \ fullnamefrompath2.testcase \ fullnamefrompath3.testcase \ fullnamefrompath4.testcase \ @@ -1416,19 +1278,10 @@ geomfromkml5.testcase \ geomfromkml6.testcase \ geomfromkml7.testcase \ geomfromkml8.testcase \ geomfromkml9.testcase \ - geomfromkmlexp1.testcase \ - geomfromkmlexp2.testcase \ - geomfromkmlexp3.testcase \ - geomfromkmlexp4.testcase \ - geomfromkmlexp5.testcase \ - geomfromkmlexp6.testcase \ - geomfromkmlexp7.testcase \ - geomfromkmlexp8.testcase \ - geomfromkmlexp9.testcase \ geomfromtext10.testcase \ geomfromtext11.testcase \ geomfromtext12.testcase \ geomfromtext13.testcase \ geomfromtext14.testcase \ @@ -2077,12 +1930,10 @@ reflectcoords7.testcase \ reflectcoords8.testcase \ reflectcoords9.testcase \ removedupl1.testcase \ removedupl2.testcase \ - removedupl3.testcase \ - removedupl4.testcase \ removepoint10.testcase \ removepoint11.testcase \ removepoint12.testcase \ removepoint13.testcase \ removepoint14.testcase \ @@ -2095,24 +1946,10 @@ removepoint5.testcase \ removepoint6.testcase \ removepoint7.testcase \ removepoint8.testcase \ removepoint9.testcase \ - repeatedpoints1.testcase \ - repeatedpoints2.testcase \ - repeatedpoints3.testcase \ - repeatedpoints4.testcase \ - repeatedpoints5.testcase \ - repeatedpoints6.testcase \ - repeatedpoints7.testcase \ - repeatedpoints8.testcase \ - repeatedpoints9.testcase \ - repeatedpoints10.testcase \ - repeatedpoints11.testcase \ - repeatedpoints12.testcase \ - repeatedpoints13.testcase \ - repeatedpoints14.testcase \ reverse1.testcase \ reverse2.testcase \ reverse3.testcase \ reverse4.testcase \ reverse5.testcase \ @@ -2602,381 +2439,11 @@ sridax2orient1.testcase \ sridax2orient2.testcase \ sridax2orient3.testcase \ sridax2orient4.testcase \ sridax2orient5.testcase \ - sridax2orient6.testcase \ - wms_defaultsetting1.testcase \ - wms_defaultsetting2.testcase \ - wms_defaultsetting3.testcase \ - wms_defaultsetting4.testcase \ - wms_defaultsetting5.testcase \ - wms_defaultsetting6.testcase \ - wms_defaultsetting7.testcase \ - wms_defaultsetting8.testcase \ - wms_defaultsetting9.testcase \ - wms_defaultsetting10.testcase \ - wms_defaultsetting11.testcase \ - wms_defaultsetting12.testcase \ - wms_defaultsetting13.testcase \ - wms_defaultsetting14.testcase \ - wms_defaultsetting15.testcase \ - wms_defaultsetting16.testcase \ - wms_defaultsetting17.testcase \ - wms_defaultsrs1.testcase \ - wms_defaultsrs2.testcase \ - wms_defaultsrs3.testcase \ - wms_defaultsrs4.testcase \ - wms_defaultsrs5.testcase \ - wms_defaultsrs6.testcase \ - wms_defaultsrs7.testcase \ - wms_defaultsrs8.testcase \ - wms_defaultsrs9.testcase \ - wms_defaultsrs10.testcase \ - wms_defaultsrs11.testcase \ - wms_defaultsrs12.testcase \ - wms_defaultsrs13.testcase \ - wms_getmapoptions1.testcase \ - wms_getmapoptions2.testcase \ - wms_getmapoptions3.testcase \ - wms_getmapoptions4.testcase \ - wms_getmapoptions5.testcase \ - wms_getmapoptions6.testcase \ - wms_getmapoptions7.testcase \ - wms_getmapoptions8.testcase \ - wms_getmapoptions9.testcase \ - wms_getmapoptions10.testcase \ - wms_getmapoptions11.testcase \ - wms_getmapoptions12.testcase \ - wms_getmapoptions13.testcase \ - wms_getmapoptions14.testcase \ - wms_getmapoptions15.testcase \ - wms_getmapoptions16.testcase \ - wms_getmapoptions17.testcase \ - wms_getmapoptions18.testcase \ - wms_getmapoptions19.testcase \ - wms_getmapoptions20.testcase \ - wms_getmapoptions21.testcase \ - wms_getmapoptions22.testcase \ - wms_getmapoptions23.testcase \ - wms_getmapoptions24.testcase \ - wms_getmapoptions25.testcase \ - wms_getmapoptions26.testcase \ - wms_getmapoptions27.testcase \ - wms_getmapoptions28.testcase \ - wms_getmapoptions29.testcase \ - wms_getmapoptions30.testcase \ - wms_getmapoptions31.testcase \ - wms_getmapoptions32.testcase \ - wms_getmapoptions33.testcase \ - wms_getmapoptions34.testcase \ - wms_getmapoptions35.testcase \ - wms_getmapoptions36.testcase \ - wms_getmapoptions37.testcase \ - wms_getmapoptions38.testcase \ - wms_getmapoptions39.testcase \ - wms_getmapoptions40.testcase \ - wms_getmapoptions41.testcase \ - wms_getmapoptions42.testcase \ - wms_getmapoptions43.testcase \ - wms_getmapoptions44.testcase \ - wms_getinfo_url1.testcase \ - wms_getinfo_url2.testcase \ - wms_getinfo_url3.testcase \ - wms_getinfo_url4.testcase \ - wms_getinfo_url5.testcase \ - wms_getinfo_url6.testcase \ - wms_getinfo_url7.testcase \ - wms_getinfo_url8.testcase \ - wms_getinfo_url9.testcase \ - wms_getinfo_url10.testcase \ - wms_getinfo_url11.testcase \ - wms_getinfo_url12.testcase \ - wms_getinfo_url13.testcase \ - wms_getinfo_url14.testcase \ - wms_getinfo_url15.testcase \ - wms_getinfo_url16.testcase \ - wms_getinfo_url17.testcase \ - wms_getinfo_url18.testcase \ - wms_getinfo_url19.testcase \ - wms_getinfo_url20.testcase \ - wms_getinfo_url21.testcase \ - wms_getinfo_url22.testcase \ - wms_getinfo_url23.testcase \ - wms_getinfo_url24.testcase \ - wms_getinfo_url25.testcase \ - wms_getinfo_url26.testcase \ - wms_getinfo_url27.testcase \ - wms_getinfo_url28.testcase \ - wms_getinfo_url29.testcase \ - wms_getinfo_url30.testcase \ - wms_getinfo_url31.testcase \ - wms_getinfo_url32.testcase \ - wms_getinfo_url33.testcase \ - wms_getinfo_url34.testcase \ - wms_getinfo_url35.testcase \ - wms_getinfo_url36.testcase \ - wms_getinfo_url37.testcase \ - wms_getinfo_url38.testcase \ - wms_getinfo_url39.testcase \ - wms_getinfo_url40.testcase \ - wms_getinfo_url41.testcase \ - wms_getinfo_url42.testcase \ - wms_getmap_url1.testcase \ - wms_getmap_url2.testcase \ - wms_getmap_url3.testcase \ - wms_getmap_url4.testcase \ - wms_getmap_url5.testcase \ - wms_getmap_url6.testcase \ - wms_getmap_url7.testcase \ - wms_getmap_url8.testcase \ - wms_getmap_url9.testcase \ - wms_getmap_url10.testcase \ - wms_getmap_url11.testcase \ - wms_getmap_url12.testcase \ - wms_getmap_url13.testcase \ - wms_getmap_url14.testcase \ - wms_getmap_url15.testcase \ - wms_getmap_url16.testcase \ - wms_getmap_url17.testcase \ - wms_getmap_url18.testcase \ - wms_getmap_url19.testcase \ - wms_getmap_url20.testcase \ - wms_getmap_url21.testcase \ - wms_getmap_url22.testcase \ - wms_getmap_url23.testcase \ - wms_getmap_url24.testcase \ - wms_getmap_url25.testcase \ - wms_getmap_url26.testcase \ - wms_getmap_url27.testcase \ - wms_getmap_url28.testcase \ - wms_getmap_url29.testcase \ - wms_getmap_url30.testcase \ - wms_registergetcapab1.testcase \ - wms_registergetcapab2.testcase \ - wms_registergetcapab3.testcase \ - wms_registergetcapab4.testcase \ - wms_registergetcapab5.testcase \ - wms_registergetcapab6.testcase \ - wms_registergetcapab7.testcase \ - wms_registergetcapab8.testcase \ - wms_registergetcapab9.testcase \ - wms_registergetcapab10.testcase \ - wms_registergetcapab11.testcase \ - wms_registergetcapab12.testcase \ - wms_registergetcapab13.testcase \ - wms_registergetmap1.testcase \ - wms_registergetmap2.testcase \ - wms_registergetmap3.testcase \ - wms_registergetmap4.testcase \ - wms_registergetmap5.testcase \ - wms_registergetmap6.testcase \ - wms_registergetmap7.testcase \ - wms_registergetmap8.testcase \ - wms_registergetmap9.testcase \ - wms_registergetmap10.testcase \ - wms_registergetmap11.testcase \ - wms_registergetmap12.testcase \ - wms_registergetmap13.testcase \ - wms_registergetmap14.testcase \ - wms_registergetmap15.testcase \ - wms_registergetmap16.testcase \ - wms_registergetmap17.testcase \ - wms_registergetmap18.testcase \ - wms_registergetmap19.testcase \ - wms_registergetmap20.testcase \ - wms_registergetmap21.testcase \ - wms_registergetmap22.testcase \ - wms_registergetmap23.testcase \ - wms_registergetmap24.testcase \ - wms_registergetmap25.testcase \ - wms_registergetmap26.testcase \ - wms_registergetmap27.testcase \ - wms_registergetmap28.testcase \ - wms_registergetmap29.testcase \ - wms_registergetmap30.testcase \ - wms_registergetmap31.testcase \ - wms_registergetmap32.testcase \ - wms_registergetmap33.testcase \ - wms_registergetmap34.testcase \ - wms_registergetmap35.testcase \ - wms_registergetmap36.testcase \ - wms_registergetmap37.testcase \ - wms_registergetmap38.testcase \ - wms_registergetmap39.testcase \ - wms_registergetmap40.testcase \ - wms_registergetmap41.testcase \ - wms_registergetmap42.testcase \ - wms_registergetmap43.testcase \ - wms_registergetmap44.testcase \ - wms_registergetmap45.testcase \ - wms_registergetmap46.testcase \ - wms_registergetmap47.testcase \ - wms_registergetmap48.testcase \ - wms_registergetmap49.testcase \ - wms_registergetmap50.testcase \ - wms_registergetmap51.testcase \ - wms_registergetmap52.testcase \ - wms_registergetmap53.testcase \ - wms_registergetmap54.testcase \ - wms_registergetmap55.testcase \ - wms_registergetmap56.testcase \ - wms_registergetmap57.testcase \ - wms_registergetmap58.testcase \ - wms_registergetmap59.testcase \ - wms_registergetmap60.testcase \ - wms_registergetmap61.testcase \ - wms_registergetmap62.testcase \ - wms_registergetmap63.testcase \ - wms_registergetmap64.testcase \ - wms_registergetmap65.testcase \ - wms_registergetmap66.testcase \ - wms_registergetmap67.testcase \ - wms_registergetmap68.testcase \ - wms_registergetmap69.testcase \ - wms_registergetmap70.testcase \ - wms_registergetmap71.testcase \ - wms_registergetmap72.testcase \ - wms_registergetmap73.testcase \ - wms_registergetmap74.testcase \ - wms_registergetmap75.testcase \ - wms_registergetmap76.testcase \ - wms_registergetmap77.testcase \ - wms_registergetmap78.testcase \ - wms_registergetmap79.testcase \ - wms_registergetmap80.testcase \ - wms_registergetmap81.testcase \ - wms_registergetmap82.testcase \ - wms_registergetmap83.testcase \ - wms_registergetmap84.testcase \ - wms_registergetmap85.testcase \ - wms_registergetmap86.testcase \ - wms_registersetting1.testcase \ - wms_registersetting2.testcase \ - wms_registersetting3.testcase \ - wms_registersetting4.testcase \ - wms_registersetting5.testcase \ - wms_registersetting6.testcase \ - wms_registersetting7.testcase \ - wms_registersetting8.testcase \ - wms_registersetting9.testcase \ - wms_registersetting10.testcase \ - wms_registersetting11.testcase \ - wms_registersetting12.testcase \ - wms_registersetting13.testcase \ - wms_registersetting14.testcase \ - wms_registersetting15.testcase \ - wms_registersetting16.testcase \ - wms_registersetting17.testcase \ - wms_registersetting18.testcase \ - wms_registersetting19.testcase \ - wms_registersetting20.testcase \ - wms_registersetting21.testcase \ - wms_registersetting22.testcase \ - wms_registersrs1.testcase \ - wms_registersrs2.testcase \ - wms_registersrs3.testcase \ - wms_registersrs4.testcase \ - wms_registersrs5.testcase \ - wms_registersrs6.testcase \ - wms_registersrs7.testcase \ - wms_registersrs8.testcase \ - wms_registersrs9.testcase \ - wms_registersrs10.testcase \ - wms_registersrs11.testcase \ - wms_registersrs12.testcase \ - wms_registersrs13.testcase \ - wms_registersrs14.testcase \ - wms_registersrs15.testcase \ - wms_registersrs16.testcase \ - wms_registersrs17.testcase \ - wms_registersrs18.testcase \ - wms_registersrs19.testcase \ - wms_registersrs20.testcase \ - wms_registersrs21.testcase \ - wms_registersrs22.testcase \ - wms_registersrs23.testcase \ - wms_registersrs24.testcase \ - wms_registersrs25.testcase \ - wms_registersrs26.testcase \ - wms_registersrs27.testcase \ - wms_registersrs28.testcase \ - wms_registersrs29.testcase \ - wms_setgetcapabinfo1.testcase \ - wms_setgetcapabinfo2.testcase \ - wms_setgetcapabinfo3.testcase \ - wms_setgetcapabinfo4.testcase \ - wms_setgetcapabinfo5.testcase \ - wms_setgetcapabinfo6.testcase \ - wms_setgetcapabinfo7.testcase \ - wms_setgetcapabinfo8.testcase \ - wms_setgetcapabinfo9.testcase \ - wms_setgetcapabinfo10.testcase \ - wms_setgetcapabinfo11.testcase \ - wms_setgetcapabinfo12.testcase \ - wms_setgetcapabinfo13.testcase \ - wms_setgetmapinfo1.testcase \ - wms_setgetmapinfo2.testcase \ - wms_setgetmapinfo3.testcase \ - wms_setgetmapinfo4.testcase \ - wms_setgetmapinfo5.testcase \ - wms_setgetmapinfo6.testcase \ - wms_setgetmapinfo7.testcase \ - wms_setgetmapinfo8.testcase \ - wms_setgetmapinfo9.testcase \ - wms_setgetmapinfo10.testcase \ - wms_setgetmapinfo11.testcase \ - wms_setgetmapinfo12.testcase \ - wms_setgetmapinfo13.testcase \ - wms_setgetmapinfo14.testcase \ - wms_setgetmapinfo15.testcase \ - wms_setgetmapinfo16.testcase \ - wms_setgetmapinfo17.testcase \ - wms_unregistergetcapab1.testcase \ - wms_unregistergetcapab2.testcase \ - wms_unregistergetcapab3.testcase \ - wms_unregistergetcapab4.testcase \ - wms_unregistergetcapab5.testcase \ - wms_unregistergetmap1.testcase \ - wms_unregistergetmap2.testcase \ - wms_unregistergetmap3.testcase \ - wms_unregistergetmap4.testcase \ - wms_unregistergetmap5.testcase \ - wms_unregistergetmap6.testcase \ - wms_unregistergetmap7.testcase \ - wms_unregistergetmap8.testcase \ - wms_unregistergetmap9.testcase \ - wms_unregistersetting1.testcase \ - wms_unregistersetting2.testcase \ - wms_unregistersetting3.testcase \ - wms_unregistersetting4.testcase \ - wms_unregistersetting5.testcase \ - wms_unregistersetting6.testcase \ - wms_unregistersetting7.testcase \ - wms_unregistersetting8.testcase \ - wms_unregistersetting9.testcase \ - wms_unregistersetting10.testcase \ - wms_unregistersetting11.testcase \ - wms_unregistersetting12.testcase \ - wms_unregistersetting13.testcase \ - wms_unregistersetting14.testcase \ - wms_unregistersetting15.testcase \ - wms_unregistersetting16.testcase \ - wms_unregistersetting17.testcase \ - wms_unregistersrs1.testcase \ - wms_unregistersrs2.testcase \ - wms_unregistersrs3.testcase \ - wms_unregistersrs4.testcase \ - wms_unregistersrs5.testcase \ - wms_unregistersrs6.testcase \ - wms_unregistersrs7.testcase \ - wms_unregistersrs8.testcase \ - wms_unregistersrs9.testcase \ - wms_unregistersrs10.testcase \ - wms_unregistersrs11.testcase \ - wms_unregistersrs12.testcase \ - wms_unregistersrs13.testcase + sridax2orient6.testcase all: all-am .SUFFIXES: $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) @@ -2989,10 +2456,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -3163,11 +2631,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: DELETED test/sql_stmt_tests/atmcreate23.testcase Index: test/sql_stmt_tests/atmcreate23.testcase ================================================================== --- test/sql_stmt_tests/atmcreate23.testcase +++ test/sql_stmt_tests/atmcreate23.testcase @@ -1,7 +0,0 @@ -ATM_Create() - invalid 12th arg -:memory: #use in-memory database -SELECT ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 'a') -1 # rows (not including the header row) -1 # columns -ATM_Create(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 'a') -(NULL) DELETED test/sql_stmt_tests/atmdeterminant1.testcase Index: test/sql_stmt_tests/atmdeterminant1.testcase ================================================================== --- test/sql_stmt_tests/atmdeterminant1.testcase +++ test/sql_stmt_tests/atmdeterminant1.testcase @@ -1,7 +0,0 @@ -ATM_Determinant() - NULL arg -:memory: #use in-memory database -SELECT ATM_Determinant(NULL) -1 # rows (not including the header row) -1 # columns -ATM_Determinant(NULL) -0.0 DELETED test/sql_stmt_tests/atmdeterminant2.testcase Index: test/sql_stmt_tests/atmdeterminant2.testcase ================================================================== --- test/sql_stmt_tests/atmdeterminant2.testcase +++ test/sql_stmt_tests/atmdeterminant2.testcase @@ -1,7 +0,0 @@ -ATM_Determinant() - invalid BLOB -:memory: #use in-memory database -SELECT ATM_Determinant(zeroblob(4)) -1 # rows (not including the header row) -1 # columns -ATM_Determinant(zeroblob(4)) -0.0 DELETED test/sql_stmt_tests/atmdeterminant3.testcase Index: test/sql_stmt_tests/atmdeterminant3.testcase ================================================================== --- test/sql_stmt_tests/atmdeterminant3.testcase +++ test/sql_stmt_tests/atmdeterminant3.testcase @@ -1,7 +0,0 @@ -ATM_Determinant() - invertible -:memory: #use in-memory database -SELECT ATM_Determinant(ATM_CreateScale(2,2,2)) -1 # rows (not including the header row) -1 # columns -ATM_Determinant(ATM_CreateScale(2,2,2)) -8.0 DELETED test/sql_stmt_tests/atmdeterminant4.testcase Index: test/sql_stmt_tests/atmdeterminant4.testcase ================================================================== --- test/sql_stmt_tests/atmdeterminant4.testcase +++ test/sql_stmt_tests/atmdeterminant4.testcase @@ -1,7 +0,0 @@ -ATM_Determinant() - not invertible -:memory: #use in-memory database -SELECT ATM_Determinant(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12)) -1 # rows (not including the header row) -1 # columns -ATM_Determinant(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12)) -0.0 DELETED test/sql_stmt_tests/atminvert1.testcase Index: test/sql_stmt_tests/atminvert1.testcase ================================================================== --- test/sql_stmt_tests/atminvert1.testcase +++ test/sql_stmt_tests/atminvert1.testcase @@ -1,7 +0,0 @@ -ATM_Invert() - NULL arg -:memory: #use in-memory database -SELECT ATM_Invert(NULL) -1 # rows (not including the header row) -1 # columns -ATM_Invert(NULL) -(NULL) DELETED test/sql_stmt_tests/atminvert2.testcase Index: test/sql_stmt_tests/atminvert2.testcase ================================================================== --- test/sql_stmt_tests/atminvert2.testcase +++ test/sql_stmt_tests/atminvert2.testcase @@ -1,7 +0,0 @@ -ATM_Invert() - invalid BLOB -:memory: #use in-memory database -SELECT ATM_Invert(zeroblob(4)) -1 # rows (not including the header row) -1 # columns -ATM_Invert(zeroblob(4)) -(NULL) DELETED test/sql_stmt_tests/atminvert3.testcase Index: test/sql_stmt_tests/atminvert3.testcase ================================================================== --- test/sql_stmt_tests/atminvert3.testcase +++ test/sql_stmt_tests/atminvert3.testcase @@ -1,7 +0,0 @@ -ATM_Invert() - invertible -:memory: #use in-memory database -SELECT ATM_IsValid(ATM_Invert(ATM_CreateScale(2,2,2))) -1 # rows (not including the header row) -1 # columns -ATM_IsValid(ATM_Invert(ATM_CreateScale(2,2,2))) -1 DELETED test/sql_stmt_tests/atminvert4.testcase Index: test/sql_stmt_tests/atminvert4.testcase ================================================================== --- test/sql_stmt_tests/atminvert4.testcase +++ test/sql_stmt_tests/atminvert4.testcase @@ -1,7 +0,0 @@ -ATM_Invert() - not invertible -:memory: #use in-memory database -SELECT ATM_Invert(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12)) -1 # rows (not including the header row) -1 # columns -ATM_Invert(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12)) -(NULL) DELETED test/sql_stmt_tests/atmisinvert1.testcase Index: test/sql_stmt_tests/atmisinvert1.testcase ================================================================== --- test/sql_stmt_tests/atmisinvert1.testcase +++ test/sql_stmt_tests/atmisinvert1.testcase @@ -1,7 +0,0 @@ -ATM_IsInvertible() - NULL arg -:memory: #use in-memory database -SELECT ATM_IsInvertible(NULL) -1 # rows (not including the header row) -1 # columns -ATM_IsInvertible(NULL) --1 DELETED test/sql_stmt_tests/atmisinvert2.testcase Index: test/sql_stmt_tests/atmisinvert2.testcase ================================================================== --- test/sql_stmt_tests/atmisinvert2.testcase +++ test/sql_stmt_tests/atmisinvert2.testcase @@ -1,7 +0,0 @@ -ATM_IsInvertible() - invalid BLOB -:memory: #use in-memory database -SELECT ATM_IsInvertible(zeroblob(4)) -1 # rows (not including the header row) -1 # columns -ATM_IsInvertible(zeroblob(4)) -0 DELETED test/sql_stmt_tests/atmisinvert3.testcase Index: test/sql_stmt_tests/atmisinvert3.testcase ================================================================== --- test/sql_stmt_tests/atmisinvert3.testcase +++ test/sql_stmt_tests/atmisinvert3.testcase @@ -1,7 +0,0 @@ -ATM_IsInvertible() - invertible -:memory: #use in-memory database -SELECT ATM_IsInvertible(ATM_CreateScale(2,2,2)) -1 # rows (not including the header row) -1 # columns -ATM_IsInvertible(ATM_CreateScale(2,2,2)) -1 DELETED test/sql_stmt_tests/atmisinvert4.testcase Index: test/sql_stmt_tests/atmisinvert4.testcase ================================================================== --- test/sql_stmt_tests/atmisinvert4.testcase +++ test/sql_stmt_tests/atmisinvert4.testcase @@ -1,7 +0,0 @@ -ATM_IsInvertible() - not invertible -:memory: #use in-memory database -SELECT ATM_IsInvertible(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12)) -1 # rows (not including the header row) -1 # columns -ATM_IsInvertible(ATM_Create(1,2,3,4,5,6,7,8,9,10,11,12)) -0 Index: test/sql_stmt_tests/atmscale1.testcase ================================================================== --- test/sql_stmt_tests/atmscale1.testcase +++ test/sql_stmt_tests/atmscale1.testcase @@ -1,7 +1,7 @@ ATM_Scale() - valid (int) :memory: #use in-memory database -SELECT Hex(ATM_Scale(ATM_Create(), 1, 2)) +SELECT Hex(ATM_Scale(1, 2, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_Scale(ATM_Create(), 1, 2)) +Hex(ATM_Scale(1, 2, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmscale10.testcase ================================================================== --- test/sql_stmt_tests/atmscale10.testcase +++ test/sql_stmt_tests/atmscale10.testcase @@ -1,7 +1,7 @@ ATM_Scale() - invalid blob :memory: #use in-memory database -SELECT ATM_Scale(zeroblob(5), 1.0, 2.0) +SELECT ATM_Scale(1.0, 2.0, zeroblob(5)) 1 # rows (not including the header row) 1 # columns -ATM_Scale(zeroblob(5), 1.0, 2.0) +ATM_Scale(1.0, 2.0, zeroblob(5)) (NULL) Index: test/sql_stmt_tests/atmscale11.testcase ================================================================== --- test/sql_stmt_tests/atmscale11.testcase +++ test/sql_stmt_tests/atmscale11.testcase @@ -1,7 +1,7 @@ ATM_Scale() - 3rd invalid blob :memory: #use in-memory database -SELECT ATM_Scale(zeroblob(5), 1.0, 2.0, 3.0) +SELECT ATM_Scale(1.0, 2.0, 3.0, zeroblob(5)) 1 # rows (not including the header row) 1 # columns -ATM_Scale(zeroblob(5), 1.0, 2.0, 3.0) +ATM_Scale(1.0, 2.0, 3.0, zeroblob(5)) (NULL) Index: test/sql_stmt_tests/atmscale12.testcase ================================================================== --- test/sql_stmt_tests/atmscale12.testcase +++ test/sql_stmt_tests/atmscale12.testcase @@ -1,7 +1,7 @@ ATM_Scale() - invalid matrix :memory: #use in-memory database -SELECT ATM_Scale('a', 1.0, 2.0) +SELECT ATM_Scale(1.0, 2.0, 'a') 1 # rows (not including the header row) 1 # columns -ATM_Scale('a', 1.0, 2.0) +ATM_Scale(1.0, 2.0, 'a') (NULL) Index: test/sql_stmt_tests/atmscale13.testcase ================================================================== --- test/sql_stmt_tests/atmscale13.testcase +++ test/sql_stmt_tests/atmscale13.testcase @@ -1,7 +1,7 @@ ATM_Scale() - 3rd invalid matrix :memory: #use in-memory database -SELECT ATM_Scale('a', 1.0, 2.0, 3.0) +SELECT ATM_Scale(1.0, 2.0, 3.0, 'a') 1 # rows (not including the header row) 1 # columns -ATM_Scale('a', 1.0, 2.0, 3.0) +ATM_Scale(1.0, 2.0, 3.0, 'a') (NULL) Index: test/sql_stmt_tests/atmscale2.testcase ================================================================== --- test/sql_stmt_tests/atmscale2.testcase +++ test/sql_stmt_tests/atmscale2.testcase @@ -1,7 +1,7 @@ ATM_Scale() - valid (double) :memory: #use in-memory database -SELECT Hex(ATM_Scale(ATM_Create(), 1.0, 2.0)) +SELECT Hex(ATM_Scale(1.0, 2.0, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_Scale(ATM_Create(), 1.0, 2.0)) +Hex(ATM_Scale(1.0, 2.0, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmscale3.testcase ================================================================== --- test/sql_stmt_tests/atmscale3.testcase +++ test/sql_stmt_tests/atmscale3.testcase @@ -1,7 +1,7 @@ ATM_Scale() - invalid 1st arg :memory: #use in-memory database -SELECT ATM_Scale(ATM_Create(), 'a', 2.0) +SELECT ATM_Scale('a', 2.0, ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Scale(ATM_Create(), 'a', 2.0) +ATM_Scale('a', 2.0, ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmscale4.testcase ================================================================== --- test/sql_stmt_tests/atmscale4.testcase +++ test/sql_stmt_tests/atmscale4.testcase @@ -1,7 +1,7 @@ ATM_Scale() - invalid 2st arg :memory: #use in-memory database -SELECT ATM_Scale(ATM_Create(), 1.0, 'a') +SELECT ATM_Scale(1.0, 'a', ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Scale(ATM_Create(), 1.0, 'a') +ATM_Scale(1.0, 'a', ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmscale5.testcase ================================================================== --- test/sql_stmt_tests/atmscale5.testcase +++ test/sql_stmt_tests/atmscale5.testcase @@ -1,7 +1,7 @@ ATM_Scale() - valid 3d (int) :memory: #use in-memory database -SELECT Hex(ATM_Scale(ATM_Create(), 1, 2, 3)) +SELECT Hex(ATM_Scale(1, 2, 3, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_Scale(ATM_Create(), 1, 2, 3)) +Hex(ATM_Scale(1, 2, 3, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000008403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmscale6.testcase ================================================================== --- test/sql_stmt_tests/atmscale6.testcase +++ test/sql_stmt_tests/atmscale6.testcase @@ -1,7 +1,7 @@ ATM_Scale() - valid 3d (double) :memory: #use in-memory database -SELECT Hex(ATM_Scale(ATM_Create(), 1.0, 2.0, 3.0)) +SELECT Hex(ATM_Scale(1.0, 2.0, 3.0, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_Scale(ATM_Create(), 1.0, 2.0, 3.0)) +Hex(ATM_Scale(1.0, 2.0, 3.0, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000000403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A00000000000008403A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmscale7.testcase ================================================================== --- test/sql_stmt_tests/atmscale7.testcase +++ test/sql_stmt_tests/atmscale7.testcase @@ -1,7 +1,7 @@ ATM_Scale() - 3d invalid 1st arg :memory: #use in-memory database -SELECT ATM_Scale(ATM_Create(), 'a', 2.0, 3.0) +SELECT ATM_Scale('a', 2.0, 3.0, ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Scale(ATM_Create(), 'a', 2.0, 3.0) +ATM_Scale('a', 2.0, 3.0, ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmscale8.testcase ================================================================== --- test/sql_stmt_tests/atmscale8.testcase +++ test/sql_stmt_tests/atmscale8.testcase @@ -1,7 +1,7 @@ ATM_Scale() - 3d invalid 2nd arg :memory: #use in-memory database -SELECT ATM_Scale(ATM_Create(), 1.0, 'a', 3.0) +SELECT ATM_Scale(1.0, 'a', 3.0, ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Scale(ATM_Create(), 1.0, 'a', 3.0) +ATM_Scale(1.0, 'a', 3.0, ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmscale9.testcase ================================================================== --- test/sql_stmt_tests/atmscale9.testcase +++ test/sql_stmt_tests/atmscale9.testcase @@ -1,7 +1,7 @@ ATM_Scale() - 3rd invalid 3nd arg :memory: #use in-memory database -SELECT ATM_Scale(ATM_Create(), 1.0, 2.0, 'a') +SELECT ATM_Scale(1.0, 2.0, 'a', ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Scale(ATM_Create(), 1.0, 2.0, 'a') +ATM_Scale(1.0, 2.0, 'a', ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmtrans1.testcase ================================================================== --- test/sql_stmt_tests/atmtrans1.testcase +++ test/sql_stmt_tests/atmtrans1.testcase @@ -1,7 +1,7 @@ ATM_Translate() - valid 2d (int) :memory: #use in-memory database -SELECT Hex(ATM_Translate(ATM_Create(), 1, 2)) +SELECT Hex(ATM_Translate(1, 2, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_Translate(ATM_Create(), 1, 2)) +Hex(ATM_Translate(1, 2, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmtrans10.testcase ================================================================== --- test/sql_stmt_tests/atmtrans10.testcase +++ test/sql_stmt_tests/atmtrans10.testcase @@ -1,7 +1,7 @@ ATM_Translate() - invalid blob :memory: #use in-memory database -SELECT ATM_Translate(zeroblob(10), 1.0, 2.0) +SELECT ATM_Translate(1.0, 2.0, zeroblob(10)) 1 # rows (not including the header row) 1 # columns -ATM_Translate(zeroblob(10), 1.0, 2.0) +ATM_Translate(1.0, 2.0, zeroblob(10)) (NULL) Index: test/sql_stmt_tests/atmtrans11.testcase ================================================================== --- test/sql_stmt_tests/atmtrans11.testcase +++ test/sql_stmt_tests/atmtrans11.testcase @@ -1,7 +1,7 @@ ATM_Translate() - 3d invalid 3rd arg :memory: #use in-memory database -SELECT ATM_Translate(zeroblob(10), 1.0, 2.0, 3.0) +SELECT ATM_Translate(1.0, 2.0, 3.0, zeroblob(10)) 1 # rows (not including the header row) 1 # columns -ATM_Translate(zeroblob(10), 1.0, 2.0, 3.0) +ATM_Translate(1.0, 2.0, 3.0, zeroblob(10)) (NULL) Index: test/sql_stmt_tests/atmtrans12.testcase ================================================================== --- test/sql_stmt_tests/atmtrans12.testcase +++ test/sql_stmt_tests/atmtrans12.testcase @@ -1,7 +1,7 @@ ATM_Translate() - invalid matrix :memory: #use in-memory database -SELECT ATM_Translate(1, 1.0, 2.0) +SELECT ATM_Translate(1.0, 2.0, 1) 1 # rows (not including the header row) 1 # columns -ATM_Translate(1, 1.0, 2.0) +ATM_Translate(1.0, 2.0, 1) (NULL) Index: test/sql_stmt_tests/atmtrans13.testcase ================================================================== --- test/sql_stmt_tests/atmtrans13.testcase +++ test/sql_stmt_tests/atmtrans13.testcase @@ -1,7 +1,7 @@ ATM_Translate() - 3d invalid matrix :memory: #use in-memory database -SELECT ATM_Translate(1, 1.0, 2.0, 3.0) +SELECT ATM_Translate(1.0, 2.0, 3.0, 1) 1 # rows (not including the header row) 1 # columns -ATM_Translate(1, 1.0, 2.0, 3.0) +ATM_Translate(1.0, 2.0, 3.0, 1) (NULL) Index: test/sql_stmt_tests/atmtrans2.testcase ================================================================== --- test/sql_stmt_tests/atmtrans2.testcase +++ test/sql_stmt_tests/atmtrans2.testcase @@ -1,7 +1,7 @@ ATM_Translate() - valid 2d (double) :memory: #use in-memory database -SELECT Hex(ATM_Translate(ATM_Create(), 1.0, 2.0)) +SELECT Hex(ATM_Translate(1.0, 2.0, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_Translate(ATM_Create(), 1.0, 2.0)) +Hex(ATM_Translate(1.0, 2.0, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmtrans3.testcase ================================================================== --- test/sql_stmt_tests/atmtrans3.testcase +++ test/sql_stmt_tests/atmtrans3.testcase @@ -1,7 +1,7 @@ ATM_Translate() - 2d invalid 1st arg :memory: #use in-memory database -SELECT ATM_Translate(ATM_Create(), 'a', 2.0) +SELECT ATM_Translate('a', 2.0, ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Translate(ATM_Create(), 'a', 2.0) +ATM_Translate('a', 2.0, ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmtrans4.testcase ================================================================== --- test/sql_stmt_tests/atmtrans4.testcase +++ test/sql_stmt_tests/atmtrans4.testcase @@ -1,7 +1,7 @@ ATM_Translate() - 2d invalid 2nd arg :memory: #use in-memory database -SELECT ATM_Translate(ATM_Create(), 1.0, 'a') +SELECT ATM_Translate(1.0, 'a', ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Translate(ATM_Create(), 1.0, 'a') +ATM_Translate(1.0, 'a', ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmtrans5.testcase ================================================================== --- test/sql_stmt_tests/atmtrans5.testcase +++ test/sql_stmt_tests/atmtrans5.testcase @@ -1,7 +1,7 @@ ATM_Translate() - valid 3d (int) :memory: #use in-memory database -SELECT Hex(ATM_Translate(ATM_Create(), 1, 2, 3)) +SELECT Hex(ATM_Translate(1, 2, 3, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_Translate(ATM_Create(), 1, 2, 3)) +Hex(ATM_Translate(1, 2, 3, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000008403A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmtrans6.testcase ================================================================== --- test/sql_stmt_tests/atmtrans6.testcase +++ test/sql_stmt_tests/atmtrans6.testcase @@ -1,7 +1,7 @@ ATM_Translate() - valid 3d (double) :memory: #use in-memory database -SELECT Hex(ATM_Translate(ATM_Create(), 1.0, 2.0, 3.0)) +SELECT Hex(ATM_Translate(1.0, 2.0, 3.0, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_Translate(ATM_Create(), 1.0, 2.0, 3.0)) +Hex(ATM_Translate(1.0, 2.0, 3.0, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A000000000000F03F3A00000000000000003A00000000000000403A00000000000000003A00000000000000003A000000000000F03F3A00000000000008403A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmtrans7.testcase ================================================================== --- test/sql_stmt_tests/atmtrans7.testcase +++ test/sql_stmt_tests/atmtrans7.testcase @@ -1,7 +1,7 @@ ATM_Translate() - 3d invalid 1st arg :memory: #use in-memory database -SELECT ATM_Translate(ATM_Create(), 'a', 2.0, 3.0) +SELECT ATM_Translate('a', 2.0, 3.0, ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Translate(ATM_Create(), 'a', 2.0, 3.0) +ATM_Translate('a', 2.0, 3.0, ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmtrans8.testcase ================================================================== --- test/sql_stmt_tests/atmtrans8.testcase +++ test/sql_stmt_tests/atmtrans8.testcase @@ -1,7 +1,7 @@ ATM_Translate() - 3d invalid 2nd arg :memory: #use in-memory database -SELECT ATM_Translate(ATM_Create(), 1.0, 'a', 3.0) +SELECT ATM_Translate(1.0, 'a', 3.0, ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Translate(ATM_Create(), 1.0, 'a', 3.0) +ATM_Translate(1.0, 'a', 3.0, ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmtrans9.testcase ================================================================== --- test/sql_stmt_tests/atmtrans9.testcase +++ test/sql_stmt_tests/atmtrans9.testcase @@ -1,7 +1,7 @@ ATM_Translate() - 3d invalid 3rd arg :memory: #use in-memory database -SELECT ATM_Translate(ATM_Create(), 1.0, 2.0, 'a') +SELECT ATM_Translate(1.0, 2.0, 'a', ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_Translate(ATM_Create(), 1.0, 2.0, 'a') +ATM_Translate(1.0, 2.0, 'a', ATM_Create()) (NULL) DELETED test/sql_stmt_tests/atmtransform10.testcase Index: test/sql_stmt_tests/atmtransform10.testcase ================================================================== --- test/sql_stmt_tests/atmtransform10.testcase +++ test/sql_stmt_tests/atmtransform10.testcase @@ -1,7 +0,0 @@ -ATM_Transform() - invalid Srid -:memory: #use in-memory database -SELECT AsEWKT(ATM_Transform(GeomFromText('POINT(0 0)', 32632), ATM_Create(), 32633.0)); -1 # rows (not including the header row) -1 # columns -AsEWKT(ATM_Transform(GeomFromText('POINT(0 0)', 32632), ATM_Create(), 32633.0)); -(NULL) DELETED test/sql_stmt_tests/atmtransform9.testcase Index: test/sql_stmt_tests/atmtransform9.testcase ================================================================== --- test/sql_stmt_tests/atmtransform9.testcase +++ test/sql_stmt_tests/atmtransform9.testcase @@ -1,7 +0,0 @@ -ATM_Transform() - 4326 Srid -:memory: #use in-memory database -SELECT AsEWKT(ATM_Transform(GeomFromText('POINT(0 0)', 32632), ATM_Create(), 32633)); -1 # rows (not including the header row) -1 # columns -AsEWKT(ATM_Transform(GeomFromText('POINT(0 0)', 32632), ATM_Create(), 32633)); -SRID=32633;POINT(0 0) Index: test/sql_stmt_tests/atmxroll1.testcase ================================================================== --- test/sql_stmt_tests/atmxroll1.testcase +++ test/sql_stmt_tests/atmxroll1.testcase @@ -1,7 +1,7 @@ ATM_XRoll() - invalid angle :memory: #use in-memory database -SELECT ATM_XRoll(ATM_Create(), 'a') +SELECT ATM_XRoll('a', ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_XRoll(ATM_Create(), 'a') +ATM_XRoll('a', ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmxroll2.testcase ================================================================== --- test/sql_stmt_tests/atmxroll2.testcase +++ test/sql_stmt_tests/atmxroll2.testcase @@ -1,7 +1,7 @@ ATM_XRoll() - valid int :memory: #use in-memory database -SELECT Hex(ATM_XRoll(ATM_Create(), 15)) +SELECT Hex(ATM_XRoll(15, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_XRoll(ATM_Create(), 15)) +Hex(ATM_XRoll(15, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A15BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmxroll3.testcase ================================================================== --- test/sql_stmt_tests/atmxroll3.testcase +++ test/sql_stmt_tests/atmxroll3.testcase @@ -1,7 +1,7 @@ ATM_XRoll() - valid double :memory: #use in-memory database -SELECT Hex(ATM_XRoll(ATM_Create(), 15.0)) +SELECT Hex(ATM_XRoll(15.0, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_XRoll(ATM_Create(), 15.0)) +Hex(ATM_XRoll(15.0, ATM_Create())) 0001000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A15BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmxroll4.testcase ================================================================== --- test/sql_stmt_tests/atmxroll4.testcase +++ test/sql_stmt_tests/atmxroll4.testcase @@ -1,7 +1,7 @@ ATM_XRoll() - invalid blob :memory: #use in-memory database -SELECT ATM_XRoll(zeroblob(4), 15) +SELECT ATM_XRoll(15, zeroblob(4)) 1 # rows (not including the header row) 1 # columns -ATM_XRoll(zeroblob(4), 15) +ATM_XRoll(15, zeroblob(4)) (NULL) Index: test/sql_stmt_tests/atmxroll5.testcase ================================================================== --- test/sql_stmt_tests/atmxroll5.testcase +++ test/sql_stmt_tests/atmxroll5.testcase @@ -1,7 +1,7 @@ -ATM_XRoll() - invalid 1st arg +ATM_XRoll() - invalid 2nd arg :memory: #use in-memory database -SELECT ATM_XRoll('a', 15) +SELECT ATM_XRoll(15, 'a') 1 # rows (not including the header row) 1 # columns -ATM_XRoll('a', 15) +ATM_XRoll(15, 'a') (NULL) Index: test/sql_stmt_tests/atmyroll1.testcase ================================================================== --- test/sql_stmt_tests/atmyroll1.testcase +++ test/sql_stmt_tests/atmyroll1.testcase @@ -1,7 +1,7 @@ ATM_YRoll() - invalid angle :memory: #use in-memory database -SELECT ATM_YRoll(ATM_Create(), 'a') +SELECT ATM_YRoll('a', ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_YRoll(ATM_Create(), 'a') +ATM_YRoll('a', ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmyroll2.testcase ================================================================== --- test/sql_stmt_tests/atmyroll2.testcase +++ test/sql_stmt_tests/atmyroll2.testcase @@ -1,7 +1,7 @@ ATM_YRoll() - valid int :memory: #use in-memory database -SELECT Hex(ATM_YRoll(ATM_Create(), 15)) +SELECT Hex(ATM_YRoll(15, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_YRoll(ATM_Create(), 15)) +Hex(ATM_YRoll(15, ATM_Create())) 000115BF4847DDE8EE3F3A00000000000000003A900693C17D90D03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A900693C17D90D0BF3A00000000000000003A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmyroll3.testcase ================================================================== --- test/sql_stmt_tests/atmyroll3.testcase +++ test/sql_stmt_tests/atmyroll3.testcase @@ -1,7 +1,7 @@ ATM_YRoll() - valid double :memory: #use in-memory database -SELECT Hex(ATM_YRoll(ATM_Create(), 15.0)) +SELECT Hex(ATM_YRoll(15.0, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_YRoll(ATM_Create(), 15.0)) +Hex(ATM_YRoll(15.0, ATM_Create())) 000115BF4847DDE8EE3F3A00000000000000003A900693C17D90D03F3A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A900693C17D90D0BF3A00000000000000003A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmyroll4.testcase ================================================================== --- test/sql_stmt_tests/atmyroll4.testcase +++ test/sql_stmt_tests/atmyroll4.testcase @@ -1,7 +1,7 @@ ATM_YRoll() - invalid blob :memory: #use in-memory database -SELECT ATM_YRoll(zeroblob(4), 15) +SELECT ATM_YRoll(15, zeroblob(4)) 1 # rows (not including the header row) 1 # columns -ATM_YRoll(zeroblob(4), 15) +ATM_YRoll(15, zeroblob(4)) (NULL) Index: test/sql_stmt_tests/atmyroll5.testcase ================================================================== --- test/sql_stmt_tests/atmyroll5.testcase +++ test/sql_stmt_tests/atmyroll5.testcase @@ -1,7 +1,7 @@ -ATM_YRoll() - invalid 1st arg +ATM_YRoll() - invalid 2nd arg :memory: #use in-memory database -SELECT ATM_YRoll('a', 15) +SELECT ATM_YRoll(15, 'a') 1 # rows (not including the header row) 1 # columns -ATM_YRoll('a', 15) +ATM_YRoll(15, 'a') (NULL) Index: test/sql_stmt_tests/atmzroll1.testcase ================================================================== --- test/sql_stmt_tests/atmzroll1.testcase +++ test/sql_stmt_tests/atmzroll1.testcase @@ -1,7 +1,7 @@ ATM_ZRoll() - invalid angle :memory: #use in-memory database -SELECT ATM_ZRoll(ATM_Create(), 'a') +SELECT ATM_ZRoll('a', ATM_Create()) 1 # rows (not including the header row) 1 # columns -ATM_ZRoll(ATM_Create(), 'a') +ATM_ZRoll('a', ATM_Create()) (NULL) Index: test/sql_stmt_tests/atmzroll2.testcase ================================================================== --- test/sql_stmt_tests/atmzroll2.testcase +++ test/sql_stmt_tests/atmzroll2.testcase @@ -1,7 +1,7 @@ ATM_ZRoll() - valid int :memory: #use in-memory database -SELECT Hex(ATM_ZRoll(ATM_Create(), 15)) +SELECT Hex(ATM_ZRoll(15, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_ZRoll(ATM_Create(), 15)) +Hex(ATM_ZRoll(15, ATM_Create())) 000115BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmzroll3.testcase ================================================================== --- test/sql_stmt_tests/atmzroll3.testcase +++ test/sql_stmt_tests/atmzroll3.testcase @@ -1,7 +1,7 @@ ATM_ZRoll() - valid double :memory: #use in-memory database -SELECT Hex(ATM_ZRoll(ATM_Create(), 15.0)) +SELECT Hex(ATM_ZRoll(15.0, ATM_Create())) 1 # rows (not including the header row) 1 # columns -Hex(ATM_ZRoll(ATM_Create(), 15.0)) +Hex(ATM_ZRoll(15.0, ATM_Create())) 000115BF4847DDE8EE3F3A900693C17D90D0BF3A00000000000000003A00000000000000003A900693C17D90D03F3A15BF4847DDE8EE3F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03F3A00000000000000003A00000000000000003A00000000000000003A00000000000000003A000000000000F03FB3 Index: test/sql_stmt_tests/atmzroll4.testcase ================================================================== --- test/sql_stmt_tests/atmzroll4.testcase +++ test/sql_stmt_tests/atmzroll4.testcase @@ -1,7 +1,7 @@ ATM_ZRoll() - invalid blob :memory: #use in-memory database -SELECT ATM_ZRoll(zeroblob(4), 15) +SELECT ATM_ZRoll(15, zeroblob(4)) 1 # rows (not including the header row) 1 # columns -ATM_ZRoll(zeroblob(4), 15) +ATM_ZRoll(15, zeroblob(4)) (NULL) Index: test/sql_stmt_tests/atmzroll5.testcase ================================================================== --- test/sql_stmt_tests/atmzroll5.testcase +++ test/sql_stmt_tests/atmzroll5.testcase @@ -1,7 +1,7 @@ -ATM_ZRoll() - invalid 1st arg +ATM_ZRoll() - invalid 2nd arg :memory: #use in-memory database -SELECT ATM_ZRoll('a', 15) +SELECT ATM_ZRoll(15, 'a') 1 # rows (not including the header row) 1 # columns -ATM_ZRoll('a', 15) +ATM_ZRoll(15, 'a') (NULL) Index: test/sql_stmt_tests/collect10.testcase ================================================================== --- test/sql_stmt_tests/collect10.testcase +++ test/sql_stmt_tests/collect10.testcase @@ -2,7 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POINT(1 2)"), GeomFromText("POINTM(4 5 3.2)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POINT(1 2)"), GeomFromText("POINTM(4 5 3.2)"))) -MULTIPOINT(1 2, 4 5) +MULTIPOINT M(1 2 0, 4 5 3.2) Index: test/sql_stmt_tests/collect11.testcase ================================================================== --- test/sql_stmt_tests/collect11.testcase +++ test/sql_stmt_tests/collect11.testcase @@ -2,7 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POINT(1 2)"), GeomFromText("POINTZM(4 5 3.2 6)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POINT(1 2)"), GeomFromText("POINTZM(4 5 3.2 6)"))) -MULTIPOINT(1 2, 4 5) +MULTIPOINT ZM(1 2 0 0, 4 5 3.2 6) Index: test/sql_stmt_tests/collect13.testcase ================================================================== --- test/sql_stmt_tests/collect13.testcase +++ test/sql_stmt_tests/collect13.testcase @@ -2,7 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POINTZ(4 5 3.2)"), GeomFromText("POINTM(1 2 6)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POINTZ(4 5 3.2)"), GeomFromText("POINTM(1 2 6)"))) -MULTIPOINT Z(4 5 3.2, 1 2 0) +MULTIPOINT ZM(4 5 3.2 0, 1 2 0 6) Index: test/sql_stmt_tests/collect14.testcase ================================================================== --- test/sql_stmt_tests/collect14.testcase +++ test/sql_stmt_tests/collect14.testcase @@ -2,7 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POINTZ(4 5 3.2)"), GeomFromText("POINTZM(1 2 6 4)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POINTZ(4 5 3.2)"), GeomFromText("POINTZM(1 2 6 4)"))) -MULTIPOINT Z(4 5 3.2, 1 2 6) +MULTIPOINT ZM(4 5 3.2 0, 1 2 6 4) Index: test/sql_stmt_tests/collect15.testcase ================================================================== --- test/sql_stmt_tests/collect15.testcase +++ test/sql_stmt_tests/collect15.testcase @@ -2,7 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POINTM(4 5 3.2)"), GeomFromText("POINTZM(1 2 6 4)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POINTM(4 5 3.2)"), GeomFromText("POINTZM(1 2 6 4)"))) -MULTIPOINT M(4 5 3.2, 1 2 4) +MULTIPOINT ZM(4 5 0 3.2, 1 2 6 4) Index: test/sql_stmt_tests/collect17.testcase ================================================================== --- test/sql_stmt_tests/collect17.testcase +++ test/sql_stmt_tests/collect17.testcase @@ -2,7 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POINTM(4 5 3.2)"), GeomFromText("POINTZ(1 2 6)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POINTM(4 5 3.2)"), GeomFromText("POINTZ(1 2 6)"))) -MULTIPOINT M(4 5 3.2, 1 2 0) +MULTIPOINT ZM(4 5 0 3.2, 1 2 6 0) Index: test/sql_stmt_tests/collect24.testcase ================================================================== --- test/sql_stmt_tests/collect24.testcase +++ test/sql_stmt_tests/collect24.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("Linestring(1 2, 3 4)"), GeomFromText("LINESTRINGZM(4 5 3.2 6, 1 2 4.6 8, 4 2 3.1 9)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("Linestring(1 2, 3 4)"), GeomFromText("LINESTRINGZM(4 5 3.2 6, 1 2 4.6 8, 4 2 3.1 9)"))) -MULTILINESTRING((1 2, 3 4), (4 5, 1 2, 4 2)) +MULTILINESTRING ZM((1 2 0 0, 3 4 0 0), (4 5 3.2 6, 1 2 4.6 8, 4 2 3.1 9)) + Index: test/sql_stmt_tests/collect25.testcase ================================================================== --- test/sql_stmt_tests/collect25.testcase +++ test/sql_stmt_tests/collect25.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("Linestring(1 2, 3 4)"), GeomFromText("LINESTRINGZ(4 5 3.2, 1 2 4.6, 4 2 3.1)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("Linestring(1 2, 3 4)"), GeomFromText("LINESTRINGZ(4 5 3.2, 1 2 4.6, 4 2 3.1)"))) -MULTILINESTRING((1 2, 3 4), (4 5, 1 2, 4 2)) +MULTILINESTRING Z((1 2 0, 3 4 0), (4 5 3.2, 1 2 4.6, 4 2 3.1)) + Index: test/sql_stmt_tests/collect26.testcase ================================================================== --- test/sql_stmt_tests/collect26.testcase +++ test/sql_stmt_tests/collect26.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("Linestring(1 2, 3 4)"), GeomFromText("LINESTRINGM(4 5 3.2, 1 2 4.6, 4 2 3.1)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("Linestring(1 2, 3 4)"), GeomFromText("LINESTRINGM(4 5 3.2, 1 2 4.6, 4 2 3.1)"))) -MULTILINESTRING((1 2, 3 4), (4 5, 1 2, 4 2)) +MULTILINESTRING M((1 2 0, 3 4 0), (4 5 3.2, 1 2 4.6, 4 2 3.1)) + Index: test/sql_stmt_tests/collect28.testcase ================================================================== --- test/sql_stmt_tests/collect28.testcase +++ test/sql_stmt_tests/collect28.testcase @@ -3,5 +3,6 @@ SELECT AsText(COLLECT(GeomFromText("LINESTRINGZ(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGZ(4 5 3.2, 1 2 4.6, 4 2 3.1)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("LINESTRINGZ(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGZ(4 5 3.2, 1 2 4.6, 4 2 3.1)"))) MULTILINESTRING Z((1 2 4, 3 4 2), (4 5 3.2, 1 2 4.6, 4 2 3.1)) + Index: test/sql_stmt_tests/collect29.testcase ================================================================== --- test/sql_stmt_tests/collect29.testcase +++ test/sql_stmt_tests/collect29.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("LINESTRINGZ(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGZM(4 5 3.2 1, 1 2 4.6 2, 4 2 3.1 3)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("LINESTRINGZ(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGZM(4 5 3.2 1, 1 2 4.6 2, 4 2 3.1 3)"))) -MULTILINESTRING Z((1 2 4, 3 4 2), (4 5 3.2, 1 2 4.6, 4 2 3.1)) +MULTILINESTRING ZM((1 2 4 0, 3 4 2 0), (4 5 3.2 1, 1 2 4.6 2, 4 2 3.1 3)) + Index: test/sql_stmt_tests/collect30.testcase ================================================================== --- test/sql_stmt_tests/collect30.testcase +++ test/sql_stmt_tests/collect30.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("LINESTRINGZ(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGM(4 5 1, 1 2 2, 4 2 3)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("LINESTRINGZ(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGM(4 5 1, 1 2 2, 4 2 3)"))) -MULTILINESTRING Z((1 2 4, 3 4 2), (4 5 0, 1 2 0, 4 2 0)) +MULTILINESTRING ZM((1 2 4 0, 3 4 2 0), (4 5 0 1, 1 2 0 2, 4 2 0 3)) + Index: test/sql_stmt_tests/collect34.testcase ================================================================== --- test/sql_stmt_tests/collect34.testcase +++ test/sql_stmt_tests/collect34.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("LINESTRINGM(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGZM(4 5 3.2 1, 1 2 4.6 2, 4 2 3.1 3)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("LINESTRINGM(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGZM(4 5 3.2 1, 1 2 4.6 2, 4 2 3.1 3)"))) -MULTILINESTRING M((1 2 4, 3 4 2), (4 5 1, 1 2 2, 4 2 3)) +MULTILINESTRING ZM((1 2 0 4, 3 4 0 2), (4 5 3.2 1, 1 2 4.6 2, 4 2 3.1 3)) + Index: test/sql_stmt_tests/collect35.testcase ================================================================== --- test/sql_stmt_tests/collect35.testcase +++ test/sql_stmt_tests/collect35.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("LINESTRINGM(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGZ(4 5 3.2, 1 2 4.6, 4 2 3.1)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("LINESTRINGM(1 2 4, 3 4 2)"), GeomFromText("LINESTRINGZ(4 5 3.2, 1 2 4.6, 4 2 3.1)"))) -MULTILINESTRING M((1 2 4, 3 4 2), (4 5 0, 1 2 0, 4 2 0)) +MULTILINESTRING ZM((1 2 0 4, 3 4 0 2), (4 5 3.2 0, 1 2 4.6 0, 4 2 3.1 0)) + Index: test/sql_stmt_tests/collect41.testcase ================================================================== --- test/sql_stmt_tests/collect41.testcase +++ test/sql_stmt_tests/collect41.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POLYGONZ((1 2 4, 3 4 2, 3 2 3, 1 2 4),(1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4))"), GeomFromText("POLYGONZM((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4),(2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POLYGONZ((1 2 4, 3 4 2, 3 2 3, 1 2 4),(1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4))"), GeomFromText("POLYGONZM((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4),(2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))"))); -MULTIPOLYGON Z(((1 2 4, 3 4 2, 3 2 3, 1 2 4), (1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4)), ((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2), (2 3 4, 3 4 1, 3 3 1, 2 3 4))) +MULTIPOLYGON ZM(((1 2 4 0, 3 4 2 0, 3 2 3 0, 1 2 4 0), (1.5 2.5 4 0, 2.5 3.5 3 0, 2.5 2.3 3 0, 1.5 2.5 4 0)), ((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4), (2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))) + Index: test/sql_stmt_tests/collect42.testcase ================================================================== --- test/sql_stmt_tests/collect42.testcase +++ test/sql_stmt_tests/collect42.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POLYGONZ((1 2 4, 3 4 2, 3 2 3, 1 2 4),(1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4))"), GeomFromText("POLYGONM((4 5 4, 1 2 5, 4 2 3, 4 5 4),(2 3 1, 3 4 2, 3 3 3, 2 3 1))"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POLYGONZ((1 2 4, 3 4 2, 3 2 3, 1 2 4),(1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4))"), GeomFromText("POLYGONM((4 5 4, 1 2 5, 4 2 3, 4 5 4),(2 3 1, 3 4 2, 3 3 3, 2 3 1))"))) -MULTIPOLYGON Z(((1 2 4, 3 4 2, 3 2 3, 1 2 4), (1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4)), ((4 5 0, 1 2 0, 4 2 0, 4 5 0), (2 3 0, 3 4 0, 3 3 0, 2 3 0))) +MULTIPOLYGON ZM(((1 2 4 0, 3 4 2 0, 3 2 3 0, 1 2 4 0), (1.5 2.5 4 0, 2.5 3.5 3 0, 2.5 2.3 3 0, 1.5 2.5 4 0)), ((4 5 0 4, 1 2 0 5, 4 2 0 3, 4 5 0 4), (2 3 0 1, 3 4 0 2, 3 3 0 3, 2 3 0 1))) + Index: test/sql_stmt_tests/collect44.testcase ================================================================== --- test/sql_stmt_tests/collect44.testcase +++ test/sql_stmt_tests/collect44.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POLYGON((1 2, 3 4, 3 2, 1 2),(1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5))"), GeomFromText("POLYGONZM((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4),(2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POLYGON((1 2, 3 4, 3 2, 1 2),(1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5))"), GeomFromText("POLYGONZM((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4),(2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))"))) -MULTIPOLYGON(((1 2, 3 4, 3 2, 1 2), (1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5)), ((4 5, 1 2, 4 2, 4 5), (2 3, 3 4, 3 3, 2 3))) +MULTIPOLYGON ZM(((1 2 0 0, 3 4 0 0, 3 2 0 0, 1 2 0 0), (1.5 2.5 0 0, 2.5 3.5 0 0, 2.5 2.3 0 0, 1.5 2.5 0 0)), ((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4), (2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))) + Index: test/sql_stmt_tests/collect45.testcase ================================================================== --- test/sql_stmt_tests/collect45.testcase +++ test/sql_stmt_tests/collect45.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POLYGON((1 2, 3 4, 3 2, 1 2),(1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5))"), GeomFromText("POLYGONZ((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2),(2 3 4, 3 4 1, 3 3 1, 2 3 4))"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POLYGON((1 2, 3 4, 3 2, 1 2),(1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5))"), GeomFromText("POLYGONZ((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2),(2 3 4, 3 4 1, 3 3 1, 2 3 4))"))) -MULTIPOLYGON(((1 2, 3 4, 3 2, 1 2), (1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5)), ((4 5, 1 2, 4 2, 4 5), (2 3, 3 4, 3 3, 2 3))) +MULTIPOLYGON Z(((1 2 0, 3 4 0, 3 2 0, 1 2 0), (1.5 2.5 0, 2.5 3.5 0, 2.5 2.3 0, 1.5 2.5 0)), ((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2), (2 3 4, 3 4 1, 3 3 1, 2 3 4))) + Index: test/sql_stmt_tests/collect46.testcase ================================================================== --- test/sql_stmt_tests/collect46.testcase +++ test/sql_stmt_tests/collect46.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POLYGON((1 2, 3 4, 3 2, 1 2),(1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5))"), GeomFromText("POLYGONM((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2),(2 3 4, 3 4 1, 3 3 1, 2 3 4))"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POLYGON((1 2, 3 4, 3 2, 1 2),(1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5))"), GeomFromText("POLYGONM((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2),(2 3 4, 3 4 1, 3 3 1, 2 3 4))"))) -MULTIPOLYGON(((1 2, 3 4, 3 2, 1 2), (1.5 2.5, 2.5 3.5, 2.5 2.3, 1.5 2.5)), ((4 5, 1 2, 4 2, 4 5), (2 3, 3 4, 3 3, 2 3))) +MULTIPOLYGON M(((1 2 0, 3 4 0, 3 2 0, 1 2 0), (1.5 2.5 0, 2.5 3.5 0, 2.5 2.3 0, 1.5 2.5 0)), ((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2), (2 3 4, 3 4 1, 3 3 1, 2 3 4))) + Index: test/sql_stmt_tests/collect48.testcase ================================================================== --- test/sql_stmt_tests/collect48.testcase +++ test/sql_stmt_tests/collect48.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POLYGONM((1 2 4, 3 4 2, 3 2 3, 1 2 4),(1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4))"), GeomFromText("POLYGONZM((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4),(2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POLYGONM((1 2 4, 3 4 2, 3 2 3, 1 2 4),(1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4))"), GeomFromText("POLYGONZM((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4),(2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))"))); -MULTIPOLYGON M(((1 2 4, 3 4 2, 3 2 3, 1 2 4), (1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4)), ((4 5 4, 1 2 5, 4 2 3, 4 5 4), (2 3 1, 3 4 2, 3 3 3, 2 3 1))) +MULTIPOLYGON ZM(((1 2 0 4, 3 4 0 2, 3 2 0 3, 1 2 0 4), (1.5 2.5 0 4, 2.5 3.5 0 3, 2.5 2.3 0 3, 1.5 2.5 0 4)), ((4 5 3.2 4, 1 2 4.6 5, 4 2 3.1 3, 4 5 3.2 4), (2 3 4 1, 3 4 1 2, 3 3 1 3, 2 3 4 1))) + Index: test/sql_stmt_tests/collect49.testcase ================================================================== --- test/sql_stmt_tests/collect49.testcase +++ test/sql_stmt_tests/collect49.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POLYGONM((1 2 4, 3 4 2, 3 2 3, 1 2 4),(1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4))"), GeomFromText("POLYGONZ((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2),(2 3 4, 3 4 1, 3 3 1, 2 3 4))"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POLYGONM((1 2 4, 3 4 2, 3 2 3, 1 2 4),(1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4))"), GeomFromText("POLYGONZ((4 5 3.2, 1 2 4.6, 4 2 3.1, 4 5 3.2),(2 3 4, 3 4 1, 3 3 1, 2 3 4))"))) -MULTIPOLYGON M(((1 2 4, 3 4 2, 3 2 3, 1 2 4), (1.5 2.5 4, 2.5 3.5 3, 2.5 2.3 3, 1.5 2.5 4)), ((4 5 0, 1 2 0, 4 2 0, 4 5 0), (2 3 0, 3 4 0, 3 3 0, 2 3 0))) +MULTIPOLYGON ZM(((1 2 0 4, 3 4 0 2, 3 2 0 3, 1 2 0 4), (1.5 2.5 0 4, 2.5 3.5 0 3, 2.5 2.3 0 3, 1.5 2.5 0 4)), ((4 5 3.2 0, 1 2 4.6 0, 4 2 3.1 0, 4 5 3.2 0), (2 3 4 0, 3 4 1 0, 3 3 1 0, 2 3 4 0))) + Index: test/sql_stmt_tests/collect9.testcase ================================================================== --- test/sql_stmt_tests/collect9.testcase +++ test/sql_stmt_tests/collect9.testcase @@ -2,6 +2,7 @@ :memory: #use in-memory database SELECT AsText(COLLECT(GeomFromText("POINT(1 2)"), GeomFromText("POINTZ(4 5 3.2)"))); 1 # rows (not including the header row) 1 # columns AsText(COLLECT(GeomFromText("POINT(1 2)"), GeomFromText("POINTZ(4 5 3.2)"))) -MULTIPOINT(1 2, 4 5) +MULTIPOINT Z(1 2 0, 4 5 3.2) + DELETED test/sql_stmt_tests/createclonetable1.testcase Index: test/sql_stmt_tests/createclonetable1.testcase ================================================================== --- test/sql_stmt_tests/createclonetable1.testcase +++ test/sql_stmt_tests/createclonetable1.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL db-prefix -:memory: #use in-memory database -SELECT CreateClonedTable(NULL, 'in_table', 'out_table', 1) -1 # rows (not including the header row) -1 # columns -CreateClonedTable(NULL, 'in_table', 'out_table', 1) -(NULL) DELETED test/sql_stmt_tests/createclonetable10.testcase Index: test/sql_stmt_tests/createclonetable10.testcase ================================================================== --- test/sql_stmt_tests/createclonetable10.testcase +++ test/sql_stmt_tests/createclonetable10.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #6 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable11.testcase Index: test/sql_stmt_tests/createclonetable11.testcase ================================================================== --- test/sql_stmt_tests/createclonetable11.testcase +++ test/sql_stmt_tests/createclonetable11.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #7 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable12.testcase Index: test/sql_stmt_tests/createclonetable12.testcase ================================================================== --- test/sql_stmt_tests/createclonetable12.testcase +++ test/sql_stmt_tests/createclonetable12.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #8 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable13.testcase Index: test/sql_stmt_tests/createclonetable13.testcase ================================================================== --- test/sql_stmt_tests/createclonetable13.testcase +++ test/sql_stmt_tests/createclonetable13.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #9 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7', 'opt8', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7', 'opt8', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable14.testcase Index: test/sql_stmt_tests/createclonetable14.testcase ================================================================== --- test/sql_stmt_tests/createclonetable14.testcase +++ test/sql_stmt_tests/createclonetable14.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #10 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7', 'opt8', 'opt9', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7', 'opt8', 'opt9', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable15.testcase Index: test/sql_stmt_tests/createclonetable15.testcase ================================================================== --- test/sql_stmt_tests/createclonetable15.testcase +++ test/sql_stmt_tests/createclonetable15.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - not existing input -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7', 'opt8', 'opt9', 'opt10') -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'opt1', 'opt2', 'opt3', 'opt4', 'opt5', 'opt6', 'opt7', 'opt8', 'opt9', 'opt10') -(NULL) DELETED test/sql_stmt_tests/createclonetable2.testcase Index: test/sql_stmt_tests/createclonetable2.testcase ================================================================== --- test/sql_stmt_tests/createclonetable2.testcase +++ test/sql_stmt_tests/createclonetable2.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL input-table -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', NULL, 'out_table', 1) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', NULL, 'out_table', 1) -(NULL) DELETED test/sql_stmt_tests/createclonetable3.testcase Index: test/sql_stmt_tests/createclonetable3.testcase ================================================================== --- test/sql_stmt_tests/createclonetable3.testcase +++ test/sql_stmt_tests/createclonetable3.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL output-table -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', NULL, 1) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', NULL, 1) -(NULL) DELETED test/sql_stmt_tests/createclonetable4.testcase Index: test/sql_stmt_tests/createclonetable4.testcase ================================================================== --- test/sql_stmt_tests/createclonetable4.testcase +++ test/sql_stmt_tests/createclonetable4.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL transaction -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable5.testcase Index: test/sql_stmt_tests/createclonetable5.testcase ================================================================== --- test/sql_stmt_tests/createclonetable5.testcase +++ test/sql_stmt_tests/createclonetable5.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #1 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable6.testcase Index: test/sql_stmt_tests/createclonetable6.testcase ================================================================== --- test/sql_stmt_tests/createclonetable6.testcase +++ test/sql_stmt_tests/createclonetable6.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #2 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'option-1', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'option-1', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable7.testcase Index: test/sql_stmt_tests/createclonetable7.testcase ================================================================== --- test/sql_stmt_tests/createclonetable7.testcase +++ test/sql_stmt_tests/createclonetable7.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #3 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'option-1', 'option-2', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'option-1', 'option-2', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable8.testcase Index: test/sql_stmt_tests/createclonetable8.testcase ================================================================== --- test/sql_stmt_tests/createclonetable8.testcase +++ test/sql_stmt_tests/createclonetable8.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #4 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'option-1', 'option-2', 'opt3', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'option-1', 'option-2', 'opt3', NULL) -(NULL) DELETED test/sql_stmt_tests/createclonetable9.testcase Index: test/sql_stmt_tests/createclonetable9.testcase ================================================================== --- test/sql_stmt_tests/createclonetable9.testcase +++ test/sql_stmt_tests/createclonetable9.testcase @@ -1,7 +0,0 @@ -CreateClonedTable() - NULL option #5 -:memory: #use in-memory database -SELECT CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'option-1', 'option-2', 'opt3', 'opt4', NULL) -1 # rows (not including the header row) -1 # columns -CreateClonedTable('prefix', 'in_table', 'out_table', 1, 'option-1', 'option-2', 'opt3', 'opt4', NULL) -(NULL) DELETED test/sql_stmt_tests/dropgeo6.testcase Index: test/sql_stmt_tests/dropgeo6.testcase ================================================================== --- test/sql_stmt_tests/dropgeo6.testcase +++ test/sql_stmt_tests/dropgeo6.testcase @@ -1,7 +0,0 @@ -DropGeoTable - prefix, table (not existing) - NULL transaction -:memory: #use in-memory database -SELECT DropGeoTable('prefix', 'table', NULL); -1 # rows (not including the header row) -1 # columns -DropGeoTable('prefix', 'table', NULL) -(NULL) DELETED test/sql_stmt_tests/dropgeo7.testcase Index: test/sql_stmt_tests/dropgeo7.testcase ================================================================== --- test/sql_stmt_tests/dropgeo7.testcase +++ test/sql_stmt_tests/dropgeo7.testcase @@ -1,7 +0,0 @@ -DropGeoTable - prefix, table (not existing) + transaction -:memory: #use in-memory database -SELECT DropGeoTable('prefix', 'table', 0); -1 # rows (not including the header row) -1 # columns -DropGeoTable('prefix', 'table', 0) -0 DELETED test/sql_stmt_tests/dropgeo8.testcase Index: test/sql_stmt_tests/dropgeo8.testcase ================================================================== --- test/sql_stmt_tests/dropgeo8.testcase +++ test/sql_stmt_tests/dropgeo8.testcase @@ -1,7 +0,0 @@ -DropGeoTable - table (not existing) - NULL transaction -:memory: #use in-memory database -SELECT DropGeoTable('table', NULL); -1 # rows (not including the header row) -1 # columns -DropGeoTable('table', NULL) -(NULL) DELETED test/sql_stmt_tests/dropgeo9.testcase Index: test/sql_stmt_tests/dropgeo9.testcase ================================================================== --- test/sql_stmt_tests/dropgeo9.testcase +++ test/sql_stmt_tests/dropgeo9.testcase @@ -1,7 +0,0 @@ -DropGeoTable - table (not existing) + transaction -:memory: #use in-memory database -SELECT DropGeoTable('table', 0); -1 # rows (not including the header row) -1 # columns -DropGeoTable('table', 0) -0 DELETED test/sql_stmt_tests/elemgeo7.testcase Index: test/sql_stmt_tests/elemgeo7.testcase ================================================================== --- test/sql_stmt_tests/elemgeo7.testcase +++ test/sql_stmt_tests/elemgeo7.testcase @@ -1,7 +0,0 @@ -ElementaryGeometries() - NULL transaction -:memory: #use in-memory database -SELECT ElementaryGeometries('in_table', 'geom', 'out_table', 'id', 'old_id', NULL); -1 # rows (not including the header row) -1 # columns -ElementaryGeometries('in_table', 'geom', 'out_table', 'id', 'old_id', NULL) -(NULL) DELETED test/sql_stmt_tests/elemgeo8.testcase Index: test/sql_stmt_tests/elemgeo8.testcase ================================================================== --- test/sql_stmt_tests/elemgeo8.testcase +++ test/sql_stmt_tests/elemgeo8.testcase @@ -1,7 +0,0 @@ -ElementaryGeometries() - not existing table + transaction -:memory: #use in-memory database -SELECT ElementaryGeometries('in_table', 'geom', 'out_table', 'id', 'old_id', 0); -1 # rows (not including the header row) -1 # columns -ElementaryGeometries('in_table', 'geom', 'out_table', 'id', 'old_id', 0) -(NULL) DELETED test/sql_stmt_tests/ensureclosedrings1.testcase Index: test/sql_stmt_tests/ensureclosedrings1.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings1.testcase +++ test/sql_stmt_tests/ensureclosedrings1.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings NULL Geometry -:memory: #use in-memory database -SELECT EnsureClosedRings(NULL); -1 # rows (not including the header row) -1 # columns -EnsureClosedRings(NULL) -(NULL) DELETED test/sql_stmt_tests/ensureclosedrings10.testcase Index: test/sql_stmt_tests/ensureclosedrings10.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings10.testcase +++ test/sql_stmt_tests/ensureclosedrings10.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings Double Geometry -:memory: #use in-memory database -SELECT EnsureClosedRings(1.5); -1 # rows (not including the header row) -1 # columns -EnsureClosedRings(1.5) -(NULL) DELETED test/sql_stmt_tests/ensureclosedrings2.testcase Index: test/sql_stmt_tests/ensureclosedrings2.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings2.testcase +++ test/sql_stmt_tests/ensureclosedrings2.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings Int Geometry -:memory: #use in-memory database -SELECT EnsureClosedRings(1); -1 # rows (not including the header row) -1 # columns -EnsureClosedRings(1) -(NULL) DELETED test/sql_stmt_tests/ensureclosedrings3.testcase Index: test/sql_stmt_tests/ensureclosedrings3.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings3.testcase +++ test/sql_stmt_tests/ensureclosedrings3.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings Text Geometry -:memory: #use in-memory database -SELECT EnsureClosedRings('geom'); -1 # rows (not including the header row) -1 # columns -EnsureClosedRings('geom') -(NULL) DELETED test/sql_stmt_tests/ensureclosedrings4.testcase Index: test/sql_stmt_tests/ensureclosedrings4.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings4.testcase +++ test/sql_stmt_tests/ensureclosedrings4.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings Invalid BLOB Geometry -:memory: #use in-memory database -SELECT EnsureClosedRings(zeroblob(100)); -1 # rows (not including the header row) -1 # columns -EnsureClosedRings(zeroblob(100)) -(NULL) DELETED test/sql_stmt_tests/ensureclosedrings5.testcase Index: test/sql_stmt_tests/ensureclosedrings5.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings5.testcase +++ test/sql_stmt_tests/ensureclosedrings5.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings Valid GeometryCollection -:memory: #use in-memory database -SELECT AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326))) -GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60))) DELETED test/sql_stmt_tests/ensureclosedrings6.testcase Index: test/sql_stmt_tests/ensureclosedrings6.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings6.testcase +++ test/sql_stmt_tests/ensureclosedrings6.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings GeometryCollection with unclosed Rings -:memory: #use in-memory database -SELECT AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100), (60 60, 80 60, 80 80, 60 80)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100), (60 60, 80 60, 80 80, 60 80)))', 4326))) -GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60))) DELETED test/sql_stmt_tests/ensureclosedrings7.testcase Index: test/sql_stmt_tests/ensureclosedrings7.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings7.testcase +++ test/sql_stmt_tests/ensureclosedrings7.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings GeometryCollection with unclosed Rings (XYZ) -:memory: #use in-memory database -SELECT AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(1 1 1), LINESTRINGZ(10 10 2, 40 40 3), POLYGONZ((50 50 1, 100 50 2, 100 100 3, 50 100 4), (60 60 5, 80 60 6 , 80 80 7, 60 80 8)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(1 1 1), LINESTRINGZ(10 10 2, 40 40 3), POLYGONZ((50 50 1, 100 50 2, 100 100 3, 50 100 4), (60 60 5, 80 60 6 , 80 80 7, 60 80 8)))', 4326))) -GEOMETRYCOLLECTION Z(POINT Z(1 1 1), LINESTRING Z(10 10 2, 40 40 3), POLYGON Z((50 50 1, 100 50 2, 100 100 3, 50 100 4, 50 50 1), (60 60 5, 80 60 6, 80 80 7, 60 80 8, 60 60 5))) DELETED test/sql_stmt_tests/ensureclosedrings8.testcase Index: test/sql_stmt_tests/ensureclosedrings8.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings8.testcase +++ test/sql_stmt_tests/ensureclosedrings8.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings GeometryCollection with unclosed Rings (XYM) -:memory: #use in-memory database -SELECT AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(1 1 1), LINESTRINGM(10 10 2, 40 40 3), POLYGONM((50 50 1, 100 50 2, 100 100 3, 50 100 4), (60 60 5, 80 60 6 , 80 80 7, 60 80 8)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(1 1 1), LINESTRINGM(10 10 2, 40 40 3), POLYGONM((50 50 1, 100 50 2, 100 100 3, 50 100 4), (60 60 5, 80 60 6 , 80 80 7, 60 80 8)))', 4326))) -GEOMETRYCOLLECTION M(POINT M(1 1 1), LINESTRING M(10 10 2, 40 40 3), POLYGON M((50 50 1, 100 50 2, 100 100 3, 50 100 4, 50 50 1), (60 60 5, 80 60 6, 80 80 7, 60 80 8, 60 60 5))) DELETED test/sql_stmt_tests/ensureclosedrings9.testcase Index: test/sql_stmt_tests/ensureclosedrings9.testcase ================================================================== --- test/sql_stmt_tests/ensureclosedrings9.testcase +++ test/sql_stmt_tests/ensureclosedrings9.testcase @@ -1,7 +0,0 @@ -EnsureClosedRings GeometryCollection with unclosed Rings (XYZM) -:memory: #use in-memory database -SELECT AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(1 1 1 2), LINESTRINGZM(10 10 2 3, 40 40 3 4), POLYGONZM((50 50 1 2, 100 50 2 3, 100 100 3 4, 50 100 4 5), (60 60 5 6, 80 60 6 7, 80 80 7 8, 60 80 8 9)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(EnsureClosedRings(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(1 1 1 2), LINESTRINGZM(10 10 2 3, 40 40 3 4), POLYGONZM((50 50 1 2, 100 50 2 3, 100 100 3 4, 50 100 4 5), (60 60 5 6, 80 60 6 7, 80 80 7 8, 60 80 8 9)))', 4326))) -GEOMETRYCOLLECTION ZM(POINT ZM(1 1 1 2), LINESTRING ZM(10 10 2 3, 40 40 3 4), POLYGON ZM((50 50 1 2, 100 50 2 3, 100 100 3 4, 50 100 4 5, 50 50 1 2), (60 60 5 6, 80 60 6 7, 80 80 7 8, 60 80 8 9, 60 60 5 6))) DELETED test/sql_stmt_tests/fromewktexp1.testcase Index: test/sql_stmt_tests/fromewktexp1.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp1.testcase +++ test/sql_stmt_tests/fromewktexp1.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-1 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(.1 .2 .3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(.1 .2 .3)')) -POINT Z(0.1 0.2 0.3) DELETED test/sql_stmt_tests/fromewktexp2.testcase Index: test/sql_stmt_tests/fromewktexp2.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp2.testcase +++ test/sql_stmt_tests/fromewktexp2.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-2 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(.1 -.2 +.3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(.1 -.2 +.3)')) -POINT Z(0.1 -0.2 0.3) DELETED test/sql_stmt_tests/fromewktexp3.testcase Index: test/sql_stmt_tests/fromewktexp3.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp3.testcase +++ test/sql_stmt_tests/fromewktexp3.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-3 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(.1e1 .2e2 .3E3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(.1e1 .2e2 .3E3)')) -POINT Z(1 20 300) DELETED test/sql_stmt_tests/fromewktexp4.testcase Index: test/sql_stmt_tests/fromewktexp4.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp4.testcase +++ test/sql_stmt_tests/fromewktexp4.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-4 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(.1e1 .2e-2 .3E+3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(.1e1 .2e-2 .3E+3)')) -POINT Z(1 0.002 300) DELETED test/sql_stmt_tests/fromewktexp5.testcase Index: test/sql_stmt_tests/fromewktexp5.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp5.testcase +++ test/sql_stmt_tests/fromewktexp5.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-5 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(.1e1 +.2e-2 -.3E+3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(.1e1 +.2e-2 -.3E+3)')) -POINT Z(1 0.002 -300) DELETED test/sql_stmt_tests/fromewktexp6.testcase Index: test/sql_stmt_tests/fromewktexp6.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp6.testcase +++ test/sql_stmt_tests/fromewktexp6.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-6 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(.1e1 +.2e2 -.3E3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(.1e1 +.2e2 -.3E3)')) -POINT Z(1 20 -300) DELETED test/sql_stmt_tests/fromewktexp7.testcase Index: test/sql_stmt_tests/fromewktexp7.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp7.testcase +++ test/sql_stmt_tests/fromewktexp7.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-7 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(1.1e1 2.2e2 4.4E3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(1.1e1 2.2e2 4.4E3)')) -POINT Z(11 220 4400) DELETED test/sql_stmt_tests/fromewktexp8.testcase Index: test/sql_stmt_tests/fromewktexp8.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp8.testcase +++ test/sql_stmt_tests/fromewktexp8.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-8 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(1.1e1 2.2e-2 4.4E+3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(1.1e1 2.2e-2 4.4E+3)')) -POINT Z(11 0.022 4400) DELETED test/sql_stmt_tests/fromewktexp9.testcase Index: test/sql_stmt_tests/fromewktexp9.testcase ================================================================== --- test/sql_stmt_tests/fromewktexp9.testcase +++ test/sql_stmt_tests/fromewktexp9.testcase @@ -1,7 +0,0 @@ -From EWKT - PointZ Exp-9 -:memory: -SELECT AsText(GeomFromEWKT('SRID=4326;POINT(1.1e1 +2.2e-2 -4.4E+3)')); -1 # rows -1 # column -AsText(GeomFromEWKT('SRID=4326;POINT(1.1e1 +2.2e-2 -4.4E+3)')) -POINT Z(11 0.022 -4400) DELETED test/sql_stmt_tests/fromgeojsonexp1.testcase Index: test/sql_stmt_tests/fromgeojsonexp1.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp1.testcase +++ test/sql_stmt_tests/fromgeojsonexp1.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-1 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1,.2,.3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1,.2,.3]}')) -POINT Z(0.1 0.2 0.3) DELETED test/sql_stmt_tests/fromgeojsonexp2.testcase Index: test/sql_stmt_tests/fromgeojsonexp2.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp2.testcase +++ test/sql_stmt_tests/fromgeojsonexp2.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-2 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1,-.2,+.3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1,-.2,+.3]}')) -POINT Z(0.1 -0.2 0.3) DELETED test/sql_stmt_tests/fromgeojsonexp3.testcase Index: test/sql_stmt_tests/fromgeojsonexp3.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp3.testcase +++ test/sql_stmt_tests/fromgeojsonexp3.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-3 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1e1,.2e2,.3E3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1e1,.2e2,.3E3]}')) -POINT Z(1 20 300) DELETED test/sql_stmt_tests/fromgeojsonexp4.testcase Index: test/sql_stmt_tests/fromgeojsonexp4.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp4.testcase +++ test/sql_stmt_tests/fromgeojsonexp4.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-4 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1e1,.2e-2,.3E+3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1e1,.2e-2,.3E+3]}')) -POINT Z(1 0.002 300) DELETED test/sql_stmt_tests/fromgeojsonexp5.testcase Index: test/sql_stmt_tests/fromgeojsonexp5.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp5.testcase +++ test/sql_stmt_tests/fromgeojsonexp5.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-5 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1e1,+.2e-2,-.3E+3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1e1,+.2e-2,-.3E+3]}')) -POINT Z(1 0.002 -300) DELETED test/sql_stmt_tests/fromgeojsonexp6.testcase Index: test/sql_stmt_tests/fromgeojsonexp6.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp6.testcase +++ test/sql_stmt_tests/fromgeojsonexp6.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-6 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1e1,+.2e2,-.3E3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[.1e1,+.2e2,-.3E3]}')) -POINT Z(1 20 -300) DELETED test/sql_stmt_tests/fromgeojsonexp7.testcase Index: test/sql_stmt_tests/fromgeojsonexp7.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp7.testcase +++ test/sql_stmt_tests/fromgeojsonexp7.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-7 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1.1e1,2.2e2,4.4E3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1.1e1,2.2e2,4.4E3]}')) -POINT Z(11 220 4400) DELETED test/sql_stmt_tests/fromgeojsonexp8.testcase Index: test/sql_stmt_tests/fromgeojsonexp8.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp8.testcase +++ test/sql_stmt_tests/fromgeojsonexp8.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-8 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1.1e1,2.2e-2,4.4E+3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1.1e1,2.2e-2,4.4E+3]}')) -POINT Z(11 0.022 4400) DELETED test/sql_stmt_tests/fromgeojsonexp9.testcase Index: test/sql_stmt_tests/fromgeojsonexp9.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonexp9.testcase +++ test/sql_stmt_tests/fromgeojsonexp9.testcase @@ -1,7 +0,0 @@ -From GeoJSON - PointZ Exp-9 -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1.1e1,+2.2e-2,-4.4E+3]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1.1e1,+2.2e-2,-4.4E+3]}')) -POINT Z(11 0.022 -4400) DELETED test/sql_stmt_tests/fromgeojsonmix1.testcase Index: test/sql_stmt_tests/fromgeojsonmix1.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix1.testcase +++ test/sql_stmt_tests/fromgeojsonmix1.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Linestring bbox-coords-crs-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,2,2],"coordinates":[[1,1],[2,2]],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"LineString"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,2,2],"coordinates":[[1,1],[2,2]],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"LineString"}')):0 -SRID=4326;LINESTRING(1 1,2 2) DELETED test/sql_stmt_tests/fromgeojsonmix2.testcase Index: test/sql_stmt_tests/fromgeojsonmix2.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix2.testcase +++ test/sql_stmt_tests/fromgeojsonmix2.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Polygon bbox-coords-type-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,2,2],"coordinates":[[[1,1],[1,2],[2,2],[2,1],[1,1]]],"type":"Polygon","crs":{"type":"name","properties":{"name":"EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,2,2],"coordinates":[[[1,1],[1,2],[2,2],[2,1],[1,1]]],"type":"Polygon","crs":{"type":"name","properties":{"name":"EPSG:4326"}}}')):0 -SRID=4326;POLYGON((1 1,1 2,2 2,2 1,1 1)) DELETED test/sql_stmt_tests/fromgeojsonmix3.testcase Index: test/sql_stmt_tests/fromgeojsonmix3.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix3.testcase +++ test/sql_stmt_tests/fromgeojsonmix3.testcase @@ -1,7 +0,0 @@ -From GeoJSON - MultiPoint bbox-crs-coords-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,2,2],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"coordinates":[[1,2],[2,1]],"type":"MultiPoint"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,2,2],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"coordinates":[[1,2],[2,1]],"type":"MultiPoint"}')):0 -SRID=4326;MULTIPOINT(1 2,2 1) DELETED test/sql_stmt_tests/fromgeojsonmix4.testcase Index: test/sql_stmt_tests/fromgeojsonmix4.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix4.testcase +++ test/sql_stmt_tests/fromgeojsonmix4.testcase @@ -1,7 +0,0 @@ -From GeoJSON - MultiLineString bbox-crs-type-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,4,4],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"MultiLineString","coordinates":[[[1,2],[2,1]],[[3,4],[4,3]]]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,4,4],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"MultiLineString","coordinates":[[[1,2],[2,1]],[[3,4],[4,3]]]}')):0 -SRID=4326;MULTILINESTRING((1 2,2 1),(3 4,4 3)) DELETED test/sql_stmt_tests/fromgeojsonmix5.testcase Index: test/sql_stmt_tests/fromgeojsonmix5.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix5.testcase +++ test/sql_stmt_tests/fromgeojsonmix5.testcase @@ -1,7 +0,0 @@ -From GeoJSON - MultiPolygon bbox-crs-coords-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[0,0,21,21],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"coordinates":[[[[0,0],[10,0],[10,10],[0,10],[0,0]],[[1,1],[5,1],[5,5],[1,5],[1,1]]],[[[20,20],[21,20],[21,21],[20,21],[20,20]]]],"type":"MultiPolygon"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[0,0,21,21],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"coordinates":[[[[0,0],[10,0],[10,10],[0,10],[0,0]],[[1,1],[5,1],[5,5],[1,5],[1,1]]],[[[20,20],[21,20],[21,21],[20,21],[20,20]]]],"type":"MultiPolygon"}')):0 -SRID=4326;MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0),(1 1,5 1,5 5,1 5,1 1)),((20 20,21 20,21 21,20 21,20 20))) DELETED test/sql_stmt_tests/fromgeojsonmix6.testcase Index: test/sql_stmt_tests/fromgeojsonmix6.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix6.testcase +++ test/sql_stmt_tests/fromgeojsonmix6.testcase @@ -1,7 +0,0 @@ -From GeoJSON - GeomColl Point-Linestring-Polygon bbox-coords-crs-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[0,0,4,4],"geometries":[{"type":"Point","coordinates":[0,0]},{"type":"LineString","coordinates":[[1,1],[2,2]]},{"type":"Polygon","coordinates":[[[3,3],[3,4],[4,4],[4,3],[3,3]]]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"GeometryCollection"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[0,0,4,4],"geometries":[{"type":"Point","coordinates":[0,0]},{"type":"LineString","coordinates":[[1,1],[2,2]]},{"type":"Polygon","coordinates":[[[3,3],[3,4],[4,4],[4,3],[3,3]]]}],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"GeometryCollection"}')):0 -SRID=4326;GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(1 1,2 2),POLYGON((3 3,3 4,4 4,4 3,3 3))) DELETED test/sql_stmt_tests/fromgeojsonmix7.testcase Index: test/sql_stmt_tests/fromgeojsonmix7.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix7.testcase +++ test/sql_stmt_tests/fromgeojsonmix7.testcase @@ -1,7 +0,0 @@ -From GeoJSON - GeomColl Point-Linestring bbox-coords-type-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[0,0,2,2],"geometries":[{"type":"Point","coordinates":[0,0]},{"type":"LineString","coordinates":[[1,1],[2,2]]}],"type":"GeometryCollection","crs":{"type":"name","properties":{"name":"EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[0,0,2,2],"geometries":[{"type":"Point","coordinates":[0,0]},{"type":"LineString","coordinates":[[1,1],[2,2]]}],"type":"GeometryCollection","crs":{"type":"name","properties":{"name":"EPSG:4326"}}}')):0 -SRID=4326;GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(1 1,2 2)) DELETED test/sql_stmt_tests/fromgeojsonmix8.testcase Index: test/sql_stmt_tests/fromgeojsonmix8.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix8.testcase +++ test/sql_stmt_tests/fromgeojsonmix8.testcase @@ -1,7 +0,0 @@ -From GeoJSON - GeomColl Point-Polygon bbox-crs-coords-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[0,0,4,4],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"geometries":[{"type":"Point","coordinates":[0,0]},{"type":"Polygon","coordinates":[[[3,3],[3,4],[4,4],[4,3],[3,3]]]}],"type":"GeometryCollection"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[0,0,4,4],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"geometries":[{"type":"Point","coordinates":[0,0]},{"type":"Polygon","coordinates":[[[3,3],[3,4],[4,4],[4,3],[3,3]]]}],"type":"GeometryCollection"}')):0 -SRID=4326;GEOMETRYCOLLECTION(POINT(0 0),POLYGON((3 3,3 4,4 4,4 3,3 3))) DELETED test/sql_stmt_tests/fromgeojsonmix9.testcase Index: test/sql_stmt_tests/fromgeojsonmix9.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonmix9.testcase +++ test/sql_stmt_tests/fromgeojsonmix9.testcase @@ -1,7 +0,0 @@ -From GeoJSON - GeomColl Linestring-Polygon bbox-crs-type-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,4,4],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"GeometryCollection","geometries":[{"type":"LineString","coordinates":[[1,1],[2,2]]},{"type":"Polygon","coordinates":[[[3,3],[3,4],[4,4],[4,3],[3,3]]]}]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,1,4,4],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"GeometryCollection","geometries":[{"type":"LineString","coordinates":[[1,1],[2,2]]},{"type":"Polygon","coordinates":[[[3,3],[3,4],[4,4],[4,3],[3,3]]]}]}')):0 -SRID=4326;GEOMETRYCOLLECTION(LINESTRING(1 1,2 2),POLYGON((3 3,3 4,4 4,4 3,3 3))) DELETED test/sql_stmt_tests/fromgeojsonpt1.testcase Index: test/sql_stmt_tests/fromgeojsonpt1.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt1.testcase +++ test/sql_stmt_tests/fromgeojsonpt1.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-coords -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1, 2]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1, 2]}')) -POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt10.testcase Index: test/sql_stmt_tests/fromgeojsonpt10.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt10.testcase +++ test/sql_stmt_tests/fromgeojsonpt10.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-coords-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"type":"Point","coordinates":[1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"type":"Point","coordinates":[1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')):0 -SRID=4326;POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt11.testcase Index: test/sql_stmt_tests/fromgeojsonpt11.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt11.testcase +++ test/sql_stmt_tests/fromgeojsonpt11.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point crs-type-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"Point","coordinates":[1,2]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"Point","coordinates":[1,2]}')):0 -SRID=4326;POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt12.testcase Index: test/sql_stmt_tests/fromgeojsonpt12.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt12.testcase +++ test/sql_stmt_tests/fromgeojsonpt12.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point crs-coords-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"coordinates":[1,2],"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"coordinates":[1,2],"type":"Point"}')):0 -SRID=4326;POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt13.testcase Index: test/sql_stmt_tests/fromgeojsonpt13.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt13.testcase +++ test/sql_stmt_tests/fromgeojsonpt13.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-crs-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2],"crs":{"type":"name","properties":{"name":"EPSG:4326"}},"type":"Point"}')):0 -SRID=4326;POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt14.testcase Index: test/sql_stmt_tests/fromgeojsonpt14.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt14.testcase +++ test/sql_stmt_tests/fromgeojsonpt14.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-type-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2],"type":"Point","crs":{"type":"name","properties":{"name":"EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2],"type":"Point","crs":{"type":"name","properties":{"name":"EPSG:4326"}}}')):0 -SRID=4326;POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt15.testcase Index: test/sql_stmt_tests/fromgeojsonpt15.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt15.testcase +++ test/sql_stmt_tests/fromgeojsonpt15.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-crs-bbox-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2],"coordinates":[1,2,3]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2],"coordinates":[1,2,3]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt16.testcase Index: test/sql_stmt_tests/fromgeojsonpt16.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt16.testcase +++ test/sql_stmt_tests/fromgeojsonpt16.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-crs-coords-bbox -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3],"bbox":[1,2,1,2]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3],"bbox":[1,2,1,2]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt17.testcase Index: test/sql_stmt_tests/fromgeojsonpt17.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt17.testcase +++ test/sql_stmt_tests/fromgeojsonpt17.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-coords-bbox-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"type":"Point","coordinates":[1,2,3],"bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"type":"Point","coordinates":[1,2,3],"bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt18.testcase Index: test/sql_stmt_tests/fromgeojsonpt18.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt18.testcase +++ test/sql_stmt_tests/fromgeojsonpt18.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-coords-crs-bbox -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"type":"Point","coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"type":"Point","coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt19.testcase Index: test/sql_stmt_tests/fromgeojsonpt19.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt19.testcase +++ test/sql_stmt_tests/fromgeojsonpt19.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-bbox-coords-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"type":"Point","bbox":[1,2,1,2],"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"type":"Point","bbox":[1,2,1,2],"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt2.testcase Index: test/sql_stmt_tests/fromgeojsonpt2.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt2.testcase +++ test/sql_stmt_tests/fromgeojsonpt2.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-tyoe -:memory: -SELECT AsText(GeomFromGeoJSON('{"coordinates":[1, 2], "type":"Point"}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"coordinates":[1, 2], "type":"Point"}')) -POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt20.testcase Index: test/sql_stmt_tests/fromgeojsonpt20.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt20.testcase +++ test/sql_stmt_tests/fromgeojsonpt20.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-bbox-crs-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"type":"Point","bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"type":"Point","bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt21.testcase Index: test/sql_stmt_tests/fromgeojsonpt21.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt21.testcase +++ test/sql_stmt_tests/fromgeojsonpt21.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point crs-type-bbox-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point","bbox":[1,2,1,2],"coordinates":[1,2,3]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point","bbox":[1,2,1,2],"coordinates":[1,2,3]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt22.testcase Index: test/sql_stmt_tests/fromgeojsonpt22.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt22.testcase +++ test/sql_stmt_tests/fromgeojsonpt22.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point crs-type-coords-bbox -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point","coordinates":[1,2,3],"bbox":[1,2,1,2]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point","coordinates":[1,2,3],"bbox":[1,2,1,2]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt23.testcase Index: test/sql_stmt_tests/fromgeojsonpt23.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt23.testcase +++ test/sql_stmt_tests/fromgeojsonpt23.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point crs-coords-bbox-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3],"bbox":[1,2,1,2],"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3],"bbox":[1,2,1,2],"type":"Point"}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt24.testcase Index: test/sql_stmt_tests/fromgeojsonpt24.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt24.testcase +++ test/sql_stmt_tests/fromgeojsonpt24.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point crs-coords-type-bbox -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3],"type":"Point","bbox":[1,2,1,2]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3],"type":"Point","bbox":[1,2,1,2]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt25.testcase Index: test/sql_stmt_tests/fromgeojsonpt25.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt25.testcase +++ test/sql_stmt_tests/fromgeojsonpt25.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point crs-bbox-coords-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2],"coordinates":[1,2,3],"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2],"coordinates":[1,2,3],"type":"Point"}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt26.testcase Index: test/sql_stmt_tests/fromgeojsonpt26.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt26.testcase +++ test/sql_stmt_tests/fromgeojsonpt26.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point crs-bbox-type-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2],"type":"Point","coordinates":[1,2,3]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2],"type":"Point","coordinates":[1,2,3]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt27.testcase Index: test/sql_stmt_tests/fromgeojsonpt27.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt27.testcase +++ test/sql_stmt_tests/fromgeojsonpt27.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-crs-type-bbox -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point","bbox":[1,2,1,2]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point","bbox":[1,2,1,2]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt28.testcase Index: test/sql_stmt_tests/fromgeojsonpt28.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt28.testcase +++ test/sql_stmt_tests/fromgeojsonpt28.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-crs-bbox-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2],"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2],"type":"Point"}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt29.testcase Index: test/sql_stmt_tests/fromgeojsonpt29.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt29.testcase +++ test/sql_stmt_tests/fromgeojsonpt29.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-type-crs-bbox -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"bbox":[1,2,1,2]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt3.testcase Index: test/sql_stmt_tests/fromgeojsonpt3.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt3.testcase +++ test/sql_stmt_tests/fromgeojsonpt3.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-bbox-coords -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","bbox":[1,2,1,2],"coordinates":[1,2]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","bbox":[1,2,1,2],"coordinates":[1,2]}')) -POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt30.testcase Index: test/sql_stmt_tests/fromgeojsonpt30.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt30.testcase +++ test/sql_stmt_tests/fromgeojsonpt30.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-type-bbox-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"type":"Point","bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"type":"Point","bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt31.testcase Index: test/sql_stmt_tests/fromgeojsonpt31.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt31.testcase +++ test/sql_stmt_tests/fromgeojsonpt31.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-bbox-type-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"bbox":[1,2,1,2],"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"bbox":[1,2,1,2],"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt32.testcase Index: test/sql_stmt_tests/fromgeojsonpt32.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt32.testcase +++ test/sql_stmt_tests/fromgeojsonpt32.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-bbox-crs-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"coordinates":[1,2,3],"bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point"}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt33.testcase Index: test/sql_stmt_tests/fromgeojsonpt33.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt33.testcase +++ test/sql_stmt_tests/fromgeojsonpt33.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point bbox-coords-crs-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point"}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt34.testcase Index: test/sql_stmt_tests/fromgeojsonpt34.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt34.testcase +++ test/sql_stmt_tests/fromgeojsonpt34.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point bbox-coords-type-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2,3],"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2,3],"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt35.testcase Index: test/sql_stmt_tests/fromgeojsonpt35.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt35.testcase +++ test/sql_stmt_tests/fromgeojsonpt35.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point bbox-crs-coords-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3],"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"coordinates":[1,2,3],"type":"Point"}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt36.testcase Index: test/sql_stmt_tests/fromgeojsonpt36.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt36.testcase +++ test/sql_stmt_tests/fromgeojsonpt36.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point bbox-crs-type-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point","coordinates":[1,2,3]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point","coordinates":[1,2,3]}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt37.testcase Index: test/sql_stmt_tests/fromgeojsonpt37.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt37.testcase +++ test/sql_stmt_tests/fromgeojsonpt37.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point bbox-coords-crs-type -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point"}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2,3],"crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}},"type":"Point"}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt38.testcase Index: test/sql_stmt_tests/fromgeojsonpt38.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt38.testcase +++ test/sql_stmt_tests/fromgeojsonpt38.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point bbox-coords-type-crs -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2,3],"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2,3],"type":"Point","crs":{"type":"name","properties":{"name":"urn:ogc:def:crs:EPSG:4326"}}}')):0 -SRID=4326;POINT(1 2 3) DELETED test/sql_stmt_tests/fromgeojsonpt4.testcase Index: test/sql_stmt_tests/fromgeojsonpt4.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt4.testcase +++ test/sql_stmt_tests/fromgeojsonpt4.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-coords-bbox -:memory: -SELECT AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1,2],"bbox":[1,2,1,2]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"type":"Point","coordinates":[1,2],"bbox":[1,2,1,2]}')) -POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt5.testcase Index: test/sql_stmt_tests/fromgeojsonpt5.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt5.testcase +++ test/sql_stmt_tests/fromgeojsonpt5.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point bbox-type-coords -:memory: -SELECT AsText(GeomFromGeoJSON('{"bbox":[1,2,1,2],"type":"Point","coordinates":[1,2]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"bbox":[1,2,1,2],"type":"Point","coordinates":[1,2]}')) -POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt6.testcase Index: test/sql_stmt_tests/fromgeojsonpt6.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt6.testcase +++ test/sql_stmt_tests/fromgeojsonpt6.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point bbox-coords-type -:memory: -SELECT AsText(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2],"type":"Point"}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"bbox":[1,2,1,2],"coordinates":[1,2],"type":"Point"}')) -POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt7.testcase Index: test/sql_stmt_tests/fromgeojsonpt7.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt7.testcase +++ test/sql_stmt_tests/fromgeojsonpt7.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-bbox-type -:memory: -SELECT AsText(GeomFromGeoJSON('{"coordinates":[1,2],"bbox":[1,2,1,2],"type":"Point"}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"coordinates":[1,2],"bbox":[1,2,1,2],"type":"Point"}')); -POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt8.testcase Index: test/sql_stmt_tests/fromgeojsonpt8.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt8.testcase +++ test/sql_stmt_tests/fromgeojsonpt8.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point coords-type-bbox -:memory: -SELECT AsText(GeomFromGeoJSON('{"coordinates":[1,2],"type":"Point","bbox":[1,2,1,2]}')); -1 # rows -1 # column -AsText(GeomFromGeoJSON('{"coordinates":[1,2],"type":"Point","bbox":[1,2,1,2]}')) -POINT(1 2) DELETED test/sql_stmt_tests/fromgeojsonpt9.testcase Index: test/sql_stmt_tests/fromgeojsonpt9.testcase ================================================================== --- test/sql_stmt_tests/fromgeojsonpt9.testcase +++ test/sql_stmt_tests/fromgeojsonpt9.testcase @@ -1,7 +0,0 @@ -From GeoJSON - Point type-csr-coords -:memory: -SELECT AsEWKT(GeomFromGeoJSON('{"type":"Point","crs":{"type":"name","properties":{"name":"EPSG:4326"}},"coordinates":[1,2]}')); -1 # rows -1 # column -AsEWKT(GeomFromGeoJSON('{"type":"Point","crs":{"type":"name","properties":{"name":"EPSG:4326"}},"coordinates":[1,2]}')):0 -SRID=4326;POINT(1 2) DELETED test/sql_stmt_tests/fromgmlexp1.testcase Index: test/sql_stmt_tests/fromgmlexp1.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp1.testcase +++ test/sql_stmt_tests/fromgmlexp1.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-1 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('.1,.2,.3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('.1,.2,.3')):0 -SRID=4326;POINT(0.1 0.2 0.3) DELETED test/sql_stmt_tests/fromgmlexp2.testcase Index: test/sql_stmt_tests/fromgmlexp2.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp2.testcase +++ test/sql_stmt_tests/fromgmlexp2.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-2 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('.1,-.2,+.3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('.1,-.2,+.3')):0 -SRID=4326;POINT(0.1 -0.2 0.3) DELETED test/sql_stmt_tests/fromgmlexp3.testcase Index: test/sql_stmt_tests/fromgmlexp3.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp3.testcase +++ test/sql_stmt_tests/fromgmlexp3.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-3 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('.1e1,.2e2,.3E3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('.1e1,.2e2,.3E3')):0 -SRID=4326;POINT(1 20 300) DELETED test/sql_stmt_tests/fromgmlexp4.testcase Index: test/sql_stmt_tests/fromgmlexp4.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp4.testcase +++ test/sql_stmt_tests/fromgmlexp4.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-4 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('.1e1,.2e-2,.3E+3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('.1e1,.2e-2,.3E+3')):0 -SRID=4326;POINT(1 0.002 300) DELETED test/sql_stmt_tests/fromgmlexp5.testcase Index: test/sql_stmt_tests/fromgmlexp5.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp5.testcase +++ test/sql_stmt_tests/fromgmlexp5.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-5 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('.1e1,+.2e2,-.3E3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('.1e1,+.2e2,-.3E3')):0 -SRID=4326;POINT(1 20 -300) DELETED test/sql_stmt_tests/fromgmlexp6.testcase Index: test/sql_stmt_tests/fromgmlexp6.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp6.testcase +++ test/sql_stmt_tests/fromgmlexp6.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-6 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('.1e1,+.2e2,-.3E3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('.1e1,+.2e2,-.3E3')):0 -SRID=4326;POINT(1 20 -300) DELETED test/sql_stmt_tests/fromgmlexp7.testcase Index: test/sql_stmt_tests/fromgmlexp7.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp7.testcase +++ test/sql_stmt_tests/fromgmlexp7.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-7 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('1.1e1,2.2e2,4.4E3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('1.1e1,2.2e2,4.4E3')):0 -SRID=4326;POINT(11 220 4400) DELETED test/sql_stmt_tests/fromgmlexp8.testcase Index: test/sql_stmt_tests/fromgmlexp8.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp8.testcase +++ test/sql_stmt_tests/fromgmlexp8.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-8 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('1.1e1,2.2e-2,4.4E+3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('1.1e1,2.2e-2,4.4E+3')):0 -SRID=4326;POINT(11 0.022 4400) DELETED test/sql_stmt_tests/fromgmlexp9.testcase Index: test/sql_stmt_tests/fromgmlexp9.testcase ================================================================== --- test/sql_stmt_tests/fromgmlexp9.testcase +++ test/sql_stmt_tests/fromgmlexp9.testcase @@ -1,7 +0,0 @@ -FromGML - Point Exp-9 -:memory: #use in-memory database -SELECT AsEwkt(GeomFromGml('1.1e1,+2.2e-2,-4.4E+3')); -1 # rows (not including the header row) -1 # columns -AsEwkt(GeomFromGml('1.1e1,+2.2e-2,-4.4E+3')):0 -SRID=4326;POINT(11 0.022 -4400) DELETED test/sql_stmt_tests/fromwktexp1.testcase Index: test/sql_stmt_tests/fromwktexp1.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp1.testcase +++ test/sql_stmt_tests/fromwktexp1.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-1 -:memory: -SELECT AsText(GeomFromText('POINTZ(.1 .2 .3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(.1 .2 .3)')) -POINT Z(0.1 0.2 0.3) DELETED test/sql_stmt_tests/fromwktexp2.testcase Index: test/sql_stmt_tests/fromwktexp2.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp2.testcase +++ test/sql_stmt_tests/fromwktexp2.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-2 -:memory: -SELECT AsText(GeomFromText('POINTZ(.1 -.2 +.3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(.1 -.2 +.3)')) -POINT Z(0.1 -0.2 0.3) DELETED test/sql_stmt_tests/fromwktexp3.testcase Index: test/sql_stmt_tests/fromwktexp3.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp3.testcase +++ test/sql_stmt_tests/fromwktexp3.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-3 -:memory: -SELECT AsText(GeomFromText('POINTZ(.1e1 .2e2 .3E3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(.1e1 .2e2 .3E3)')) -POINT Z(1 20 300) DELETED test/sql_stmt_tests/fromwktexp4.testcase Index: test/sql_stmt_tests/fromwktexp4.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp4.testcase +++ test/sql_stmt_tests/fromwktexp4.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-4 -:memory: -SELECT AsText(GeomFromText('POINTZ(.1e1 .2e-2 .3E+3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(.1e1 .2e-2 .3E+3)')) -POINT Z(1 0.002 300) DELETED test/sql_stmt_tests/fromwktexp5.testcase Index: test/sql_stmt_tests/fromwktexp5.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp5.testcase +++ test/sql_stmt_tests/fromwktexp5.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-5 -:memory: -SELECT AsText(GeomFromText('POINTZ(.1e1 +.2e-2 -.3E+3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(.1e1 +.2e-2 -.3E+3)')) -POINT Z(1 0.002 -300) DELETED test/sql_stmt_tests/fromwktexp6.testcase Index: test/sql_stmt_tests/fromwktexp6.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp6.testcase +++ test/sql_stmt_tests/fromwktexp6.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-6 -:memory: -SELECT AsText(GeomFromText('POINTZ(.1e1 +.2e2 -.3E3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(.1e1 +.2e2 -.3E3)')) -POINT Z(1 20 -300) DELETED test/sql_stmt_tests/fromwktexp7.testcase Index: test/sql_stmt_tests/fromwktexp7.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp7.testcase +++ test/sql_stmt_tests/fromwktexp7.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-7 -:memory: -SELECT AsText(GeomFromText('POINTZ(1.1e1 2.2e2 4.4E3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(1.1e1 2.2e2 4.4E3)')) -POINT Z(11 220 4400) DELETED test/sql_stmt_tests/fromwktexp8.testcase Index: test/sql_stmt_tests/fromwktexp8.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp8.testcase +++ test/sql_stmt_tests/fromwktexp8.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-8 -:memory: -SELECT AsText(GeomFromText('POINTZ(1.1e1 2.2e-2 4.4E+3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(1.1e1 2.2e-2 4.4E+3)')) -POINT Z(11 0.022 4400) DELETED test/sql_stmt_tests/fromwktexp9.testcase Index: test/sql_stmt_tests/fromwktexp9.testcase ================================================================== --- test/sql_stmt_tests/fromwktexp9.testcase +++ test/sql_stmt_tests/fromwktexp9.testcase @@ -1,7 +0,0 @@ -From Text - PointZ Exp-9 -:memory: -SELECT AsText(GeomFromText('POINTZ(1.1e1 +2.2e-2 -4.4E+3)')); -1 # rows -1 # column -AsText(GeomFromText('POINTZ(1.1e1 +2.2e-2 -4.4E+3)')) -POINT Z(11 0.022 -4400) DELETED test/sql_stmt_tests/geomfromkmlexp1.testcase Index: test/sql_stmt_tests/geomfromkmlexp1.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp1.testcase +++ test/sql_stmt_tests/geomfromkmlexp1.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-1 -:memory: -SELECT AsText(GeomFromKML(".1,.2,.3")) -1 # rows -1 # column -AsText(GeomFromKML(".1,.2,.3"))) -POINT Z(0.1 0.2 0.3) DELETED test/sql_stmt_tests/geomfromkmlexp2.testcase Index: test/sql_stmt_tests/geomfromkmlexp2.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp2.testcase +++ test/sql_stmt_tests/geomfromkmlexp2.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-2 -:memory: -SELECT AsText(GeomFromKML(".1,-.2,+.3")) -1 # rows -1 # column -AsText(GeomFromKML(".1,-.2,+.3"))) -POINT Z(0.1 -0.2 0.3) DELETED test/sql_stmt_tests/geomfromkmlexp3.testcase Index: test/sql_stmt_tests/geomfromkmlexp3.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp3.testcase +++ test/sql_stmt_tests/geomfromkmlexp3.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-3 -:memory: -SELECT AsText(GeomFromKML(".1e1,.2e2,.3E3")) -1 # rows -1 # column -AsText(GeomFromKML(".1e1,.2e2,.3E3"))) -POINT Z(1 20 300) DELETED test/sql_stmt_tests/geomfromkmlexp4.testcase Index: test/sql_stmt_tests/geomfromkmlexp4.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp4.testcase +++ test/sql_stmt_tests/geomfromkmlexp4.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-4 -:memory: -SELECT AsText(GeomFromKML(".1e1,.2e-2,.3E+3")) -1 # rows -1 # column -AsText(GeomFromKML(".1e1,.2e-2,.3E+3"))) -POINT Z(1 0.002 300) DELETED test/sql_stmt_tests/geomfromkmlexp5.testcase Index: test/sql_stmt_tests/geomfromkmlexp5.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp5.testcase +++ test/sql_stmt_tests/geomfromkmlexp5.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-5 -:memory: -SELECT AsText(GeomFromKML(".1e1,+.2e-2,-.3E+3")) -1 # rows -1 # column -AsText(GeomFromKML(".1e1,+.2e-2,-.3E+3"))) -POINT Z(1 0.002 -300) DELETED test/sql_stmt_tests/geomfromkmlexp6.testcase Index: test/sql_stmt_tests/geomfromkmlexp6.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp6.testcase +++ test/sql_stmt_tests/geomfromkmlexp6.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-6 -:memory: -SELECT AsText(GeomFromKML(".1e1,+.2e2,-.3E3")) -1 # rows -1 # column -AsText(GeomFromKML(".1e1,+.2e2,-.3E3"))) -POINT Z(1 20 -300) DELETED test/sql_stmt_tests/geomfromkmlexp7.testcase Index: test/sql_stmt_tests/geomfromkmlexp7.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp7.testcase +++ test/sql_stmt_tests/geomfromkmlexp7.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-7 -:memory: -SELECT AsText(GeomFromKML("1.1e1,2.2e2,4.4E3")) -1 # rows -1 # column -AsText(GeomFromKML("1.1e1,2.2e2,4.4E3"))) -POINT Z(11 220 4400) DELETED test/sql_stmt_tests/geomfromkmlexp8.testcase Index: test/sql_stmt_tests/geomfromkmlexp8.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp8.testcase +++ test/sql_stmt_tests/geomfromkmlexp8.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-8 -:memory: -SELECT AsText(GeomFromKML("1.1e1,2.2e-2,4.4E+3")) -1 # rows -1 # column -AsText(GeomFromKML("1.1e1,2.2e-2,4.4E+3"))) -POINT Z(11 0.022 4400) DELETED test/sql_stmt_tests/geomfromkmlexp9.testcase Index: test/sql_stmt_tests/geomfromkmlexp9.testcase ================================================================== --- test/sql_stmt_tests/geomfromkmlexp9.testcase +++ test/sql_stmt_tests/geomfromkmlexp9.testcase @@ -1,7 +0,0 @@ -From KML - Point Exp-9 -:memory: -SELECT AsText(GeomFromKML("1.1e1,+2.2e-2,-4.4E+3")) -1 # rows -1 # column -AsText(GeomFromKML("1.1e1,+2.2e-2,-4.4E+3"))) -POINT Z(11 0.022 -4400) DELETED test/sql_stmt_tests/removedupl3.testcase Index: test/sql_stmt_tests/removedupl3.testcase ================================================================== --- test/sql_stmt_tests/removedupl3.testcase +++ test/sql_stmt_tests/removedupl3.testcase @@ -1,7 +0,0 @@ -RemoveDuplicateRows() - NULL transaction -:memory: #use in-memory database -SELECT RemoveDuplicateRows('table', NULL); -1 # rows (not including the header row) -1 # columns -RemoveDuplicateRows('table', NULL) -(NULL) DELETED test/sql_stmt_tests/removedupl4.testcase Index: test/sql_stmt_tests/removedupl4.testcase ================================================================== --- test/sql_stmt_tests/removedupl4.testcase +++ test/sql_stmt_tests/removedupl4.testcase @@ -1,7 +0,0 @@ -RemoveDuplicateRows() - not existing table + transaction -:memory: #use in-memory database -SELECT RemoveDuplicateRows('table', 0); -1 # rows (not including the header row) -1 # columns -RemoveDuplicateRows('table', 0) -(NULL) DELETED test/sql_stmt_tests/repeatedpoints1.testcase Index: test/sql_stmt_tests/repeatedpoints1.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints1.testcase +++ test/sql_stmt_tests/repeatedpoints1.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints NULL Geometry -:memory: #use in-memory database -SELECT RemoveRepeatedPoints(NULL); -1 # rows (not including the header row) -1 # columns -RemoveRepeatedPoints(NULL) -(NULL) DELETED test/sql_stmt_tests/repeatedpoints10.testcase Index: test/sql_stmt_tests/repeatedpoints10.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints10.testcase +++ test/sql_stmt_tests/repeatedpoints10.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Repeated Points XY -:memory: #use in-memory database -SELECT AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), POINT(1 1), LINESTRING(10 10, 10 10, 10 10, 40 40, 40 40), POLYGON((50 50, 100 50, 100 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 60, 80 60, 80 80, 60 80, 60 60)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), POINT(1 1), LINESTRING(10 10, 10 10, 10 10, 40 40, 40 40), POLYGON((50 50, 100 50, 100 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 60, 80 60, 80 80, 60 80, 60 60)))', 4326))); -GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60))) DELETED test/sql_stmt_tests/repeatedpoints11.testcase Index: test/sql_stmt_tests/repeatedpoints11.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints11.testcase +++ test/sql_stmt_tests/repeatedpoints11.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Repeated Points XYZ -:memory: #use in-memory database -SELECT AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(1 1 2), LINESTRINGZ(10 10 1, 10 10 1, 10 10 1, 40 40 3, 40 40 3), POLYGONZ((50 50 1, 100 50 2, 100 50 2, 100 50 2, 100 100 4, 50 100 5, 50 50 1), (60 60 5, 80 60 4, 80 60 4, 80 60 4, 80 80 2, 60 80 1, 60 60 5)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTIONZ(POINTZ(1 1 2), LINESTRINGZ(10 10 1, 10 10 1, 10 10 1, 40 40 3, 40 40 3), POLYGONZ((50 50 1, 100 50 2, 100 50 2, 100 50 2, 100 100 4, 50 100 5, 50 50 1), (60 60 5, 80 60 4, 80 60 4, 80 60 4, 80 80 2, 60 80 1, 60 60 5)))', 4326))); -GEOMETRYCOLLECTION Z(POINT Z(1 1 2), LINESTRING Z(10 10 1, 40 40 3), POLYGON Z((50 50 1, 100 50 2, 100 100 4, 50 100 5, 50 50 1), (60 60 5, 80 60 4, 80 80 2, 60 80 1, 60 60 5))) DELETED test/sql_stmt_tests/repeatedpoints12.testcase Index: test/sql_stmt_tests/repeatedpoints12.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints12.testcase +++ test/sql_stmt_tests/repeatedpoints12.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Repeated Points XYM -:memory: #use in-memory database -SELECT AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(1 1 2), LINESTRINGM(10 10 1, 10 10 1, 10 10 1, 40 40 3, 40 40 3), POLYGONM((50 50 1, 100 50 2, 100 50 3, 100 50 3, 100 100 4, 50 100 5, 50 50 1), (60 60 5, 80 60 4, 80 60 4, 80 60 4, 80 80 2, 60 80 1, 60 60 5)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTIONM(POINTM(1 1 2), LINESTRINGM(10 10 1, 10 10 1, 10 10 1, 40 40 3, 40 40 3), POLYGONM((50 50 1, 100 50 2, 100 50 3, 100 50 3, 100 100 4, 50 100 5, 50 50 1), (60 60 5, 80 60 4, 80 60 4, 80 60 4, 80 80 2, 60 80 1, 60 60 5)))', 4326))); -GEOMETRYCOLLECTION M(POINT M(1 1 2), LINESTRING M(10 10 1, 40 40 3), POLYGON M((50 50 1, 100 50 2, 100 100 4, 50 100 5, 50 50 1), (60 60 5, 80 60 4, 80 80 2, 60 80 1, 60 60 5))) DELETED test/sql_stmt_tests/repeatedpoints13.testcase Index: test/sql_stmt_tests/repeatedpoints13.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints13.testcase +++ test/sql_stmt_tests/repeatedpoints13.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Repeated Points XYZM -:memory: #use in-memory database -SELECT AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(1 1 2 3), LINESTRINGZM(10 10 1 2, 10 10 1 2, 10 10 1 2, 40 40 3 4, 40 40 3 4), POLYGONZM((50 50 1 2, 100 50 2 3, 100 50 3 4, 100 50 3 4, 100 100 4 5, 50 100 5 6, 50 50 1 2), (60 60 5 6, 80 60 4 5, 80 60 4 5, 80 60 4 5, 80 80 2 3, 60 80 1 2, 60 60 5 6)))', 4326), 0)); -1 # rows (not including the header row) -1 # columns -AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTIONZM(POINTZM(1 1 2 3), LINESTRINGZM(10 10 1 2, 10 10 1 2, 10 10 1 2, 40 40 3 4, 40 40 3 4), POLYGONZM((50 50 1 2, 100 50 2 3, 100 50 3 4, 100 50 3 4, 100 100 4 5, 50 100 5 6, 50 50 1 2), (60 60 5 6, 80 60 4 5, 80 60 4 5, 80 60 4 5, 80 80 2 3, 60 80 1 2, 60 60 5 6)))', 4326), 0)); -GEOMETRYCOLLECTION ZM(POINT ZM(1 1 2 3), LINESTRING ZM(10 10 1 2, 40 40 3 4), POLYGON ZM((50 50 1 2, 100 50 2 3, 100 50 3 4, 100 100 4 5, 50 100 5 6, 50 50 1 2), (60 60 5 6, 80 60 4 5, 80 80 2 3, 60 80 1 2, 60 60 5 6))) DELETED test/sql_stmt_tests/repeatedpoints14.testcase Index: test/sql_stmt_tests/repeatedpoints14.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints14.testcase +++ test/sql_stmt_tests/repeatedpoints14.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Repeated Points MultiPoint + tolerance -:memory: #use in-memory database -SELECT AsText(RemoveRepeatedPoints(GeomFromText('MULTIPOINT(10 10, 10.01 10.01, 20 20, 10.02 10.02, 20.01 20.01, 10 10, 20 20)', 4326), 0.1)); -1 # rows (not including the header row) -1 # columns -AsText(RemoveRepeatedPoints(GeomFromText('MULTIPOINT(10 10, 10.01 10.01, 20 20, 10.02 10.02, 20.01 20.01, 10 10, 20 20)', 4326), 0.1)) -MULTIPOINT(10 10, 20 20) DELETED test/sql_stmt_tests/repeatedpoints2.testcase Index: test/sql_stmt_tests/repeatedpoints2.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints2.testcase +++ test/sql_stmt_tests/repeatedpoints2.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Int Geometry -:memory: #use in-memory database -SELECT RemoveRepeatedPoints(1); -1 # rows (not including the header row) -1 # columns -RemoveRepeatedPoints(1) -(NULL) DELETED test/sql_stmt_tests/repeatedpoints3.testcase Index: test/sql_stmt_tests/repeatedpoints3.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints3.testcase +++ test/sql_stmt_tests/repeatedpoints3.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Double Geometry -:memory: #use in-memory database -SELECT RemoveRepeatedPoints(1.5); -1 # rows (not including the header row) -1 # columns -RemoveRepeatedPoints(1.5) -(NULL) DELETED test/sql_stmt_tests/repeatedpoints4.testcase Index: test/sql_stmt_tests/repeatedpoints4.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints4.testcase +++ test/sql_stmt_tests/repeatedpoints4.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Text Geometry -:memory: #use in-memory database -SELECT RemoveRepeatedPoints('geom'); -1 # rows (not including the header row) -1 # columns -RemoveRepeatedPoints('geom') -(NULL) DELETED test/sql_stmt_tests/repeatedpoints5.testcase Index: test/sql_stmt_tests/repeatedpoints5.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints5.testcase +++ test/sql_stmt_tests/repeatedpoints5.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Invalid BLOB Geometry -:memory: #use in-memory database -SELECT RemoveRepeatedPoints(zeroblob(100)); -1 # rows (not including the header row) -1 # columns -RemoveRepeatedPoints(zeroblob(100)) -(NULL) DELETED test/sql_stmt_tests/repeatedpoints6.testcase Index: test/sql_stmt_tests/repeatedpoints6.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints6.testcase +++ test/sql_stmt_tests/repeatedpoints6.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints NULL tolerance -:memory: #use in-memory database -SELECT RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326), NULL); -1 # rows (not including the header row) -1 # columns -RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326), NULL) -(NULL) DELETED test/sql_stmt_tests/repeatedpoints7.testcase Index: test/sql_stmt_tests/repeatedpoints7.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints7.testcase +++ test/sql_stmt_tests/repeatedpoints7.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Text tolerance -:memory: #use in-memory database -SELECT RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326), 'tolerance'); -1 # rows (not including the header row) -1 # columns -RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326), 'tolerance') -(NULL) DELETED test/sql_stmt_tests/repeatedpoints8.testcase Index: test/sql_stmt_tests/repeatedpoints8.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints8.testcase +++ test/sql_stmt_tests/repeatedpoints8.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints BLOB tolerance -:memory: #use in-memory database -SELECT RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326), zeroblob(10)); -1 # rows (not including the header row) -1 # columns -RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326), zeroblob(10)) -(NULL) DELETED test/sql_stmt_tests/repeatedpoints9.testcase Index: test/sql_stmt_tests/repeatedpoints9.testcase ================================================================== --- test/sql_stmt_tests/repeatedpoints9.testcase +++ test/sql_stmt_tests/repeatedpoints9.testcase @@ -1,7 +0,0 @@ -RemoveRepeatedPoints Valid Geometry -:memory: #use in-memory database -SELECT AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326))); -1 # rows (not including the header row) -1 # columns -AsText(RemoveRepeatedPoints(GeomFromText('GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60)))', 4326))) -GEOMETRYCOLLECTION(POINT(1 1), LINESTRING(10 10, 40 40), POLYGON((50 50, 100 50, 100 100, 50 100, 50 50), (60 60, 80 60, 80 80, 60 80, 60 60))) DELETED test/sql_stmt_tests/wms_defaultsetting1.testcase Index: test/sql_stmt_tests/wms_defaultsetting1.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting1.testcase +++ test/sql_stmt_tests/wms_defaultsetting1.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - NULL URL -:memory: #use in-memory database -SELECT WMS_DefaultSetting(NULL, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting(NULL, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting10.testcase Index: test/sql_stmt_tests/wms_defaultsetting10.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting10.testcase +++ test/sql_stmt_tests/wms_defaultsetting10.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - Int value -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', 'key', 1); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', 'key', 1) --1 DELETED test/sql_stmt_tests/wms_defaultsetting11.testcase Index: test/sql_stmt_tests/wms_defaultsetting11.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting11.testcase +++ test/sql_stmt_tests/wms_defaultsetting11.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - Double value -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', 'key', 1.1); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', 'key', 1.1) --1 DELETED test/sql_stmt_tests/wms_defaultsetting12.testcase Index: test/sql_stmt_tests/wms_defaultsetting12.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting12.testcase +++ test/sql_stmt_tests/wms_defaultsetting12.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - BLOB value -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', 'key', zeroblob(10)); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', 'key', zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_defaultsetting13.testcase Index: test/sql_stmt_tests/wms_defaultsetting13.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting13.testcase +++ test/sql_stmt_tests/wms_defaultsetting13.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - valid args -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', 'key', 'value') -0 DELETED test/sql_stmt_tests/wms_defaultsetting14.testcase Index: test/sql_stmt_tests/wms_defaultsetting14.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting14.testcase +++ test/sql_stmt_tests/wms_defaultsetting14.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', NULL, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', NULL, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting15.testcase Index: test/sql_stmt_tests/wms_defaultsetting15.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting15.testcase +++ test/sql_stmt_tests/wms_defaultsetting15.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - Int layer-name -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 1, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 1, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting16.testcase Index: test/sql_stmt_tests/wms_defaultsetting16.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting16.testcase +++ test/sql_stmt_tests/wms_defaultsetting16.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - Double layer-name -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 1.1, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 1.1, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting17.testcase Index: test/sql_stmt_tests/wms_defaultsetting17.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting17.testcase +++ test/sql_stmt_tests/wms_defaultsetting17.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', zeroblob(6), 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', zeroblob(6), 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting2.testcase Index: test/sql_stmt_tests/wms_defaultsetting2.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting2.testcase +++ test/sql_stmt_tests/wms_defaultsetting2.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - Int URL -:memory: #use in-memory database -SELECT WMS_DefaultSetting(1, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting(1, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting3.testcase Index: test/sql_stmt_tests/wms_defaultsetting3.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting3.testcase +++ test/sql_stmt_tests/wms_defaultsetting3.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - Double URL -:memory: #use in-memory database -SELECT WMS_DefaultSetting(1.1, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting(1.1, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting4.testcase Index: test/sql_stmt_tests/wms_defaultsetting4.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting4.testcase +++ test/sql_stmt_tests/wms_defaultsetting4.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - BLOB URL -:memory: #use in-memory database -SELECT WMS_DefaultSetting(zeroblob(10), 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting(zeroblob(10), 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting5.testcase Index: test/sql_stmt_tests/wms_defaultsetting5.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting5.testcase +++ test/sql_stmt_tests/wms_defaultsetting5.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - NULL key -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', NULL, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', NULL, 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting6.testcase Index: test/sql_stmt_tests/wms_defaultsetting6.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting6.testcase +++ test/sql_stmt_tests/wms_defaultsetting6.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - Int key -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', 1, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', 1, 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting7.testcase Index: test/sql_stmt_tests/wms_defaultsetting7.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting7.testcase +++ test/sql_stmt_tests/wms_defaultsetting7.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - Double key -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', 1.1, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', 1.1, 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting8.testcase Index: test/sql_stmt_tests/wms_defaultsetting8.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting8.testcase +++ test/sql_stmt_tests/wms_defaultsetting8.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - BLOB key -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', zeroblob(10), 'value'); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', zeroblob(10), 'value') --1 DELETED test/sql_stmt_tests/wms_defaultsetting9.testcase Index: test/sql_stmt_tests/wms_defaultsetting9.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsetting9.testcase +++ test/sql_stmt_tests/wms_defaultsetting9.testcase @@ -1,7 +0,0 @@ -WMS_DefaultSetting() - NULL value -:memory: #use in-memory database -SELECT WMS_DefaultSetting('some-url', 'layer', 'key', NULL); -1 # rows (not including the header row) -1 # columns -WMS_DefaultSetting('some-url', 'layer', 'key', NULL) --1 DELETED test/sql_stmt_tests/wms_defaultsrs1.testcase Index: test/sql_stmt_tests/wms_defaultsrs1.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs1.testcase +++ test/sql_stmt_tests/wms_defaultsrs1.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - BLOB URL -:memory: #use in-memory database -SELECT WMS_DefaultRefSys(NULL, 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys(NULL, 'layer', 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs10.testcase Index: test/sql_stmt_tests/wms_defaultsrs10.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs10.testcase +++ test/sql_stmt_tests/wms_defaultsrs10.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - Int ref-sys -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', 'layer', 1) -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', 'layer', 1):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs11.testcase Index: test/sql_stmt_tests/wms_defaultsrs11.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs11.testcase +++ test/sql_stmt_tests/wms_defaultsrs11.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - Double ref-sys -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', 'layer', 1.1) -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', 'layer', 1.1):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs12.testcase Index: test/sql_stmt_tests/wms_defaultsrs12.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs12.testcase +++ test/sql_stmt_tests/wms_defaultsrs12.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - BLOB ref-sys -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', 'layer', zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', 'layer', zeroblob(10)):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs13.testcase Index: test/sql_stmt_tests/wms_defaultsrs13.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs13.testcase +++ test/sql_stmt_tests/wms_defaultsrs13.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - valid args -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', 'layer', 'EPSG:4326'):0 -0 DELETED test/sql_stmt_tests/wms_defaultsrs2.testcase Index: test/sql_stmt_tests/wms_defaultsrs2.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs2.testcase +++ test/sql_stmt_tests/wms_defaultsrs2.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - Int URL -:memory: #use in-memory database -SELECT WMS_DefaultRefSys(1, 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys(1, 'layer', 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs3.testcase Index: test/sql_stmt_tests/wms_defaultsrs3.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs3.testcase +++ test/sql_stmt_tests/wms_defaultsrs3.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - Double URL -:memory: #use in-memory database -SELECT WMS_DefaultRefSys(1.1, 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys(1.1, 'layer', 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs4.testcase Index: test/sql_stmt_tests/wms_defaultsrs4.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs4.testcase +++ test/sql_stmt_tests/wms_defaultsrs4.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - BLOB URL -:memory: #use in-memory database -SELECT WMS_DefaultRefSys(zeroblob(4), 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys(zeroblob(4), 'layer', 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs5.testcase Index: test/sql_stmt_tests/wms_defaultsrs5.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs5.testcase +++ test/sql_stmt_tests/wms_defaultsrs5.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', NULL, 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', NULL, 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs6.testcase Index: test/sql_stmt_tests/wms_defaultsrs6.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs6.testcase +++ test/sql_stmt_tests/wms_defaultsrs6.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - Int layer-name -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', 1, 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', 1, 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs7.testcase Index: test/sql_stmt_tests/wms_defaultsrs7.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs7.testcase +++ test/sql_stmt_tests/wms_defaultsrs7.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - Double layer-name -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', 1.1, 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', 1.1, 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs8.testcase Index: test/sql_stmt_tests/wms_defaultsrs8.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs8.testcase +++ test/sql_stmt_tests/wms_defaultsrs8.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', zeroblob(4), 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', zeroblob(4), 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_defaultsrs9.testcase Index: test/sql_stmt_tests/wms_defaultsrs9.testcase ================================================================== --- test/sql_stmt_tests/wms_defaultsrs9.testcase +++ test/sql_stmt_tests/wms_defaultsrs9.testcase @@ -1,7 +0,0 @@ -WMS_DefaultRefSys() - NULL ref-sys -:memory: #use in-memory database -SELECT WMS_DefaultRefSys('some-url', 'layer', NULL) -1 # rows (not including the header row) -1 # columns -WMS_DefaultRefSys('some-url', 'layer', NULL):0 --1 DELETED test/sql_stmt_tests/wms_getinfo_url1.testcase Index: test/sql_stmt_tests/wms_getinfo_url1.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url1.testcase +++ test/sql_stmt_tests/wms_getinfo_url1.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL base-URL -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl(NULL, 'layer', 1024, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl(NULL, 'layer', 1024, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url10.testcase Index: test/sql_stmt_tests/wms_getinfo_url10.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url10.testcase +++ test/sql_stmt_tests/wms_getinfo_url10.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Int width -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url11.testcase Index: test/sql_stmt_tests/wms_getinfo_url11.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url11.testcase +++ test/sql_stmt_tests/wms_getinfo_url11.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Double width -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1.1, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1.1, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url12.testcase Index: test/sql_stmt_tests/wms_getinfo_url12.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url12.testcase +++ test/sql_stmt_tests/wms_getinfo_url12.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB width -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', zeroblob(4), 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', zeroblob(4), 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url13.testcase Index: test/sql_stmt_tests/wms_getinfo_url13.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url13.testcase +++ test/sql_stmt_tests/wms_getinfo_url13.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL height -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, NULL, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, NULL, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url14.testcase Index: test/sql_stmt_tests/wms_getinfo_url14.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url14.testcase +++ test/sql_stmt_tests/wms_getinfo_url14.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Int height -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url15.testcase Index: test/sql_stmt_tests/wms_getinfo_url15.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url15.testcase +++ test/sql_stmt_tests/wms_getinfo_url15.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Double height -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1.1, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1.1, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url16.testcase Index: test/sql_stmt_tests/wms_getinfo_url16.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url16.testcase +++ test/sql_stmt_tests/wms_getinfo_url16.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB height -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, zeroblob(5), 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, zeroblob(5), 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url17.testcase Index: test/sql_stmt_tests/wms_getinfo_url17.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url17.testcase +++ test/sql_stmt_tests/wms_getinfo_url17.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL minx -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, NULL, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, NULL, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url18.testcase Index: test/sql_stmt_tests/wms_getinfo_url18.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url18.testcase +++ test/sql_stmt_tests/wms_getinfo_url18.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Text minx -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 'minx', 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 'minx', 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url19.testcase Index: test/sql_stmt_tests/wms_getinfo_url19.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url19.testcase +++ test/sql_stmt_tests/wms_getinfo_url19.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB minx -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, zeroblob(4), 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, zeroblob(4), 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url2.testcase Index: test/sql_stmt_tests/wms_getinfo_url2.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url2.testcase +++ test/sql_stmt_tests/wms_getinfo_url2.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Int base-URL -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl(1, 'layer', 1024, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl(1, 'layer', 1024, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url20.testcase Index: test/sql_stmt_tests/wms_getinfo_url20.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url20.testcase +++ test/sql_stmt_tests/wms_getinfo_url20.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL miny -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, NULL, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, NULL, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url21.testcase Index: test/sql_stmt_tests/wms_getinfo_url21.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url21.testcase +++ test/sql_stmt_tests/wms_getinfo_url21.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Text miny -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 'miny', 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 'miny', 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url22.testcase Index: test/sql_stmt_tests/wms_getinfo_url22.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url22.testcase +++ test/sql_stmt_tests/wms_getinfo_url22.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB miny -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, zeroblob(5), 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, zeroblob(5), 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url23.testcase Index: test/sql_stmt_tests/wms_getinfo_url23.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url23.testcase +++ test/sql_stmt_tests/wms_getinfo_url23.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL maxx -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, NULL, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, NULL, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url24.testcase Index: test/sql_stmt_tests/wms_getinfo_url24.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url24.testcase +++ test/sql_stmt_tests/wms_getinfo_url24.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Text maxx -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 'maxy', 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 'maxy', 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url25.testcase Index: test/sql_stmt_tests/wms_getinfo_url25.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url25.testcase +++ test/sql_stmt_tests/wms_getinfo_url25.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB maxx -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, zeroblob(6), 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, zeroblob(6), 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url26.testcase Index: test/sql_stmt_tests/wms_getinfo_url26.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url26.testcase +++ test/sql_stmt_tests/wms_getinfo_url26.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL maxy -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, NULL) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, NULL) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url27.testcase Index: test/sql_stmt_tests/wms_getinfo_url27.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url27.testcase +++ test/sql_stmt_tests/wms_getinfo_url27.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Text maxy -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 'maxy') -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 'maxy') -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url28.testcase Index: test/sql_stmt_tests/wms_getinfo_url28.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url28.testcase +++ test/sql_stmt_tests/wms_getinfo_url28.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB maxy -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, zeroblob(4)) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, zeroblob(4)) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url29.testcase Index: test/sql_stmt_tests/wms_getinfo_url29.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url29.testcase +++ test/sql_stmt_tests/wms_getinfo_url29.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Int maxy -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url3.testcase Index: test/sql_stmt_tests/wms_getinfo_url3.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url3.testcase +++ test/sql_stmt_tests/wms_getinfo_url3.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Double base-URL -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl(1.1, 'layer', 1024, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl(1.1, 'layer', 1024, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url30.testcase Index: test/sql_stmt_tests/wms_getinfo_url30.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url30.testcase +++ test/sql_stmt_tests/wms_getinfo_url30.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Double maxy -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url31.testcase Index: test/sql_stmt_tests/wms_getinfo_url31.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url31.testcase +++ test/sql_stmt_tests/wms_getinfo_url31.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL x -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, NULL, 200, 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, NULL, 200, 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url32.testcase Index: test/sql_stmt_tests/wms_getinfo_url32.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url32.testcase +++ test/sql_stmt_tests/wms_getinfo_url32.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Text x -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 'x', 200, 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 'x', 200, 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url33.testcase Index: test/sql_stmt_tests/wms_getinfo_url33.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url33.testcase +++ test/sql_stmt_tests/wms_getinfo_url33.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Double x -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 1.1, 200, 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 1.1, 200, 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url34.testcase Index: test/sql_stmt_tests/wms_getinfo_url34.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url34.testcase +++ test/sql_stmt_tests/wms_getinfo_url34.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB x -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, zeroblob(10), 200, 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, zeroblob(10), 200, 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url35.testcase Index: test/sql_stmt_tests/wms_getinfo_url35.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url35.testcase +++ test/sql_stmt_tests/wms_getinfo_url35.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL y -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, NULL, 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, NULL, 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url36.testcase Index: test/sql_stmt_tests/wms_getinfo_url36.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url36.testcase +++ test/sql_stmt_tests/wms_getinfo_url36.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Text y -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 'y', 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 'y', 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url37.testcase Index: test/sql_stmt_tests/wms_getinfo_url37.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url37.testcase +++ test/sql_stmt_tests/wms_getinfo_url37.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Double y -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 1.1, 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 1.1, 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url38.testcase Index: test/sql_stmt_tests/wms_getinfo_url38.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url38.testcase +++ test/sql_stmt_tests/wms_getinfo_url38.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB y -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, zeroblob(10), 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, zeroblob(10), 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url39.testcase Index: test/sql_stmt_tests/wms_getinfo_url39.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url39.testcase +++ test/sql_stmt_tests/wms_getinfo_url39.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL feature-count -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5, NULL) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5, NULL) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url4.testcase Index: test/sql_stmt_tests/wms_getinfo_url4.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url4.testcase +++ test/sql_stmt_tests/wms_getinfo_url4.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB base-URL -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl(zeroblob(10), 'layer', 1024, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl(zeroblob(10), 'layer', 1024, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url40.testcase Index: test/sql_stmt_tests/wms_getinfo_url40.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url40.testcase +++ test/sql_stmt_tests/wms_getinfo_url40.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Text feature-count -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5, 'many') -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5, 'many') -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url41.testcase Index: test/sql_stmt_tests/wms_getinfo_url41.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url41.testcase +++ test/sql_stmt_tests/wms_getinfo_url41.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Double feature-count -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5, 1.6) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5, 1.6) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url42.testcase Index: test/sql_stmt_tests/wms_getinfo_url42.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url42.testcase +++ test/sql_stmt_tests/wms_getinfo_url42.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB feature-count -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5, zeroblob(8)) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', 1024, 1024, 100, 200, 30.5, 30.5, 60.5, 60.5, zeroblob(8)) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url5.testcase Index: test/sql_stmt_tests/wms_getinfo_url5.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url5.testcase +++ test/sql_stmt_tests/wms_getinfo_url5.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', NULL, 1024, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', NULL, 1024, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url6.testcase Index: test/sql_stmt_tests/wms_getinfo_url6.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url6.testcase +++ test/sql_stmt_tests/wms_getinfo_url6.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Int layer-name -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 1, 1024, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 1, 1024, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url7.testcase Index: test/sql_stmt_tests/wms_getinfo_url7.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url7.testcase +++ test/sql_stmt_tests/wms_getinfo_url7.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - Double layer-name -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 1.5, 1024, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 1.5, 1024, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url8.testcase Index: test/sql_stmt_tests/wms_getinfo_url8.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url8.testcase +++ test/sql_stmt_tests/wms_getinfo_url8.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', zeroblob(4), 1024, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', zeroblob(4), 1024, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getinfo_url9.testcase Index: test/sql_stmt_tests/wms_getinfo_url9.testcase ================================================================== --- test/sql_stmt_tests/wms_getinfo_url9.testcase +++ test/sql_stmt_tests/wms_getinfo_url9.testcase @@ -1,7 +0,0 @@ -WMS_GetFeatureInfoRequestUrl() - NULL width -:memory: #use in-memory database -SELECT WMS_GetFeatureInfoRequestUrl('some_url', 'layer', NULL, 1024, 100, 200, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetFeatureInfoRequestUrl('some_url', 'layer', NULL, 1024, 100, 200, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url1.testcase Index: test/sql_stmt_tests/wms_getmap_url1.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url1.testcase +++ test/sql_stmt_tests/wms_getmap_url1.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - NULL base-URL -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL(NULL, 'layer', 1024, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL(NULL, 'layer', 1024, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url10.testcase Index: test/sql_stmt_tests/wms_getmap_url10.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url10.testcase +++ test/sql_stmt_tests/wms_getmap_url10.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Int width -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url11.testcase Index: test/sql_stmt_tests/wms_getmap_url11.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url11.testcase +++ test/sql_stmt_tests/wms_getmap_url11.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Double width -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1.1, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1.1, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url12.testcase Index: test/sql_stmt_tests/wms_getmap_url12.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url12.testcase +++ test/sql_stmt_tests/wms_getmap_url12.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - BLOB width -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', zeroblob(4), 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', zeroblob(4), 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url13.testcase Index: test/sql_stmt_tests/wms_getmap_url13.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url13.testcase +++ test/sql_stmt_tests/wms_getmap_url13.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - NULL height -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, NULL, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, NULL, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url14.testcase Index: test/sql_stmt_tests/wms_getmap_url14.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url14.testcase +++ test/sql_stmt_tests/wms_getmap_url14.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Int height -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url15.testcase Index: test/sql_stmt_tests/wms_getmap_url15.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url15.testcase +++ test/sql_stmt_tests/wms_getmap_url15.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Double height -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1.1, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1.1, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url16.testcase Index: test/sql_stmt_tests/wms_getmap_url16.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url16.testcase +++ test/sql_stmt_tests/wms_getmap_url16.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - BLOB height -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, zeroblob(5), 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, zeroblob(5), 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url17.testcase Index: test/sql_stmt_tests/wms_getmap_url17.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url17.testcase +++ test/sql_stmt_tests/wms_getmap_url17.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - NULL minx -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, NULL, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, NULL, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url18.testcase Index: test/sql_stmt_tests/wms_getmap_url18.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url18.testcase +++ test/sql_stmt_tests/wms_getmap_url18.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Text minx -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 'minx', 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 'minx', 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url19.testcase Index: test/sql_stmt_tests/wms_getmap_url19.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url19.testcase +++ test/sql_stmt_tests/wms_getmap_url19.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - BLOB minx -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, zeroblob(4), 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, zeroblob(4), 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url2.testcase Index: test/sql_stmt_tests/wms_getmap_url2.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url2.testcase +++ test/sql_stmt_tests/wms_getmap_url2.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Int base-URL -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL(1, 'layer', 1024, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL(1, 'layer', 1024, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url20.testcase Index: test/sql_stmt_tests/wms_getmap_url20.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url20.testcase +++ test/sql_stmt_tests/wms_getmap_url20.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - NULL miny -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, NULL, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, NULL, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url21.testcase Index: test/sql_stmt_tests/wms_getmap_url21.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url21.testcase +++ test/sql_stmt_tests/wms_getmap_url21.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Text miny -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 'miny', 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 'miny', 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url22.testcase Index: test/sql_stmt_tests/wms_getmap_url22.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url22.testcase +++ test/sql_stmt_tests/wms_getmap_url22.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - BLOB miny -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, zeroblob(5), 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, zeroblob(5), 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url23.testcase Index: test/sql_stmt_tests/wms_getmap_url23.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url23.testcase +++ test/sql_stmt_tests/wms_getmap_url23.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - NULL maxx -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, NULL, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, NULL, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url24.testcase Index: test/sql_stmt_tests/wms_getmap_url24.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url24.testcase +++ test/sql_stmt_tests/wms_getmap_url24.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Text maxx -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 'maxy', 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 'maxy', 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url25.testcase Index: test/sql_stmt_tests/wms_getmap_url25.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url25.testcase +++ test/sql_stmt_tests/wms_getmap_url25.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - BLOB maxx -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, zeroblob(6), 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, zeroblob(6), 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url26.testcase Index: test/sql_stmt_tests/wms_getmap_url26.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url26.testcase +++ test/sql_stmt_tests/wms_getmap_url26.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - NULL maxy -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, NULL) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, NULL) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url27.testcase Index: test/sql_stmt_tests/wms_getmap_url27.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url27.testcase +++ test/sql_stmt_tests/wms_getmap_url27.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Text maxy -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, 'maxy') -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, 'maxy') -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url28.testcase Index: test/sql_stmt_tests/wms_getmap_url28.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url28.testcase +++ test/sql_stmt_tests/wms_getmap_url28.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - BLOB maxy -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, zeroblob(4)) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, zeroblob(4)) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url29.testcase Index: test/sql_stmt_tests/wms_getmap_url29.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url29.testcase +++ test/sql_stmt_tests/wms_getmap_url29.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Int maxy -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url3.testcase Index: test/sql_stmt_tests/wms_getmap_url3.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url3.testcase +++ test/sql_stmt_tests/wms_getmap_url3.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Double base-URL -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL(1.1, 'layer', 1024, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL(1.1, 'layer', 1024, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url30.testcase Index: test/sql_stmt_tests/wms_getmap_url30.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url30.testcase +++ test/sql_stmt_tests/wms_getmap_url30.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Double maxy -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, 60.5) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', 1024, 1024, 30.5, 30.5, 60.5, 60.5) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url4.testcase Index: test/sql_stmt_tests/wms_getmap_url4.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url4.testcase +++ test/sql_stmt_tests/wms_getmap_url4.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - BLOB base-URL -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL(zeroblob(10), 'layer', 1024, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL(zeroblob(10), 'layer', 1024, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url5.testcase Index: test/sql_stmt_tests/wms_getmap_url5.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url5.testcase +++ test/sql_stmt_tests/wms_getmap_url5.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', NULL, 1024, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', NULL, 1024, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url6.testcase Index: test/sql_stmt_tests/wms_getmap_url6.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url6.testcase +++ test/sql_stmt_tests/wms_getmap_url6.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Int layer-name -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 1, 1024, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 1, 1024, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url7.testcase Index: test/sql_stmt_tests/wms_getmap_url7.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url7.testcase +++ test/sql_stmt_tests/wms_getmap_url7.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - Double layer-name -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 1.5, 1024, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 1.5, 1024, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url8.testcase Index: test/sql_stmt_tests/wms_getmap_url8.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url8.testcase +++ test/sql_stmt_tests/wms_getmap_url8.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', zeroblob(4), 1024, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', zeroblob(4), 1024, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmap_url9.testcase Index: test/sql_stmt_tests/wms_getmap_url9.testcase ================================================================== --- test/sql_stmt_tests/wms_getmap_url9.testcase +++ test/sql_stmt_tests/wms_getmap_url9.testcase @@ -1,7 +0,0 @@ -WMS_GetMapRequestURL() - NULL width -:memory: #use in-memory database -SELECT WMS_GetMapRequestURL('some_url', 'layer', NULL, 1024, 30, 30, 60, 60) -1 # rows (not including the header row) -1 # columns -WMS_GetMapRequestURL('some_url', 'layer', NULL, 1024, 30, 30, 60, 60) -(NULL) DELETED test/sql_stmt_tests/wms_getmapoptions1.testcase Index: test/sql_stmt_tests/wms_getmapoptions1.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions1.testcase +++ test/sql_stmt_tests/wms_getmapoptions1.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL url -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions(NULL, 'layer', 0, 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions(NULL, 'layer', 0, 0) --1 DELETED test/sql_stmt_tests/wms_getmapoptions10.testcase Index: test/sql_stmt_tests/wms_getmapoptions10.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions10.testcase +++ test/sql_stmt_tests/wms_getmapoptions10.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double flip_axes -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 1.1) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 1.1) --1 DELETED test/sql_stmt_tests/wms_getmapoptions11.testcase Index: test/sql_stmt_tests/wms_getmapoptions11.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions11.testcase +++ test/sql_stmt_tests/wms_getmapoptions11.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB flip_axes -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, zeroblob(4)) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, zeroblob(4)) --1 DELETED test/sql_stmt_tests/wms_getmapoptions12.testcase Index: test/sql_stmt_tests/wms_getmapoptions12.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions12.testcase +++ test/sql_stmt_tests/wms_getmapoptions12.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL tiled -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', NULL, 0, 256, 256) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', NULL, 0, 256, 256) --1 DELETED test/sql_stmt_tests/wms_getmapoptions13.testcase Index: test/sql_stmt_tests/wms_getmapoptions13.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions13.testcase +++ test/sql_stmt_tests/wms_getmapoptions13.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Text tiled -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 'no', 0, 256, 256) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 'no', 0, 256, 256) --1 DELETED test/sql_stmt_tests/wms_getmapoptions14.testcase Index: test/sql_stmt_tests/wms_getmapoptions14.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions14.testcase +++ test/sql_stmt_tests/wms_getmapoptions14.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double tiled -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1.1, 0, 256, 256) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1.1, 0, 256, 256) --1 DELETED test/sql_stmt_tests/wms_getmapoptions15.testcase Index: test/sql_stmt_tests/wms_getmapoptions15.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions15.testcase +++ test/sql_stmt_tests/wms_getmapoptions15.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB tiled -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', zeroblob(10), 0, 256, 256) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', zeroblob(10), 0, 256, 256) --1 DELETED test/sql_stmt_tests/wms_getmapoptions16.testcase Index: test/sql_stmt_tests/wms_getmapoptions16.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions16.testcase +++ test/sql_stmt_tests/wms_getmapoptions16.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL cached -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 0, NULL, 256, 256) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 0, NULL, 256, 256) --1 DELETED test/sql_stmt_tests/wms_getmapoptions17.testcase Index: test/sql_stmt_tests/wms_getmapoptions17.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions17.testcase +++ test/sql_stmt_tests/wms_getmapoptions17.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Text cached -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 0, 'no', 256, 256) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 0, 'no', 256, 256) --1 DELETED test/sql_stmt_tests/wms_getmapoptions18.testcase Index: test/sql_stmt_tests/wms_getmapoptions18.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions18.testcase +++ test/sql_stmt_tests/wms_getmapoptions18.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double cached -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 0, 1.1, 256, 256) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 0, 1.1, 256, 256) --1 DELETED test/sql_stmt_tests/wms_getmapoptions19.testcase Index: test/sql_stmt_tests/wms_getmapoptions19.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions19.testcase +++ test/sql_stmt_tests/wms_getmapoptions19.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB cached -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 0, zeroblob(5), 256, 256) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 0, zeroblob(5), 256, 256) --1 DELETED test/sql_stmt_tests/wms_getmapoptions2.testcase Index: test/sql_stmt_tests/wms_getmapoptions2.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions2.testcase +++ test/sql_stmt_tests/wms_getmapoptions2.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Int url -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions(1, 'layer', 0, 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions(1, 'layer', 0, 0) --1 DELETED test/sql_stmt_tests/wms_getmapoptions20.testcase Index: test/sql_stmt_tests/wms_getmapoptions20.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions20.testcase +++ test/sql_stmt_tests/wms_getmapoptions20.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - valid args -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0) -0 DELETED test/sql_stmt_tests/wms_getmapoptions21.testcase Index: test/sql_stmt_tests/wms_getmapoptions21.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions21.testcase +++ test/sql_stmt_tests/wms_getmapoptions21.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL tile-width -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, NULL, 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, NULL, 512) --1 DELETED test/sql_stmt_tests/wms_getmapoptions22.testcase Index: test/sql_stmt_tests/wms_getmapoptions22.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions22.testcase +++ test/sql_stmt_tests/wms_getmapoptions22.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Text tile-width -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 'wow', 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 'wow', 512) --1 DELETED test/sql_stmt_tests/wms_getmapoptions23.testcase Index: test/sql_stmt_tests/wms_getmapoptions23.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions23.testcase +++ test/sql_stmt_tests/wms_getmapoptions23.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double tile-width -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 1.1, 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 1.1, 512) --1 DELETED test/sql_stmt_tests/wms_getmapoptions24.testcase Index: test/sql_stmt_tests/wms_getmapoptions24.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions24.testcase +++ test/sql_stmt_tests/wms_getmapoptions24.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB tile-width -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, zeroblob(10), 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, zeroblob(10), 512) --1 DELETED test/sql_stmt_tests/wms_getmapoptions25.testcase Index: test/sql_stmt_tests/wms_getmapoptions25.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions25.testcase +++ test/sql_stmt_tests/wms_getmapoptions25.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL tile-height -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, NULL) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, NULL) --1 DELETED test/sql_stmt_tests/wms_getmapoptions26.testcase Index: test/sql_stmt_tests/wms_getmapoptions26.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions26.testcase +++ test/sql_stmt_tests/wms_getmapoptions26.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double tile-height -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, 1.1) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, 1.1) --1 DELETED test/sql_stmt_tests/wms_getmapoptions27.testcase Index: test/sql_stmt_tests/wms_getmapoptions27.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions27.testcase +++ test/sql_stmt_tests/wms_getmapoptions27.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Text tile-height -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, 'wow') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, 'wow') --1 DELETED test/sql_stmt_tests/wms_getmapoptions28.testcase Index: test/sql_stmt_tests/wms_getmapoptions28.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions28.testcase +++ test/sql_stmt_tests/wms_getmapoptions28.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB tile-height -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_getmapoptions29.testcase Index: test/sql_stmt_tests/wms_getmapoptions29.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions29.testcase +++ test/sql_stmt_tests/wms_getmapoptions29.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - valid args -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0, 512, 512) -0 DELETED test/sql_stmt_tests/wms_getmapoptions3.testcase Index: test/sql_stmt_tests/wms_getmapoptions3.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions3.testcase +++ test/sql_stmt_tests/wms_getmapoptions3.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double url -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions(1.1, 'layer', 0, 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions(1.1, 'layer', 0, 0) --1 DELETED test/sql_stmt_tests/wms_getmapoptions30.testcase Index: test/sql_stmt_tests/wms_getmapoptions30.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions30.testcase +++ test/sql_stmt_tests/wms_getmapoptions30.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Int bgcolor -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1) --1 DELETED test/sql_stmt_tests/wms_getmapoptions31.testcase Index: test/sql_stmt_tests/wms_getmapoptions31.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions31.testcase +++ test/sql_stmt_tests/wms_getmapoptions31.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double bgcolor -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1.2) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1.2) --1 DELETED test/sql_stmt_tests/wms_getmapoptions32.testcase Index: test/sql_stmt_tests/wms_getmapoptions32.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions32.testcase +++ test/sql_stmt_tests/wms_getmapoptions32.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB bgcolor -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', zeroblob(5)) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', zeroblob(5)) --1 DELETED test/sql_stmt_tests/wms_getmapoptions33.testcase Index: test/sql_stmt_tests/wms_getmapoptions33.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions33.testcase +++ test/sql_stmt_tests/wms_getmapoptions33.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL bgcolor -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', NULL) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', NULL) -0 DELETED test/sql_stmt_tests/wms_getmapoptions34.testcase Index: test/sql_stmt_tests/wms_getmapoptions34.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions34.testcase +++ test/sql_stmt_tests/wms_getmapoptions34.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Text bgcolor - valid -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', '00AABB') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', '00AABB') -0 DELETED test/sql_stmt_tests/wms_getmapoptions35.testcase Index: test/sql_stmt_tests/wms_getmapoptions35.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions35.testcase +++ test/sql_stmt_tests/wms_getmapoptions35.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Text bgcolor - invalid -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 'mom') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 'mom') --1 DELETED test/sql_stmt_tests/wms_getmapoptions36.testcase Index: test/sql_stmt_tests/wms_getmapoptions36.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions36.testcase +++ test/sql_stmt_tests/wms_getmapoptions36.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', NULL, 0, 1, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', NULL, 0, 1, 512, 512) --1 DELETED test/sql_stmt_tests/wms_getmapoptions37.testcase Index: test/sql_stmt_tests/wms_getmapoptions37.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions37.testcase +++ test/sql_stmt_tests/wms_getmapoptions37.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Int layer-name -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 1, 1, 1, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 1, 1, 1, 512, 512) --1 DELETED test/sql_stmt_tests/wms_getmapoptions38.testcase Index: test/sql_stmt_tests/wms_getmapoptions38.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions38.testcase +++ test/sql_stmt_tests/wms_getmapoptions38.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double layer-name -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 1.1, 1, 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 1.1, 1, 0, 512, 512) --1 DELETED test/sql_stmt_tests/wms_getmapoptions39.testcase Index: test/sql_stmt_tests/wms_getmapoptions39.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions39.testcase +++ test/sql_stmt_tests/wms_getmapoptions39.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', zeroblob(4), 1, 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', zeroblob(4), 1, 0, 512, 512) --1 DELETED test/sql_stmt_tests/wms_getmapoptions4.testcase Index: test/sql_stmt_tests/wms_getmapoptions4.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions4.testcase +++ test/sql_stmt_tests/wms_getmapoptions4.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB url -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions(zeroblob(4), 'layer', 0, 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions(zeroblob(4), 'layer', 0, 0) --1 DELETED test/sql_stmt_tests/wms_getmapoptions40.testcase Index: test/sql_stmt_tests/wms_getmapoptions40.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions40.testcase +++ test/sql_stmt_tests/wms_getmapoptions40.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL is_queryable -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', NULL, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', NULL, 'getfeatureinfo') --1 DELETED test/sql_stmt_tests/wms_getmapoptions41.testcase Index: test/sql_stmt_tests/wms_getmapoptions41.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions41.testcase +++ test/sql_stmt_tests/wms_getmapoptions41.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Text is_queryable -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 'no', 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 'no', 'getfeatureinfo') --1 DELETED test/sql_stmt_tests/wms_getmapoptions42.testcase Index: test/sql_stmt_tests/wms_getmapoptions42.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions42.testcase +++ test/sql_stmt_tests/wms_getmapoptions42.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double is_queryable -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1.2, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1.2, 'getfeatureinfo') --1 DELETED test/sql_stmt_tests/wms_getmapoptions43.testcase Index: test/sql_stmt_tests/wms_getmapoptions43.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions43.testcase +++ test/sql_stmt_tests/wms_getmapoptions43.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - BLOB is_queryable -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', zeroblob(6), 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', zeroblob(6), 'getfeatureinfo') --1 DELETED test/sql_stmt_tests/wms_getmapoptions44.testcase Index: test/sql_stmt_tests/wms_getmapoptions44.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions44.testcase +++ test/sql_stmt_tests/wms_getmapoptions44.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - is_queryable, NULL getfeatureinfo-url -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 0, NULL) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 0, NULL) -0 DELETED test/sql_stmt_tests/wms_getmapoptions5.testcase Index: test/sql_stmt_tests/wms_getmapoptions5.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions5.testcase +++ test/sql_stmt_tests/wms_getmapoptions5.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - NULL transparent -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', NULL, 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', NULL, 0) --1 DELETED test/sql_stmt_tests/wms_getmapoptions6.testcase Index: test/sql_stmt_tests/wms_getmapoptions6.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions6.testcase +++ test/sql_stmt_tests/wms_getmapoptions6.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Text transparent -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 'yes', 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 'yes', 0) --1 DELETED test/sql_stmt_tests/wms_getmapoptions7.testcase Index: test/sql_stmt_tests/wms_getmapoptions7.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions7.testcase +++ test/sql_stmt_tests/wms_getmapoptions7.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - Double transparent -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1.1, 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1.1, 0) --1 DELETED test/sql_stmt_tests/wms_getmapoptions8.testcase Index: test/sql_stmt_tests/wms_getmapoptions8.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions8.testcase +++ test/sql_stmt_tests/wms_getmapoptions8.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - valid args -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 0) -0 DELETED test/sql_stmt_tests/wms_getmapoptions9.testcase Index: test/sql_stmt_tests/wms_getmapoptions9.testcase ================================================================== --- test/sql_stmt_tests/wms_getmapoptions9.testcase +++ test/sql_stmt_tests/wms_getmapoptions9.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapOptions() - valid args -:memory: #use in-memory database -SELECT WMS_SetGetMapOptions('some_url', 'layer', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapOptions('some_url', 'layer', 1, 'getfeatureinfo') -0 DELETED test/sql_stmt_tests/wms_registergetcapab1.testcase Index: test/sql_stmt_tests/wms_registergetcapab1.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab1.testcase +++ test/sql_stmt_tests/wms_registergetcapab1.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - NULL URL -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities(NULL) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities(NULL) --1 DELETED test/sql_stmt_tests/wms_registergetcapab10.testcase Index: test/sql_stmt_tests/wms_registergetcapab10.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab10.testcase +++ test/sql_stmt_tests/wms_registergetcapab10.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - Int abstract -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', 'title', 1); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', 'title', 1) --1 DELETED test/sql_stmt_tests/wms_registergetcapab11.testcase Index: test/sql_stmt_tests/wms_registergetcapab11.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab11.testcase +++ test/sql_stmt_tests/wms_registergetcapab11.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - Double abstract -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', 'title', 1.1); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', 'title', 1.1) --1 DELETED test/sql_stmt_tests/wms_registergetcapab12.testcase Index: test/sql_stmt_tests/wms_registergetcapab12.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab12.testcase +++ test/sql_stmt_tests/wms_registergetcapab12.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - BLOB abstract -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', 'title', zeroblob(10)); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', 'title', zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_registergetcapab13.testcase Index: test/sql_stmt_tests/wms_registergetcapab13.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab13.testcase +++ test/sql_stmt_tests/wms_registergetcapab13.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - valid args -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', 'title', 'abstract'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', 'title', 'abstract') -0 DELETED test/sql_stmt_tests/wms_registergetcapab2.testcase Index: test/sql_stmt_tests/wms_registergetcapab2.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab2.testcase +++ test/sql_stmt_tests/wms_registergetcapab2.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - Int URL -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities(1) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities(1) --1 DELETED test/sql_stmt_tests/wms_registergetcapab3.testcase Index: test/sql_stmt_tests/wms_registergetcapab3.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab3.testcase +++ test/sql_stmt_tests/wms_registergetcapab3.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - Double URL -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities(1.1) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities(1.1) --1 DELETED test/sql_stmt_tests/wms_registergetcapab4.testcase Index: test/sql_stmt_tests/wms_registergetcapab4.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab4.testcase +++ test/sql_stmt_tests/wms_registergetcapab4.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - BLOB URL -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities(zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities(zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_registergetcapab5.testcase Index: test/sql_stmt_tests/wms_registergetcapab5.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab5.testcase +++ test/sql_stmt_tests/wms_registergetcapab5.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - NULL title -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', NULL, 'abstract'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', NULL, 'abstract') --1 DELETED test/sql_stmt_tests/wms_registergetcapab6.testcase Index: test/sql_stmt_tests/wms_registergetcapab6.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab6.testcase +++ test/sql_stmt_tests/wms_registergetcapab6.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - Int title -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', 1, 'abstract'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', 1, 'abstract') --1 DELETED test/sql_stmt_tests/wms_registergetcapab7.testcase Index: test/sql_stmt_tests/wms_registergetcapab7.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab7.testcase +++ test/sql_stmt_tests/wms_registergetcapab7.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - Double title -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', 1.1, 'abstract'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', 1.1, 'abstract') --1 DELETED test/sql_stmt_tests/wms_registergetcapab8.testcase Index: test/sql_stmt_tests/wms_registergetcapab8.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab8.testcase +++ test/sql_stmt_tests/wms_registergetcapab8.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - BLOB title -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', zeroblob(10), 'abstract'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', zeroblob(10), 'abstract') --1 DELETED test/sql_stmt_tests/wms_registergetcapab9.testcase Index: test/sql_stmt_tests/wms_registergetcapab9.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetcapab9.testcase +++ test/sql_stmt_tests/wms_registergetcapab9.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetCapabilities() - NULL abstract -:memory: #use in-memory database -SELECT WMS_RegisterGetCapabilities('some-url', 'title', NULL); -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetCapabilities('some-url', 'title', NULL) --1 DELETED test/sql_stmt_tests/wms_registergetmap1.testcase Index: test/sql_stmt_tests/wms_registergetmap1.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap1.testcase +++ test/sql_stmt_tests/wms_registergetmap1.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL GetCapabilities URL -:memory: #use in-memory database -SELECT WMS_RegisterGetMap(NULL, 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap(NULL, 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap10.testcase Index: test/sql_stmt_tests/wms_registergetmap10.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap10.testcase +++ test/sql_stmt_tests/wms_registergetmap10.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int version -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 1, 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 1, 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap11.testcase Index: test/sql_stmt_tests/wms_registergetmap11.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap11.testcase +++ test/sql_stmt_tests/wms_registergetmap11.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double version -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 1.3, 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 1.3, 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap12.testcase Index: test/sql_stmt_tests/wms_registergetmap12.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap12.testcase +++ test/sql_stmt_tests/wms_registergetmap12.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB version -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', zeroblob(10), 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', zeroblob(10), 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap13.testcase Index: test/sql_stmt_tests/wms_registergetmap13.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap13.testcase +++ test/sql_stmt_tests/wms_registergetmap13.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL ref_sys -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', NULL, 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', NULL, 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap14.testcase Index: test/sql_stmt_tests/wms_registergetmap14.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap14.testcase +++ test/sql_stmt_tests/wms_registergetmap14.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int ref_sys -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 1, 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 1, 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap15.testcase Index: test/sql_stmt_tests/wms_registergetmap15.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap15.testcase +++ test/sql_stmt_tests/wms_registergetmap15.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double ref_sys -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 1.4, 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 1.4, 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap16.testcase Index: test/sql_stmt_tests/wms_registergetmap16.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap16.testcase +++ test/sql_stmt_tests/wms_registergetmap16.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB ref_sys -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', zeroblob(10), 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', zeroblob(10), 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap17.testcase Index: test/sql_stmt_tests/wms_registergetmap17.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap17.testcase +++ test/sql_stmt_tests/wms_registergetmap17.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL image-format -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', NULL, 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', NULL, 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap18.testcase Index: test/sql_stmt_tests/wms_registergetmap18.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap18.testcase +++ test/sql_stmt_tests/wms_registergetmap18.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int image-format -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 1, 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 1, 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap19.testcase Index: test/sql_stmt_tests/wms_registergetmap19.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap19.testcase +++ test/sql_stmt_tests/wms_registergetmap19.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double image-format -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 1.1, 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 1.1, 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap2.testcase Index: test/sql_stmt_tests/wms_registergetmap2.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap2.testcase +++ test/sql_stmt_tests/wms_registergetmap2.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int GetCapabilities URL -:memory: #use in-memory database -SELECT WMS_RegisterGetMap(1, 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap(1, 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap20.testcase Index: test/sql_stmt_tests/wms_registergetmap20.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap20.testcase +++ test/sql_stmt_tests/wms_registergetmap20.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB image-format -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', zeroblob(10), 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', zeroblob(10), 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap21.testcase Index: test/sql_stmt_tests/wms_registergetmap21.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap21.testcase +++ test/sql_stmt_tests/wms_registergetmap21.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL style -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', NULL, 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', NULL, 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap22.testcase Index: test/sql_stmt_tests/wms_registergetmap22.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap22.testcase +++ test/sql_stmt_tests/wms_registergetmap22.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int style -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 1, 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 1, 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap23.testcase Index: test/sql_stmt_tests/wms_registergetmap23.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap23.testcase +++ test/sql_stmt_tests/wms_registergetmap23.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double style -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 1.1, 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 1.1, 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap24.testcase Index: test/sql_stmt_tests/wms_registergetmap24.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap24.testcase +++ test/sql_stmt_tests/wms_registergetmap24.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB style -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', zeroblob(10), 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', zeroblob(10), 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap25.testcase Index: test/sql_stmt_tests/wms_registergetmap25.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap25.testcase +++ test/sql_stmt_tests/wms_registergetmap25.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL transparent -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', NULL, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', NULL, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap26.testcase Index: test/sql_stmt_tests/wms_registergetmap26.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap26.testcase +++ test/sql_stmt_tests/wms_registergetmap26.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text transparent -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 'opaque', 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 'opaque', 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap27.testcase Index: test/sql_stmt_tests/wms_registergetmap27.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap27.testcase +++ test/sql_stmt_tests/wms_registergetmap27.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double transparent -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1.1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1.1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap28.testcase Index: test/sql_stmt_tests/wms_registergetmap28.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap28.testcase +++ test/sql_stmt_tests/wms_registergetmap28.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB transparent -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', zeroblob(10), 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', zeroblob(10), 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap29.testcase Index: test/sql_stmt_tests/wms_registergetmap29.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap29.testcase +++ test/sql_stmt_tests/wms_registergetmap29.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL tiled -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, NULL, 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, NULL, 0, 512, 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap3.testcase Index: test/sql_stmt_tests/wms_registergetmap3.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap3.testcase +++ test/sql_stmt_tests/wms_registergetmap3.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double GetCapabilities URL -:memory: #use in-memory database -SELECT WMS_RegisterGetMap(1.2, 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap(1.2, 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap30.testcase Index: test/sql_stmt_tests/wms_registergetmap30.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap30.testcase +++ test/sql_stmt_tests/wms_registergetmap30.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text flip_axes -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 'flip') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 'flip'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap31.testcase Index: test/sql_stmt_tests/wms_registergetmap31.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap31.testcase +++ test/sql_stmt_tests/wms_registergetmap31.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double flip_axes -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 1.1) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 1.1):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap32.testcase Index: test/sql_stmt_tests/wms_registergetmap32.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap32.testcase +++ test/sql_stmt_tests/wms_registergetmap32.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB flip_axes -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, zeroblob(4)) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, zeroblob(4)):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap33.testcase Index: test/sql_stmt_tests/wms_registergetmap33.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap33.testcase +++ test/sql_stmt_tests/wms_registergetmap33.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - valid args -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 1) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 1):0 -0 DELETED test/sql_stmt_tests/wms_registergetmap34.testcase Index: test/sql_stmt_tests/wms_registergetmap34.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap34.testcase +++ test/sql_stmt_tests/wms_registergetmap34.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL tiled -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, NULL, 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, NULL, 0, 512, 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap35.testcase Index: test/sql_stmt_tests/wms_registergetmap35.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap35.testcase +++ test/sql_stmt_tests/wms_registergetmap35.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text tiled -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 'tiled', 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 'tiled', 0, 512, 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap36.testcase Index: test/sql_stmt_tests/wms_registergetmap36.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap36.testcase +++ test/sql_stmt_tests/wms_registergetmap36.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double tiled -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1.1, 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1.1, 0, 512, 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap37.testcase Index: test/sql_stmt_tests/wms_registergetmap37.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap37.testcase +++ test/sql_stmt_tests/wms_registergetmap37.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB tiled -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, zeroblob(10), 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, zeroblob(10), 0, 512, 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap38.testcase Index: test/sql_stmt_tests/wms_registergetmap38.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap38.testcase +++ test/sql_stmt_tests/wms_registergetmap38.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL tile-width -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, NULL, 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, NULL, 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap39.testcase Index: test/sql_stmt_tests/wms_registergetmap39.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap39.testcase +++ test/sql_stmt_tests/wms_registergetmap39.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text tile-width -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 'wow', 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 'wow', 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap4.testcase Index: test/sql_stmt_tests/wms_registergetmap4.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap4.testcase +++ test/sql_stmt_tests/wms_registergetmap4.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB GetCapabilities URL -:memory: #use in-memory database -SELECT WMS_RegisterGetMap(zeroblob(10), 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap(zeroblob(10), 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap40.testcase Index: test/sql_stmt_tests/wms_registergetmap40.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap40.testcase +++ test/sql_stmt_tests/wms_registergetmap40.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double tile-width -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 1.1, 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 1.1, 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap41.testcase Index: test/sql_stmt_tests/wms_registergetmap41.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap41.testcase +++ test/sql_stmt_tests/wms_registergetmap41.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB tile-width -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, zeroblob(10), 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, zeroblob(10), 512):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap42.testcase Index: test/sql_stmt_tests/wms_registergetmap42.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap42.testcase +++ test/sql_stmt_tests/wms_registergetmap42.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL tile-height -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, NULL) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, NULL):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap43.testcase Index: test/sql_stmt_tests/wms_registergetmap43.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap43.testcase +++ test/sql_stmt_tests/wms_registergetmap43.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text tile-height -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 'wow') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 'wow'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap44.testcase Index: test/sql_stmt_tests/wms_registergetmap44.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap44.testcase +++ test/sql_stmt_tests/wms_registergetmap44.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double tile-height -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 1.2) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 1.2):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap45.testcase Index: test/sql_stmt_tests/wms_registergetmap45.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap45.testcase +++ test/sql_stmt_tests/wms_registergetmap45.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB tile-height -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, zeroblob(10)):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap46.testcase Index: test/sql_stmt_tests/wms_registergetmap46.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap46.testcase +++ test/sql_stmt_tests/wms_registergetmap46.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - valid args -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512):0 -0 DELETED test/sql_stmt_tests/wms_registergetmap47.testcase Index: test/sql_stmt_tests/wms_registergetmap47.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap47.testcase +++ test/sql_stmt_tests/wms_registergetmap47.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL title -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', NULL, 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', NULL, 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap48.testcase Index: test/sql_stmt_tests/wms_registergetmap48.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap48.testcase +++ test/sql_stmt_tests/wms_registergetmap48.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int title -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 1, 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 1, 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap49.testcase Index: test/sql_stmt_tests/wms_registergetmap49.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap49.testcase +++ test/sql_stmt_tests/wms_registergetmap49.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double title -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 1.5, 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 1.5, 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap5.testcase Index: test/sql_stmt_tests/wms_registergetmap5.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap5.testcase +++ test/sql_stmt_tests/wms_registergetmap5.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL GetMap URL -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', NULL, 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', NULL, 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap50.testcase Index: test/sql_stmt_tests/wms_registergetmap50.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap50.testcase +++ test/sql_stmt_tests/wms_registergetmap50.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB title -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', zeroblob(10), 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', zeroblob(10), 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap51.testcase Index: test/sql_stmt_tests/wms_registergetmap51.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap51.testcase +++ test/sql_stmt_tests/wms_registergetmap51.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL abstract -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', NULL, '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', NULL, '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap52.testcase Index: test/sql_stmt_tests/wms_registergetmap52.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap52.testcase +++ test/sql_stmt_tests/wms_registergetmap52.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int abstract -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 1, '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 1, '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap53.testcase Index: test/sql_stmt_tests/wms_registergetmap53.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap53.testcase +++ test/sql_stmt_tests/wms_registergetmap53.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double abstract -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 1.7, '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 1.7, '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap54.testcase Index: test/sql_stmt_tests/wms_registergetmap54.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap54.testcase +++ test/sql_stmt_tests/wms_registergetmap54.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB abstract -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', zeroblob(10), '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', zeroblob(10), '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap55.testcase Index: test/sql_stmt_tests/wms_registergetmap55.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap55.testcase +++ test/sql_stmt_tests/wms_registergetmap55.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - valid args -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 -0 DELETED test/sql_stmt_tests/wms_registergetmap56.testcase Index: test/sql_stmt_tests/wms_registergetmap56.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap56.testcase +++ test/sql_stmt_tests/wms_registergetmap56.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL Version -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', NULL, 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', NULL, 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap57.testcase Index: test/sql_stmt_tests/wms_registergetmap57.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap57.testcase +++ test/sql_stmt_tests/wms_registergetmap57.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL ref_sys -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', NULL, 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', NULL, 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap58.testcase Index: test/sql_stmt_tests/wms_registergetmap58.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap58.testcase +++ test/sql_stmt_tests/wms_registergetmap58.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL image_format -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', NULL, 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', NULL, 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap59.testcase Index: test/sql_stmt_tests/wms_registergetmap59.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap59.testcase +++ test/sql_stmt_tests/wms_registergetmap59.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL style -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', NULL, 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', NULL, 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap6.testcase Index: test/sql_stmt_tests/wms_registergetmap6.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap6.testcase +++ test/sql_stmt_tests/wms_registergetmap6.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int GetMap URL -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 1, 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 1, 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap60.testcase Index: test/sql_stmt_tests/wms_registergetmap60.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap60.testcase +++ test/sql_stmt_tests/wms_registergetmap60.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL transparent -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', NULL, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', NULL, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap61.testcase Index: test/sql_stmt_tests/wms_registergetmap61.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap61.testcase +++ test/sql_stmt_tests/wms_registergetmap61.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL flip_axes -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, NULL, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, NULL, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap62.testcase Index: test/sql_stmt_tests/wms_registergetmap62.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap62.testcase +++ test/sql_stmt_tests/wms_registergetmap62.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL tiled -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, NULL, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, NULL, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap63.testcase Index: test/sql_stmt_tests/wms_registergetmap63.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap63.testcase +++ test/sql_stmt_tests/wms_registergetmap63.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL tile_width -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, NULL, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, NULL, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap64.testcase Index: test/sql_stmt_tests/wms_registergetmap64.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap64.testcase +++ test/sql_stmt_tests/wms_registergetmap64.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL tile_height -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, NULL, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, NULL, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap65.testcase Index: test/sql_stmt_tests/wms_registergetmap65.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap65.testcase +++ test/sql_stmt_tests/wms_registergetmap65.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL version -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', NULL, 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', NULL, 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap66.testcase Index: test/sql_stmt_tests/wms_registergetmap66.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap66.testcase +++ test/sql_stmt_tests/wms_registergetmap66.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL ref_sys -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', NULL, 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', NULL, 'image/png', 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap67.testcase Index: test/sql_stmt_tests/wms_registergetmap67.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap67.testcase +++ test/sql_stmt_tests/wms_registergetmap67.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL image_format -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', NULL, 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', NULL, 'default', 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap68.testcase Index: test/sql_stmt_tests/wms_registergetmap68.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap68.testcase +++ test/sql_stmt_tests/wms_registergetmap68.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL style -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', NULL, 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', NULL, 1, 0, 1, 0, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap69.testcase Index: test/sql_stmt_tests/wms_registergetmap69.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap69.testcase +++ test/sql_stmt_tests/wms_registergetmap69.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL cached -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, NULL, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, NULL, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap7.testcase Index: test/sql_stmt_tests/wms_registergetmap7.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap7.testcase +++ test/sql_stmt_tests/wms_registergetmap7.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double GetMap URL -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 1.2, 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 1.2, 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap70.testcase Index: test/sql_stmt_tests/wms_registergetmap70.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap70.testcase +++ test/sql_stmt_tests/wms_registergetmap70.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text cached -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 'yes', 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 'yes', 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap71.testcase Index: test/sql_stmt_tests/wms_registergetmap71.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap71.testcase +++ test/sql_stmt_tests/wms_registergetmap71.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double cached -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1.1, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1.1, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap72.testcase Index: test/sql_stmt_tests/wms_registergetmap72.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap72.testcase +++ test/sql_stmt_tests/wms_registergetmap72.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB cached -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, zeroblob(5), 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, zeroblob(5), 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap73.testcase Index: test/sql_stmt_tests/wms_registergetmap73.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap73.testcase +++ test/sql_stmt_tests/wms_registergetmap73.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL cached -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, NULL, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, NULL, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap74.testcase Index: test/sql_stmt_tests/wms_registergetmap74.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap74.testcase +++ test/sql_stmt_tests/wms_registergetmap74.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int bgcolor -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, 1, 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, 1, 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap75.testcase Index: test/sql_stmt_tests/wms_registergetmap75.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap75.testcase +++ test/sql_stmt_tests/wms_registergetmap75.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double bgcolor -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, 1.1, 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, 1.1, 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap76.testcase Index: test/sql_stmt_tests/wms_registergetmap76.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap76.testcase +++ test/sql_stmt_tests/wms_registergetmap76.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB bgcolor -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, zeroblob(4), 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, zeroblob(4), 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap77.testcase Index: test/sql_stmt_tests/wms_registergetmap77.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap77.testcase +++ test/sql_stmt_tests/wms_registergetmap77.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL bgcolor -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, 'getfeatureinfo'):0 -0 DELETED test/sql_stmt_tests/wms_registergetmap78.testcase Index: test/sql_stmt_tests/wms_registergetmap78.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap78.testcase +++ test/sql_stmt_tests/wms_registergetmap78.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text bgcolor - valid -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, 'ffffff', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, 'ffffff', 1, 'getfeatureinfo'):0 -0 DELETED test/sql_stmt_tests/wms_registergetmap79.testcase Index: test/sql_stmt_tests/wms_registergetmap79.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap79.testcase +++ test/sql_stmt_tests/wms_registergetmap79.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text bgcolor - invalid -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, 'granny', 1, 'getfeatureinfo') -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, 'granny', 1, 'getfeatureinfo'):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap8.testcase Index: test/sql_stmt_tests/wms_registergetmap8.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap8.testcase +++ test/sql_stmt_tests/wms_registergetmap8.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB GetMap URL -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', zeroblob(10), 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', zeroblob(10), 'layer', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap80.testcase Index: test/sql_stmt_tests/wms_registergetmap80.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap80.testcase +++ test/sql_stmt_tests/wms_registergetmap80.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL bgcolor and getfeatureinfo-url (valid) -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, NULL) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, NULL):0 -0 DELETED test/sql_stmt_tests/wms_registergetmap81.testcase Index: test/sql_stmt_tests/wms_registergetmap81.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap81.testcase +++ test/sql_stmt_tests/wms_registergetmap81.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Int getfeatureinfo-url -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, 1) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, 1):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap82.testcase Index: test/sql_stmt_tests/wms_registergetmap82.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap82.testcase +++ test/sql_stmt_tests/wms_registergetmap82.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Double getfeatureinfo-url -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, 1.1) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, 1.1):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap83.testcase Index: test/sql_stmt_tests/wms_registergetmap83.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap83.testcase +++ test/sql_stmt_tests/wms_registergetmap83.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB getfeatureinfo-url -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, zeroblob(20)) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 1, 512, 512, NULL, 1, zeroblob(20)):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap84.testcase Index: test/sql_stmt_tests/wms_registergetmap84.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap84.testcase +++ test/sql_stmt_tests/wms_registergetmap84.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL is_queryable -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, NULL, NULL, NULL) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, NULL, NULL, NULL):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap85.testcase Index: test/sql_stmt_tests/wms_registergetmap85.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap85.testcase +++ test/sql_stmt_tests/wms_registergetmap85.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - Text is_queryable -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, NULL, 'no', NULL) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, NULL, 'no', NULL):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap86.testcase Index: test/sql_stmt_tests/wms_registergetmap86.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap86.testcase +++ test/sql_stmt_tests/wms_registergetmap86.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - BLOB is_queryable -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, NULL, zeroblob(4), NULL) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', 'title', 'abstract', '1.3.0', 'EPSG:3003', 'image/png', 'default', 1, 0, 1, 0, 512, 512, NULL, zeroblob(4), NULL):0 --1 DELETED test/sql_stmt_tests/wms_registergetmap9.testcase Index: test/sql_stmt_tests/wms_registergetmap9.testcase ================================================================== --- test/sql_stmt_tests/wms_registergetmap9.testcase +++ test/sql_stmt_tests/wms_registergetmap9.testcase @@ -1,7 +0,0 @@ -WMS_RegisterGetMap() - NULL version -:memory: #use in-memory database -SELECT WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', NULL, 'EPSG:3003', 'image/png', 'default', 1, 0) -1 # rows (not including the header row) -1 # columns -WMS_RegisterGetMap('getcapabilities_url', 'getmap_url', 'layer', NULL, 'EPSG:3003', 'image/png', 'default', 1, 0):0 --1 DELETED test/sql_stmt_tests/wms_registersetting1.testcase Index: test/sql_stmt_tests/wms_registersetting1.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting1.testcase +++ test/sql_stmt_tests/wms_registersetting1.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - NULL URL -:memory: #use in-memory database -SELECT WMS_RegisterSetting(NULL, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting(NULL, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting10.testcase Index: test/sql_stmt_tests/wms_registersetting10.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting10.testcase +++ test/sql_stmt_tests/wms_registersetting10.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Int value -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', 1); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', 1) --1 DELETED test/sql_stmt_tests/wms_registersetting11.testcase Index: test/sql_stmt_tests/wms_registersetting11.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting11.testcase +++ test/sql_stmt_tests/wms_registersetting11.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Double value -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', 1.1); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', 1.1) --1 DELETED test/sql_stmt_tests/wms_registersetting12.testcase Index: test/sql_stmt_tests/wms_registersetting12.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting12.testcase +++ test/sql_stmt_tests/wms_registersetting12.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - BLOB value -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', zeroblob(10)); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_registersetting13.testcase Index: test/sql_stmt_tests/wms_registersetting13.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting13.testcase +++ test/sql_stmt_tests/wms_registersetting13.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - valid args -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', 'value') -0 DELETED test/sql_stmt_tests/wms_registersetting14.testcase Index: test/sql_stmt_tests/wms_registersetting14.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting14.testcase +++ test/sql_stmt_tests/wms_registersetting14.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - NULL default -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', 'value', NULL); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', 'value', NULL) --1 DELETED test/sql_stmt_tests/wms_registersetting15.testcase Index: test/sql_stmt_tests/wms_registersetting15.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting15.testcase +++ test/sql_stmt_tests/wms_registersetting15.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Double default -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', 'value', 1.5); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', 'value', 1.5) --1 DELETED test/sql_stmt_tests/wms_registersetting16.testcase Index: test/sql_stmt_tests/wms_registersetting16.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting16.testcase +++ test/sql_stmt_tests/wms_registersetting16.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - BLOB default -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', 'value', zeroblob(10)); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', 'value', zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_registersetting17.testcase Index: test/sql_stmt_tests/wms_registersetting17.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting17.testcase +++ test/sql_stmt_tests/wms_registersetting17.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Text default -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', 'value', 'default'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', 'value', 'default') --1 DELETED test/sql_stmt_tests/wms_registersetting18.testcase Index: test/sql_stmt_tests/wms_registersetting18.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting18.testcase +++ test/sql_stmt_tests/wms_registersetting18.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - valid args -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', 'value', 1); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', 'value', 1) -0 DELETED test/sql_stmt_tests/wms_registersetting19.testcase Index: test/sql_stmt_tests/wms_registersetting19.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting19.testcase +++ test/sql_stmt_tests/wms_registersetting19.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', NULL, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', NULL, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting2.testcase Index: test/sql_stmt_tests/wms_registersetting2.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting2.testcase +++ test/sql_stmt_tests/wms_registersetting2.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Int URL -:memory: #use in-memory database -SELECT WMS_RegisterSetting(1, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting(1, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting20.testcase Index: test/sql_stmt_tests/wms_registersetting20.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting20.testcase +++ test/sql_stmt_tests/wms_registersetting20.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Int layer-name -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 1, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 1, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting21.testcase Index: test/sql_stmt_tests/wms_registersetting21.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting21.testcase +++ test/sql_stmt_tests/wms_registersetting21.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Double layer-name -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 1.1, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 1.1, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting22.testcase Index: test/sql_stmt_tests/wms_registersetting22.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting22.testcase +++ test/sql_stmt_tests/wms_registersetting22.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', zeroblob(6), 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', zeroblob(6), 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting3.testcase Index: test/sql_stmt_tests/wms_registersetting3.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting3.testcase +++ test/sql_stmt_tests/wms_registersetting3.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Double URL -:memory: #use in-memory database -SELECT WMS_RegisterSetting(1.1, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting(1.1, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting4.testcase Index: test/sql_stmt_tests/wms_registersetting4.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting4.testcase +++ test/sql_stmt_tests/wms_registersetting4.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - BLOB URL -:memory: #use in-memory database -SELECT WMS_RegisterSetting(zeroblob(10), 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting(zeroblob(10), 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting5.testcase Index: test/sql_stmt_tests/wms_registersetting5.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting5.testcase +++ test/sql_stmt_tests/wms_registersetting5.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - NULL key -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', NULL, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', NULL, 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting6.testcase Index: test/sql_stmt_tests/wms_registersetting6.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting6.testcase +++ test/sql_stmt_tests/wms_registersetting6.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Int key -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 1, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 1, 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting7.testcase Index: test/sql_stmt_tests/wms_registersetting7.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting7.testcase +++ test/sql_stmt_tests/wms_registersetting7.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - Double key -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 1.1, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 1.1, 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting8.testcase Index: test/sql_stmt_tests/wms_registersetting8.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting8.testcase +++ test/sql_stmt_tests/wms_registersetting8.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - BLOB key -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', zeroblob(10), 'value'); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', zeroblob(10), 'value') --1 DELETED test/sql_stmt_tests/wms_registersetting9.testcase Index: test/sql_stmt_tests/wms_registersetting9.testcase ================================================================== --- test/sql_stmt_tests/wms_registersetting9.testcase +++ test/sql_stmt_tests/wms_registersetting9.testcase @@ -1,7 +0,0 @@ -WMS_RegisterSetting() - NULL value -:memory: #use in-memory database -SELECT WMS_RegisterSetting('some-url', 'layer', 'key', NULL); -1 # rows (not including the header row) -1 # columns -WMS_RegisterSetting('some-url', 'layer', 'key', NULL) --1 DELETED test/sql_stmt_tests/wms_registersrs1.testcase Index: test/sql_stmt_tests/wms_registersrs1.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs1.testcase +++ test/sql_stmt_tests/wms_registersrs1.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - NULL URL -:memory: #use in-memory database -SELECT WMS_RegisterRefSys(NULL, 'layer', 'EPSG:4326', 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys(NULL, 'layer', 'EPSG:4326', 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs10.testcase Index: test/sql_stmt_tests/wms_registersrs10.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs10.testcase +++ test/sql_stmt_tests/wms_registersrs10.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Double ref-sys -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 1.1, 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 1.1, 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs11.testcase Index: test/sql_stmt_tests/wms_registersrs11.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs11.testcase +++ test/sql_stmt_tests/wms_registersrs11.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - BLOB ref-sys -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', zeroblob(4), 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', zeroblob(4), 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs12.testcase Index: test/sql_stmt_tests/wms_registersrs12.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs12.testcase +++ test/sql_stmt_tests/wms_registersrs12.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - NULL minx -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', NULL, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', NULL, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs13.testcase Index: test/sql_stmt_tests/wms_registersrs13.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs13.testcase +++ test/sql_stmt_tests/wms_registersrs13.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Text minx -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 'minx', 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 'minx', 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs14.testcase Index: test/sql_stmt_tests/wms_registersrs14.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs14.testcase +++ test/sql_stmt_tests/wms_registersrs14.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - BLOB minx -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', zeroblob(10), 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', zeroblob(10), 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs15.testcase Index: test/sql_stmt_tests/wms_registersrs15.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs15.testcase +++ test/sql_stmt_tests/wms_registersrs15.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - NULL miny -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, NULL, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, NULL, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs16.testcase Index: test/sql_stmt_tests/wms_registersrs16.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs16.testcase +++ test/sql_stmt_tests/wms_registersrs16.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - BLOB miny -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, zeroblob(6), 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, zeroblob(6), 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs17.testcase Index: test/sql_stmt_tests/wms_registersrs17.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs17.testcase +++ test/sql_stmt_tests/wms_registersrs17.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Text miny -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 'miny', 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 'miny', 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs18.testcase Index: test/sql_stmt_tests/wms_registersrs18.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs18.testcase +++ test/sql_stmt_tests/wms_registersrs18.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - NULL maxx -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, NULL, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, NULL, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs19.testcase Index: test/sql_stmt_tests/wms_registersrs19.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs19.testcase +++ test/sql_stmt_tests/wms_registersrs19.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Text maxx -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 'maxx', 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 'maxx', 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs2.testcase Index: test/sql_stmt_tests/wms_registersrs2.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs2.testcase +++ test/sql_stmt_tests/wms_registersrs2.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Int URL -:memory: #use in-memory database -SELECT WMS_RegisterRefSys(1, 'layer', 'EPSG:4326', 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys(1, 'layer', 'EPSG:4326', 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs20.testcase Index: test/sql_stmt_tests/wms_registersrs20.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs20.testcase +++ test/sql_stmt_tests/wms_registersrs20.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - BLOB maxx -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, zeroblob(5), 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, zeroblob(5), 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs21.testcase Index: test/sql_stmt_tests/wms_registersrs21.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs21.testcase +++ test/sql_stmt_tests/wms_registersrs21.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - NULL maxy -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 70, NULL) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 70, NULL):0 --1 DELETED test/sql_stmt_tests/wms_registersrs22.testcase Index: test/sql_stmt_tests/wms_registersrs22.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs22.testcase +++ test/sql_stmt_tests/wms_registersrs22.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Text maxy -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 70, 'maxy') -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 70, 'maxy'):0 --1 DELETED test/sql_stmt_tests/wms_registersrs23.testcase Index: test/sql_stmt_tests/wms_registersrs23.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs23.testcase +++ test/sql_stmt_tests/wms_registersrs23.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Text maxy -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 70, zeroblob(5)) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 70, zeroblob(5)):0 --1 DELETED test/sql_stmt_tests/wms_registersrs24.testcase Index: test/sql_stmt_tests/wms_registersrs24.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs24.testcase +++ test/sql_stmt_tests/wms_registersrs24.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - valid args (Int coords) -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30, 40, 70, 80):0 -0 DELETED test/sql_stmt_tests/wms_registersrs25.testcase Index: test/sql_stmt_tests/wms_registersrs25.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs25.testcase +++ test/sql_stmt_tests/wms_registersrs25.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - valid args (Double coords) -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, 1) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, 1):0 -0 DELETED test/sql_stmt_tests/wms_registersrs26.testcase Index: test/sql_stmt_tests/wms_registersrs26.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs26.testcase +++ test/sql_stmt_tests/wms_registersrs26.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - NULL default -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, NULL) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, NULL):0 --1 DELETED test/sql_stmt_tests/wms_registersrs27.testcase Index: test/sql_stmt_tests/wms_registersrs27.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs27.testcase +++ test/sql_stmt_tests/wms_registersrs27.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Text default -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, 'yes') -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, 'yes'):0 --1 DELETED test/sql_stmt_tests/wms_registersrs28.testcase Index: test/sql_stmt_tests/wms_registersrs28.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs28.testcase +++ test/sql_stmt_tests/wms_registersrs28.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Double default -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, 1.1) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, 1.1):0 --1 DELETED test/sql_stmt_tests/wms_registersrs29.testcase Index: test/sql_stmt_tests/wms_registersrs29.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs29.testcase +++ test/sql_stmt_tests/wms_registersrs29.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - BLOB default -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 'EPSG:4326', 30.1, 40.1, 70.1, 80.1, zeroblob(10)):0 --1 DELETED test/sql_stmt_tests/wms_registersrs3.testcase Index: test/sql_stmt_tests/wms_registersrs3.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs3.testcase +++ test/sql_stmt_tests/wms_registersrs3.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Double URL -:memory: #use in-memory database -SELECT WMS_RegisterRefSys(1.1, 'layer', 'EPSG:4326', 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys(1.1, 'layer', 'EPSG:4326', 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs4.testcase Index: test/sql_stmt_tests/wms_registersrs4.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs4.testcase +++ test/sql_stmt_tests/wms_registersrs4.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - BLOB URL -:memory: #use in-memory database -SELECT WMS_RegisterRefSys(zeroblob(10), 'layer', 'EPSG:4326', 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys(zeroblob(10), 'layer', 'EPSG:4326', 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs5.testcase Index: test/sql_stmt_tests/wms_registersrs5.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs5.testcase +++ test/sql_stmt_tests/wms_registersrs5.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Int layer-name -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 1, 'EPSG:4326', 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 1, 'EPSG:4326', 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs6.testcase Index: test/sql_stmt_tests/wms_registersrs6.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs6.testcase +++ test/sql_stmt_tests/wms_registersrs6.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Double layer-name -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 1.1, 'EPSG:4326', 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 1.1, 'EPSG:4326', 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs7.testcase Index: test/sql_stmt_tests/wms_registersrs7.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs7.testcase +++ test/sql_stmt_tests/wms_registersrs7.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', zeroblob(5), 'EPSG:4326', 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', zeroblob(5), 'EPSG:4326', 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs8.testcase Index: test/sql_stmt_tests/wms_registersrs8.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs8.testcase +++ test/sql_stmt_tests/wms_registersrs8.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - NULL ref-sys -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', NULL, 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', NULL, 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_registersrs9.testcase Index: test/sql_stmt_tests/wms_registersrs9.testcase ================================================================== --- test/sql_stmt_tests/wms_registersrs9.testcase +++ test/sql_stmt_tests/wms_registersrs9.testcase @@ -1,7 +0,0 @@ -WMS_RegisterRefSys() - Int ref-sys -:memory: #use in-memory database -SELECT WMS_RegisterRefSys('some-url', 'layer', 1, 30, 40, 70, 80) -1 # rows (not including the header row) -1 # columns -WMS_RegisterRefSys('some-url', 'layer', 1, 30, 40, 70, 80):0 --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo1.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo1.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo1.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo1.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - NULL url -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos(NULL, 'title', 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos(NULL, 'title', 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo10.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo10.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo10.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo10.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - Int abstract -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', 'title', 1) -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', 'title', 1) --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo11.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo11.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo11.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo11.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - Double abstract -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', 'title', 1.1) -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', 'title', 1.1) --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo12.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo12.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo12.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo12.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - BLOB abstract -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', 'title', zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', 'title', zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo13.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo13.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo13.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo13.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - valid args -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', 'title', 'abstract') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', 'title', 'abstract') -0 DELETED test/sql_stmt_tests/wms_setgetcapabinfo2.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo2.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo2.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo2.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - Int url -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos(1, 'title', 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos(1, 'title', 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo3.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo3.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo3.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo3.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - Double url -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos(1.1, 'title', 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos(1.1, 'title', 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo4.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo4.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo4.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo4.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - BLOB url -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos(zeroblob(10), 'title', 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos(zeroblob(10), 'title', 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo5.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo5.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo5.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo5.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - NULL title -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', NULL, 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', NULL, 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo6.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo6.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo6.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo6.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - Int title -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', 1, 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', 1, 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo7.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo7.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo7.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo7.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - Double title -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', 1.1, 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', 1.1, 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo8.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo8.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo8.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo8.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - BLOB title -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', zeroblob(10), 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', zeroblob(10), 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetcapabinfo9.testcase Index: test/sql_stmt_tests/wms_setgetcapabinfo9.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetcapabinfo9.testcase +++ test/sql_stmt_tests/wms_setgetcapabinfo9.testcase @@ -1,7 +0,0 @@ -WMS_SetGetCapabilitiesInfos() - NULL abstract -:memory: #use in-memory database -SELECT WMS_SetGetCapabilitiesInfos('some-url', 'title', NULL) -1 # rows (not including the header row) -1 # columns -WMS_SetGetCapabilitiesInfos('some-url', 'title', NULL) --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo1.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo1.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo1.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo1.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - NULL url -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos(NULL, 'layer', 'title', 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos(NULL, 'layer', 'title', 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo10.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo10.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo10.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo10.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - Int abstract -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', 'title', 1) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', 'title', 1) --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo11.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo11.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo11.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo11.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - Double abstract -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', 'title', 1.1) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', 'title', 1.1) --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo12.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo12.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo12.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo12.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - BLOB abstract -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', 'title', zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', 'title', zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo13.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo13.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo13.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo13.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - valid args -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', 'title', 'abstract') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', 'title', 'abstract') -0 DELETED test/sql_stmt_tests/wms_setgetmapinfo14.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo14.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo14.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo14.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', NULL, 'title', 'abstract') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', NULL, 'title', 'abstract') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo15.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo15.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo15.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo15.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - Int layer-name -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 1, 'title', 'abstract') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 1, 'title', 'abstract') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo16.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo16.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo16.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo16.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - Double layer-name -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 1.1, 'title', 'abstract') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 1.1, 'title', 'abstract') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo17.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo17.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo17.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo17.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', zeroblob(4), 'title', 'abstract') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', zeroblob(4), 'title', 'abstract') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo2.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo2.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo2.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo2.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - Int url -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos(1, 'layer', 'title', 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos(1, 'layer', 'title', 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo3.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo3.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo3.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo3.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - Double url -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos(1.1, 'layer', 'title', 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos(1.1, 'layer', 'title', 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo4.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo4.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo4.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo4.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - BLOB url -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos(zeroblob(10), 'layer', 'title', 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos(zeroblob(10), 'layer', 'title', 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo5.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo5.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo5.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo5.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - NULL title -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', NULL, 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', NULL, 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo6.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo6.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo6.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo6.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - Int title -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', 1, 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', 1, 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo7.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo7.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo7.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo7.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - Double title -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', 1.1, 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', 1.1, 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo8.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo8.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo8.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo8.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - BLOB title -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', zeroblob(10), 'capabilities') -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', zeroblob(10), 'capabilities') --1 DELETED test/sql_stmt_tests/wms_setgetmapinfo9.testcase Index: test/sql_stmt_tests/wms_setgetmapinfo9.testcase ================================================================== --- test/sql_stmt_tests/wms_setgetmapinfo9.testcase +++ test/sql_stmt_tests/wms_setgetmapinfo9.testcase @@ -1,7 +0,0 @@ -WMS_SetGetMapInfos() - NULL abstract -:memory: #use in-memory database -SELECT WMS_SetGetMapInfos('some-url', 'layer', 'title', NULL) -1 # rows (not including the header row) -1 # columns -WMS_SetGetMapInfos('some-url', 'layer', 'title', NULL) --1 DELETED test/sql_stmt_tests/wms_unregistergetcapab1.testcase Index: test/sql_stmt_tests/wms_unregistergetcapab1.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetcapab1.testcase +++ test/sql_stmt_tests/wms_unregistergetcapab1.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetCapabilities() - NULL URL -:memory: #use in-memory database -SELECT WMS_UnRegisterGetCapabilities(NULL) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetCapabilities(NULL) --1 DELETED test/sql_stmt_tests/wms_unregistergetcapab2.testcase Index: test/sql_stmt_tests/wms_unregistergetcapab2.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetcapab2.testcase +++ test/sql_stmt_tests/wms_unregistergetcapab2.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetCapabilities() - Int URL -:memory: #use in-memory database -SELECT WMS_UnRegisterGetCapabilities(1) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetCapabilities(1) --1 DELETED test/sql_stmt_tests/wms_unregistergetcapab3.testcase Index: test/sql_stmt_tests/wms_unregistergetcapab3.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetcapab3.testcase +++ test/sql_stmt_tests/wms_unregistergetcapab3.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetCapabilities() - Double URL -:memory: #use in-memory database -SELECT WMS_UnRegisterGetCapabilities(1.1) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetCapabilities(1.1) --1 DELETED test/sql_stmt_tests/wms_unregistergetcapab4.testcase Index: test/sql_stmt_tests/wms_unregistergetcapab4.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetcapab4.testcase +++ test/sql_stmt_tests/wms_unregistergetcapab4.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetCapabilities() - BLOB URL -:memory: #use in-memory database -SELECT WMS_UnRegisterGetCapabilities(zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetCapabilities(zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_unregistergetcapab5.testcase Index: test/sql_stmt_tests/wms_unregistergetcapab5.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetcapab5.testcase +++ test/sql_stmt_tests/wms_unregistergetcapab5.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetCapabilities() - valid args -:memory: #use in-memory database -SELECT WMS_UnRegisterGetCapabilities('some-url') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetCapabilities('some-url') -0 DELETED test/sql_stmt_tests/wms_unregistergetmap1.testcase Index: test/sql_stmt_tests/wms_unregistergetmap1.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap1.testcase +++ test/sql_stmt_tests/wms_unregistergetmap1.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - NULL URL -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap(NULL, 'layer') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap(NULL, 'layer') --1 DELETED test/sql_stmt_tests/wms_unregistergetmap2.testcase Index: test/sql_stmt_tests/wms_unregistergetmap2.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap2.testcase +++ test/sql_stmt_tests/wms_unregistergetmap2.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - Int URL -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap(1, 'layer') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap(1, 'layer') --1 DELETED test/sql_stmt_tests/wms_unregistergetmap3.testcase Index: test/sql_stmt_tests/wms_unregistergetmap3.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap3.testcase +++ test/sql_stmt_tests/wms_unregistergetmap3.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - Double URL -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap(1.1, 'layer') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap(1.1, 'layer') --1 DELETED test/sql_stmt_tests/wms_unregistergetmap4.testcase Index: test/sql_stmt_tests/wms_unregistergetmap4.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap4.testcase +++ test/sql_stmt_tests/wms_unregistergetmap4.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - BLOB URL -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap(zeroblob(10), 'layer') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap(zeroblob(10), 'layer') --1 DELETED test/sql_stmt_tests/wms_unregistergetmap5.testcase Index: test/sql_stmt_tests/wms_unregistergetmap5.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap5.testcase +++ test/sql_stmt_tests/wms_unregistergetmap5.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - valid args -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap('some-url', 'layer') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap('some-url', 'layer') -0 DELETED test/sql_stmt_tests/wms_unregistergetmap6.testcase Index: test/sql_stmt_tests/wms_unregistergetmap6.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap6.testcase +++ test/sql_stmt_tests/wms_unregistergetmap6.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap('some-url', NULL) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap('some-url', NULL) --1 DELETED test/sql_stmt_tests/wms_unregistergetmap7.testcase Index: test/sql_stmt_tests/wms_unregistergetmap7.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap7.testcase +++ test/sql_stmt_tests/wms_unregistergetmap7.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - Int layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap('some-url', 1) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap('some-url', 1) --1 DELETED test/sql_stmt_tests/wms_unregistergetmap8.testcase Index: test/sql_stmt_tests/wms_unregistergetmap8.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap8.testcase +++ test/sql_stmt_tests/wms_unregistergetmap8.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - Double layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap('some-url', 1.1) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap('some-url', 1.1) --1 DELETED test/sql_stmt_tests/wms_unregistergetmap9.testcase Index: test/sql_stmt_tests/wms_unregistergetmap9.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistergetmap9.testcase +++ test/sql_stmt_tests/wms_unregistergetmap9.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterGetMap() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterGetMap('some-url', zeroblob(4)) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterGetMap('some-url', zeroblob(4)) --1 DELETED test/sql_stmt_tests/wms_unregistersetting1.testcase Index: test/sql_stmt_tests/wms_unregistersetting1.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting1.testcase +++ test/sql_stmt_tests/wms_unregistersetting1.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - NULL URL -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting(NULL, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting(NULL, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting10.testcase Index: test/sql_stmt_tests/wms_unregistersetting10.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting10.testcase +++ test/sql_stmt_tests/wms_unregistersetting10.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Int value -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', 'key', 1); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', 'key', 1) --1 DELETED test/sql_stmt_tests/wms_unregistersetting11.testcase Index: test/sql_stmt_tests/wms_unregistersetting11.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting11.testcase +++ test/sql_stmt_tests/wms_unregistersetting11.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Double value -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', 'key', 1.1); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', 'key', 1.1) --1 DELETED test/sql_stmt_tests/wms_unregistersetting12.testcase Index: test/sql_stmt_tests/wms_unregistersetting12.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting12.testcase +++ test/sql_stmt_tests/wms_unregistersetting12.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - BLOB value -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', 'key', zeroblob(10)); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', 'key', zeroblob(10)) --1 DELETED test/sql_stmt_tests/wms_unregistersetting13.testcase Index: test/sql_stmt_tests/wms_unregistersetting13.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting13.testcase +++ test/sql_stmt_tests/wms_unregistersetting13.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - valid args -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', 'key', 'value') -0 DELETED test/sql_stmt_tests/wms_unregistersetting14.testcase Index: test/sql_stmt_tests/wms_unregistersetting14.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting14.testcase +++ test/sql_stmt_tests/wms_unregistersetting14.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', NULL, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', NULL, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting15.testcase Index: test/sql_stmt_tests/wms_unregistersetting15.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting15.testcase +++ test/sql_stmt_tests/wms_unregistersetting15.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Int layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 1, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 1, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting16.testcase Index: test/sql_stmt_tests/wms_unregistersetting16.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting16.testcase +++ test/sql_stmt_tests/wms_unregistersetting16.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Double layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 1.2, 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 1.2, 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting17.testcase Index: test/sql_stmt_tests/wms_unregistersetting17.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting17.testcase +++ test/sql_stmt_tests/wms_unregistersetting17.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Double layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', zeroblob(10), 'key', 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', zeroblob(10), 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting2.testcase Index: test/sql_stmt_tests/wms_unregistersetting2.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting2.testcase +++ test/sql_stmt_tests/wms_unregistersetting2.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Int URL -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting(1, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting(1, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting3.testcase Index: test/sql_stmt_tests/wms_unregistersetting3.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting3.testcase +++ test/sql_stmt_tests/wms_unregistersetting3.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Double URL -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting(1.1, 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting(1.1, 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting4.testcase Index: test/sql_stmt_tests/wms_unregistersetting4.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting4.testcase +++ test/sql_stmt_tests/wms_unregistersetting4.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - BLOB URL -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting(zeroblob(10), 'layer', 'key', 'value') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting(zeroblob(10), 'layer', 'key', 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting5.testcase Index: test/sql_stmt_tests/wms_unregistersetting5.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting5.testcase +++ test/sql_stmt_tests/wms_unregistersetting5.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - NULL key -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', NULL, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', NULL, 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting6.testcase Index: test/sql_stmt_tests/wms_unregistersetting6.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting6.testcase +++ test/sql_stmt_tests/wms_unregistersetting6.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Int key -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', 1, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', 1, 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting7.testcase Index: test/sql_stmt_tests/wms_unregistersetting7.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting7.testcase +++ test/sql_stmt_tests/wms_unregistersetting7.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - Double key -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', 1.1, 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', 1.1, 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting8.testcase Index: test/sql_stmt_tests/wms_unregistersetting8.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting8.testcase +++ test/sql_stmt_tests/wms_unregistersetting8.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - BLOB key -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', zeroblob(10), 'value'); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', zeroblob(10), 'value') --1 DELETED test/sql_stmt_tests/wms_unregistersetting9.testcase Index: test/sql_stmt_tests/wms_unregistersetting9.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersetting9.testcase +++ test/sql_stmt_tests/wms_unregistersetting9.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterSetting() - NULL value -:memory: #use in-memory database -SELECT WMS_UnRegisterSetting('some-url', 'layer', 'key', NULL); -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterSetting('some-url', 'layer', 'key', NULL) --1 DELETED test/sql_stmt_tests/wms_unregistersrs1.testcase Index: test/sql_stmt_tests/wms_unregistersrs1.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs1.testcase +++ test/sql_stmt_tests/wms_unregistersrs1.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - BLOB URL -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys(NULL, 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys(NULL, 'layer', 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs10.testcase Index: test/sql_stmt_tests/wms_unregistersrs10.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs10.testcase +++ test/sql_stmt_tests/wms_unregistersrs10.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - Int ref-sys -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', 'layer', 1) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', 'layer', 1):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs11.testcase Index: test/sql_stmt_tests/wms_unregistersrs11.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs11.testcase +++ test/sql_stmt_tests/wms_unregistersrs11.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - Double ref-sys -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', 'layer', 1.1) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', 'layer', 1.1):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs12.testcase Index: test/sql_stmt_tests/wms_unregistersrs12.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs12.testcase +++ test/sql_stmt_tests/wms_unregistersrs12.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - BLOB ref-sys -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', 'layer', zeroblob(10)) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', 'layer', zeroblob(10)):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs13.testcase Index: test/sql_stmt_tests/wms_unregistersrs13.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs13.testcase +++ test/sql_stmt_tests/wms_unregistersrs13.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - valid args -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', 'layer', 'EPSG:4326'):0 -0 DELETED test/sql_stmt_tests/wms_unregistersrs2.testcase Index: test/sql_stmt_tests/wms_unregistersrs2.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs2.testcase +++ test/sql_stmt_tests/wms_unregistersrs2.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - Int URL -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys(1, 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys(1, 'layer', 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs3.testcase Index: test/sql_stmt_tests/wms_unregistersrs3.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs3.testcase +++ test/sql_stmt_tests/wms_unregistersrs3.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - Double URL -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys(1.1, 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys(1.1, 'layer', 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs4.testcase Index: test/sql_stmt_tests/wms_unregistersrs4.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs4.testcase +++ test/sql_stmt_tests/wms_unregistersrs4.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - BLOB URL -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys(zeroblob(4), 'layer', 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys(zeroblob(4), 'layer', 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs5.testcase Index: test/sql_stmt_tests/wms_unregistersrs5.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs5.testcase +++ test/sql_stmt_tests/wms_unregistersrs5.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - NULL layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', NULL, 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', NULL, 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs6.testcase Index: test/sql_stmt_tests/wms_unregistersrs6.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs6.testcase +++ test/sql_stmt_tests/wms_unregistersrs6.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - Int layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', 1, 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', 1, 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs7.testcase Index: test/sql_stmt_tests/wms_unregistersrs7.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs7.testcase +++ test/sql_stmt_tests/wms_unregistersrs7.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - Double layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', 1.1, 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', 1.1, 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs8.testcase Index: test/sql_stmt_tests/wms_unregistersrs8.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs8.testcase +++ test/sql_stmt_tests/wms_unregistersrs8.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - BLOB layer-name -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', zeroblob(4), 'EPSG:4326') -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', zeroblob(4), 'EPSG:4326'):0 --1 DELETED test/sql_stmt_tests/wms_unregistersrs9.testcase Index: test/sql_stmt_tests/wms_unregistersrs9.testcase ================================================================== --- test/sql_stmt_tests/wms_unregistersrs9.testcase +++ test/sql_stmt_tests/wms_unregistersrs9.testcase @@ -1,7 +0,0 @@ -WMS_UnRegisterRefSys() - NULL ref-sys -:memory: #use in-memory database -SELECT WMS_UnRegisterRefSys('some-url', 'layer', NULL) -1 # rows (not including the header row) -1 # columns -WMS_UnRegisterRefSys('some-url', 'layer', NULL):0 --1 DELETED test/sql_stmt_voronoj1_tests/Makefile Index: test/sql_stmt_voronoj1_tests/Makefile ================================================================== --- test/sql_stmt_voronoj1_tests/Makefile +++ test/sql_stmt_voronoj1_tests/Makefile @@ -1,468 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# test/sql_stmt_voronoj1_tests/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libspatialite -pkgincludedir = $(includedir)/libspatialite -pkglibdir = $(libdir)/libspatialite -pkglibexecdir = $(libexecdir)/libspatialite -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-unknown-linux-gnu -host_triplet = x86_64-unknown-linux-gnu -subdir = test/sql_stmt_voronoj1_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AR = ar -AS = as -AUTOCONF = autoconf -AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = dlltool -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBXML2_CFLAGS = -I/usr/include/libxml2 -LIBXML2_LIBS = -lxml2 -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = libspatialite -PACKAGE_BUGREPORT = a.furieri@lqt.it -PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 -PACKAGE_TARNAME = libspatialite -PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = /usr/local/lib/pkgconfig -RANLIB = ranlib -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -VERSION = 4.4.0-RC1 -abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_voronoj1_tests -abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_voronoj1_tests -abs_top_builddir = /home/sandro/fossil/libspatialite -abs_top_srcdir = /home/sandro/fossil/libspatialite -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-unknown-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-unknown-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/sandro/fossil/libspatialite/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -EXTRA_DIST = voronoj10.testcase \ - voronoj11.testcase \ - voronoj12.testcase \ - voronoj13.testcase \ - voronoj14.testcase \ - voronoj15.testcase \ - voronoj16.testcase \ - voronoj17.testcase \ - voronoj18.testcase \ - voronoj19.testcase \ - voronoj1.testcase \ - voronoj20.testcase \ - voronoj2.testcase \ - voronoj3.testcase \ - voronoj4.testcase \ - voronoj5.testcase \ - voronoj6.testcase \ - voronoj8.testcase \ - voronoj9.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_voronoj1_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_voronoj1_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_voronoj1_tests/Makefile.am Index: test/sql_stmt_voronoj1_tests/Makefile.am ================================================================== --- test/sql_stmt_voronoj1_tests/Makefile.am +++ test/sql_stmt_voronoj1_tests/Makefile.am @@ -1,20 +0,0 @@ - -EXTRA_DIST = voronoj10.testcase \ - voronoj11.testcase \ - voronoj12.testcase \ - voronoj13.testcase \ - voronoj14.testcase \ - voronoj15.testcase \ - voronoj16.testcase \ - voronoj17.testcase \ - voronoj18.testcase \ - voronoj19.testcase \ - voronoj1.testcase \ - voronoj20.testcase \ - voronoj2.testcase \ - voronoj3.testcase \ - voronoj4.testcase \ - voronoj5.testcase \ - voronoj6.testcase \ - voronoj8.testcase \ - voronoj9.testcase DELETED test/sql_stmt_voronoj1_tests/Makefile.in Index: test/sql_stmt_voronoj1_tests/Makefile.in ================================================================== --- test/sql_stmt_voronoj1_tests/Makefile.in +++ test/sql_stmt_voronoj1_tests/Makefile.in @@ -1,468 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_voronoj1_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = voronoj10.testcase \ - voronoj11.testcase \ - voronoj12.testcase \ - voronoj13.testcase \ - voronoj14.testcase \ - voronoj15.testcase \ - voronoj16.testcase \ - voronoj17.testcase \ - voronoj18.testcase \ - voronoj19.testcase \ - voronoj1.testcase \ - voronoj20.testcase \ - voronoj2.testcase \ - voronoj3.testcase \ - voronoj4.testcase \ - voronoj5.testcase \ - voronoj6.testcase \ - voronoj8.testcase \ - voronoj9.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_voronoj1_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_voronoj1_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_voronoj1_tests/voronoj1.testcase Index: test/sql_stmt_voronoj1_tests/voronoj1.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj1.testcase +++ test/sql_stmt_voronoj1_tests/voronoj1.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - Invalid BLOB input (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(zeroblob(4)) -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj10.testcase Index: test/sql_stmt_voronoj1_tests/voronoj10.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj10.testcase +++ test/sql_stmt_voronoj1_tests/voronoj10.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - text extra_frame_size (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 'alpha') -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj11.testcase Index: test/sql_stmt_voronoj1_tests/voronoj11.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj11.testcase +++ test/sql_stmt_voronoj1_tests/voronoj11.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - NULL extra_frame_size (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, NULL); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, NULL) -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj12.testcase Index: test/sql_stmt_voronoj1_tests/voronoj12.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj12.testcase +++ test/sql_stmt_voronoj1_tests/voronoj12.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - BLOB tolerance (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, zeroblob(4)) -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj13.testcase Index: test/sql_stmt_voronoj1_tests/voronoj13.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj13.testcase +++ test/sql_stmt_voronoj1_tests/voronoj13.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - text tolerancey (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, 'alpha') -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj14.testcase Index: test/sql_stmt_voronoj1_tests/voronoj14.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj14.testcase +++ test/sql_stmt_voronoj1_tests/voronoj14.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - NULL tolerance (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, NULL); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, NULL) -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj15.testcase Index: test/sql_stmt_voronoj1_tests/voronoj15.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj15.testcase +++ test/sql_stmt_voronoj1_tests/voronoj15.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 0))) -MULTIPOLYGON(((12.5 5.5, 14.5 2.5, 14.5 1.5, 9.5 1.5, 9.5 2.5, 12.5 5.5)), ((14.5 2.5, 12.5 5.5, 12.5 8.5, 16.9 4.1, 14.5 2.5)), ((12.5 8.5, 12.5 5.5, 9.5 2.5, 9.5 9, 12.416667 9, 12.5 8.5)), ((16.9 4.1, 12.5 8.5, 12.416667 9, 20 9, 17.642857 4.285714, 16.9 4.1)), ((14.5 2.5, 16.9 4.1, 17.642857 4.285714, 19.5 1.5, 14.5 1.5, 14.5 2.5)), ((19.5 1.5, 17.642857 4.285714, 20 9, 20.5 9, 20.5 1.5, 19.5 1.5))) DELETED test/sql_stmt_voronoj1_tests/voronoj16.testcase Index: test/sql_stmt_voronoj1_tests/voronoj16.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj16.testcase +++ test/sql_stmt_voronoj1_tests/voronoj16.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - (only_edges=yes) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 1))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 1))) -MULTILINESTRING((12.5 5.5, 14.5 2.5), (12.5 5.5, 12.5 8.5), (12.5 5.5, 9.5 2.5), (12.5 8.5, 16.9 4.1), (12.5 8.5, 12.416667 9), (16.9 4.1, 14.5 2.5), (16.9 4.1, 17.642857 4.285714), (17.642857 4.285714, 19.5 1.5), (17.642857 4.285714, 20 9), (14.5 2.5, 14.5 1.5)) DELETED test/sql_stmt_voronoj1_tests/voronoj17.testcase Index: test/sql_stmt_voronoj1_tests/voronoj17.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj17.testcase +++ test/sql_stmt_voronoj1_tests/voronoj17.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZ(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZ(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))) -MULTIPOLYGON Z(((12.5 5.5 0, 14.5 2.5 0, 14.5 1.5 0, 9.5 1.5 0, 9.5 2.5 0, 12.5 5.5 0)), ((14.5 2.5 0, 12.5 5.5 0, 12.5 8.5 0, 16.9 4.1 0, 14.5 2.5 0)), ((12.5 8.5 0, 12.5 5.5 0, 9.5 2.5 0, 9.5 9 0, 12.416667 9 0, 12.5 8.5 0)), ((16.9 4.1 0, 12.5 8.5 0, 12.416667 9 0, 20 9 0, 17.642857 4.285714 0, 16.9 4.1 0)), ((14.5 2.5 0, 16.9 4.1 0, 17.642857 4.285714 0, 19.5 1.5 0, 14.5 1.5 0, 14.5 2.5 0)), ((19.5 1.5 0, 17.642857 4.285714 0, 20 9 0, 20.5 9 0, 20.5 1.5 0, 19.5 1.5 0))) DELETED test/sql_stmt_voronoj1_tests/voronoj18.testcase Index: test/sql_stmt_voronoj1_tests/voronoj18.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj18.testcase +++ test/sql_stmt_voronoj1_tests/voronoj18.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - XYM (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTM(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTM(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))) -MULTIPOLYGON M(((12.5 5.5 0, 14.5 2.5 0, 14.5 1.5 0, 9.5 1.5 0, 9.5 2.5 0, 12.5 5.5 0)), ((14.5 2.5 0, 12.5 5.5 0, 12.5 8.5 0, 16.9 4.1 0, 14.5 2.5 0)), ((12.5 8.5 0, 12.5 5.5 0, 9.5 2.5 0, 9.5 9 0, 12.416667 9 0, 12.5 8.5 0)), ((16.9 4.1 0, 12.5 8.5 0, 12.416667 9 0, 20 9 0, 17.642857 4.285714 0, 16.9 4.1 0)), ((14.5 2.5 0, 16.9 4.1 0, 17.642857 4.285714 0, 19.5 1.5 0, 14.5 1.5 0, 14.5 2.5 0)), ((19.5 1.5 0, 17.642857 4.285714 0, 20 9 0, 20.5 9 0, 20.5 1.5 0, 19.5 1.5 0))) DELETED test/sql_stmt_voronoj1_tests/voronoj19.testcase Index: test/sql_stmt_voronoj1_tests/voronoj19.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj19.testcase +++ test/sql_stmt_voronoj1_tests/voronoj19.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - XYZM (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZM(10 5 10 1, 15 5 11 2, 20 4 12 3, 12 3 13 4, 17 2 14 5, 16 6 15 6)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZM(10 5 10 1, 15 5 11 2, 20 4 12 3, 12 3 13 4, 17 2 14 5, 16 6 15 6)'), 0))) -MULTIPOLYGON ZM(((12.5 5.5 0 0, 14.5 2.5 0 0, 14.5 1.5 0 0, 9.5 1.5 0 0, 9.5 2.5 0 0, 12.5 5.5 0 0)), ((14.5 2.5 0 0, 12.5 5.5 0 0, 12.5 8.5 0 0, 16.9 4.1 0 0, 14.5 2.5 0 0)), ((12.5 8.5 0 0, 12.5 5.5 0 0, 9.5 2.5 0 0, 9.5 9 0 0, 12.416667 9 0 0, 12.5 8.5 0 0)), ((16.9 4.1 0 0, 12.5 8.5 0 0, 12.416667 9 0 0, 20 9 0 0, 17.642857 4.285714 0 0, 16.9 4.1 0 0)), ((14.5 2.5 0 0, 16.9 4.1 0 0, 17.642857 4.285714 0 0, 19.5 1.5 0 0, 14.5 1.5 0 0, 14.5 2.5 0 0)), ((19.5 1.5 0 0, 17.642857 4.285714 0 0, 20 9 0 0, 20.5 9 0 0, 20.5 1.5 0 0, 19.5 1.5 0 0))) DELETED test/sql_stmt_voronoj1_tests/voronoj2.testcase Index: test/sql_stmt_voronoj1_tests/voronoj2.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj2.testcase +++ test/sql_stmt_voronoj1_tests/voronoj2.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - text input (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram('alpha'); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram('alpha') -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj20.testcase Index: test/sql_stmt_voronoj1_tests/voronoj20.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj20.testcase +++ test/sql_stmt_voronoj1_tests/voronoj20.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(5 10, 2 15, 4 20, 3 12, 2 17, 6 16)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(5 10, 2 15, 4 20, 3 12, 2 17, 6 16)'), 0))) -MULTIPOLYGON(((3.875 16, 4.346154 14.115385, 1.5 13.166667, 1.5 16, 3.875 16)), ((4.346154 14.115385, 3.875 16, 4.285714 17.642857, 6.5 18.75, 6.5 12.833333, 5.928571 12.928571, 4.346154 14.115385)), ((4.285714 17.642857, 3.875 16, 1.5 16, 1.5 19.5, 4.285714 17.642857)), ((6.5 18.75, 4.285714 17.642857, 1.5 19.5, 1.5 20.5, 6.5 20.5, 6.5 18.75)), ((4.346154 14.115385, 5.928571 12.928571, 2.5 9.5, 1.5 9.5, 1.5 13.166667, 4.346154 14.115385)), ((2.5 9.5, 5.928571 12.928571, 6.5 12.833333, 6.5 9.5, 2.5 9.5))) DELETED test/sql_stmt_voronoj1_tests/voronoj3.testcase Index: test/sql_stmt_voronoj1_tests/voronoj3.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj3.testcase +++ test/sql_stmt_voronoj1_tests/voronoj3.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - integer input (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(1); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(1) -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj4.testcase Index: test/sql_stmt_voronoj1_tests/voronoj4.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj4.testcase +++ test/sql_stmt_voronoj1_tests/voronoj4.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - NULL input (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(NULL); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(NULL) -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj5.testcase Index: test/sql_stmt_voronoj1_tests/voronoj5.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj5.testcase +++ test/sql_stmt_voronoj1_tests/voronoj5.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - NULL edges_only (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), NULL); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), NULL) -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj6.testcase Index: test/sql_stmt_voronoj1_tests/voronoj6.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj6.testcase +++ test/sql_stmt_voronoj1_tests/voronoj6.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - text edges_only (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 'alpha') -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj8.testcase Index: test/sql_stmt_voronoj1_tests/voronoj8.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj8.testcase +++ test/sql_stmt_voronoj1_tests/voronoj8.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - double edges_only (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0.0); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0.0) -(NULL) DELETED test/sql_stmt_voronoj1_tests/voronoj9.testcase Index: test/sql_stmt_voronoj1_tests/voronoj9.testcase ================================================================== --- test/sql_stmt_voronoj1_tests/voronoj9.testcase +++ test/sql_stmt_voronoj1_tests/voronoj9.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - BLOB tolerance (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, zeroblob(4)) -(NULL) DELETED test/sql_stmt_voronoj2_tests/Makefile Index: test/sql_stmt_voronoj2_tests/Makefile ================================================================== --- test/sql_stmt_voronoj2_tests/Makefile +++ test/sql_stmt_voronoj2_tests/Makefile @@ -1,468 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# test/sql_stmt_voronoj2_tests/Makefile. Generated from Makefile.in by configure. - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - - - -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/libspatialite -pkgincludedir = $(includedir)/libspatialite -pkglibdir = $(libdir)/libspatialite -pkglibexecdir = $(libexecdir)/libspatialite -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = x86_64-unknown-linux-gnu -host_triplet = x86_64-unknown-linux-gnu -subdir = test/sql_stmt_voronoj2_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_$(V)) -am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY)) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_$(V)) -am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_$(V)) -am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = aclocal-1.15 -AMTAR = $${TAR-tar} -AM_DEFAULT_VERBOSITY = 1 -AR = ar -AS = as -AUTOCONF = autoconf -AUTOHEADER = autoheader -AUTOMAKE = automake-1.15 -AWK = gawk -CC = gcc -CCDEPMODE = depmode=gcc3 -CFLAGS = -Wall -Wextra -Wunused -pedantic -g -O0 -fprofile-arcs -ftest-coverage -g -CPP = gcc -E -CPPFLAGS = -CXX = g++ -CXXCPP = g++ -E -CXXDEPMODE = depmode=gcc3 -CXXFLAGS = -g -O2 -CYGPATH_W = echo -DEFS = -DHAVE_CONFIG_H -DEPDIR = .deps -DLLTOOL = dlltool -DSYMUTIL = -DUMPBIN = -ECHO_C = -ECHO_N = -n -ECHO_T = -EGREP = /usr/bin/grep -E -EXEEXT = -FGREP = /usr/bin/grep -F -GEOSCONFIG = /usr/local/bin/geos-config -GEOS_CFLAGS = -I/usr/local/include -GEOS_LDFLAGS = -L/usr/local/lib -GREP = /usr/bin/grep -INSTALL = /usr/bin/install -c -INSTALL_DATA = ${INSTALL} -m 644 -INSTALL_PROGRAM = ${INSTALL} -INSTALL_SCRIPT = ${INSTALL} -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LD = /usr/bin/ld -m elf_x86_64 -LDFLAGS = -LIBOBJS = -LIBS = -lrttopo -lfreexl -lproj -lsqlite3 -lz -lsqlite3 -L/usr/local/lib -lgeos_c -LIBTOOL = $(SHELL) $(top_builddir)/libtool -LIBXML2_CFLAGS = -I/usr/include/libxml2 -LIBXML2_LIBS = -lxml2 -LIPO = -LN_S = ln -s -LTLIBOBJS = -MAINT = # -MAKEINFO = makeinfo -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p -NM = /usr/bin/nm -B -NMEDIT = -OBJDUMP = objdump -OBJEXT = o -OTOOL = -OTOOL64 = -PACKAGE = libspatialite -PACKAGE_BUGREPORT = a.furieri@lqt.it -PACKAGE_NAME = libspatialite -PACKAGE_STRING = libspatialite 4.4.0-RC1 -PACKAGE_TARNAME = libspatialite -PACKAGE_URL = -PACKAGE_VERSION = 4.4.0-RC1 -PATH_SEPARATOR = : -PKG_CONFIG = /usr/bin/pkg-config -PKG_CONFIG_LIBDIR = -PKG_CONFIG_PATH = /usr/local/lib/pkgconfig -RANLIB = ranlib -SED = /usr/bin/sed -SET_MAKE = -SHELL = /bin/sh -STRIP = strip -VERSION = 4.4.0-RC1 -abs_builddir = /home/sandro/fossil/libspatialite/test/sql_stmt_voronoj2_tests -abs_srcdir = /home/sandro/fossil/libspatialite/test/sql_stmt_voronoj2_tests -abs_top_builddir = /home/sandro/fossil/libspatialite -abs_top_srcdir = /home/sandro/fossil/libspatialite -ac_ct_AR = ar -ac_ct_CC = gcc -ac_ct_CXX = g++ -ac_ct_DUMPBIN = -am__include = include -am__leading_dot = . -am__quote = -am__tar = $${TAR-tar} chof - "$$tardir" -am__untar = $${TAR-tar} xf - -bindir = ${exec_prefix}/bin -build = x86_64-unknown-linux-gnu -build_alias = -build_cpu = x86_64 -build_os = linux-gnu -build_vendor = unknown -builddir = . -datadir = ${datarootdir} -datarootdir = ${prefix}/share -docdir = ${datarootdir}/doc/${PACKAGE_TARNAME} -dvidir = ${docdir} -exec_prefix = ${prefix} -host = x86_64-unknown-linux-gnu -host_alias = -host_cpu = x86_64 -host_os = linux-gnu -host_vendor = unknown -htmldir = ${docdir} -includedir = ${prefix}/include -infodir = ${datarootdir}/info -install_sh = ${SHELL} /home/sandro/fossil/libspatialite/install-sh -libdir = ${exec_prefix}/lib -libexecdir = ${exec_prefix}/libexec -localedir = ${datarootdir}/locale -localstatedir = ${prefix}/var -mandir = ${datarootdir}/man -mkdir_p = $(MKDIR_P) -oldincludedir = /usr/include -pdfdir = ${docdir} -prefix = /usr/local -program_transform_name = s,x,x, -psdir = ${docdir} -sbindir = ${exec_prefix}/sbin -sharedstatedir = ${prefix}/com -srcdir = . -sysconfdir = ${prefix}/etc -target_alias = -top_build_prefix = ../../ -top_builddir = ../.. -top_srcdir = ../.. -EXTRA_DIST = voronoj10.testcase \ - voronoj11.testcase \ - voronoj12.testcase \ - voronoj13.testcase \ - voronoj14.testcase \ - voronoj15.testcase \ - voronoj16.testcase \ - voronoj17.testcase \ - voronoj18.testcase \ - voronoj19.testcase \ - voronoj1.testcase \ - voronoj20.testcase \ - voronoj2.testcase \ - voronoj3.testcase \ - voronoj4.testcase \ - voronoj5.testcase \ - voronoj6.testcase \ - voronoj8.testcase \ - voronoj9.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_voronoj2_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_voronoj2_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: # $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): # $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_voronoj2_tests/Makefile.am Index: test/sql_stmt_voronoj2_tests/Makefile.am ================================================================== --- test/sql_stmt_voronoj2_tests/Makefile.am +++ test/sql_stmt_voronoj2_tests/Makefile.am @@ -1,20 +0,0 @@ - -EXTRA_DIST = voronoj10.testcase \ - voronoj11.testcase \ - voronoj12.testcase \ - voronoj13.testcase \ - voronoj14.testcase \ - voronoj15.testcase \ - voronoj16.testcase \ - voronoj17.testcase \ - voronoj18.testcase \ - voronoj19.testcase \ - voronoj1.testcase \ - voronoj20.testcase \ - voronoj2.testcase \ - voronoj3.testcase \ - voronoj4.testcase \ - voronoj5.testcase \ - voronoj6.testcase \ - voronoj8.testcase \ - voronoj9.testcase DELETED test/sql_stmt_voronoj2_tests/Makefile.in Index: test/sql_stmt_voronoj2_tests/Makefile.in ================================================================== --- test/sql_stmt_voronoj2_tests/Makefile.in +++ test/sql_stmt_voronoj2_tests/Makefile.in @@ -1,468 +0,0 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2014 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = test/sql_stmt_voronoj2_tests -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GEOSCONFIG = @GEOSCONFIG@ -GEOS_CFLAGS = @GEOS_CFLAGS@ -GEOS_LDFLAGS = @GEOS_LDFLAGS@ -GREP = @GREP@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ -LIBXML2_LIBS = @LIBXML2_LIBS@ -LIPO = @LIPO@ -LN_S = @LN_S@ -LTLIBOBJS = @LTLIBOBJS@ -MAINT = @MAINT@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -PKG_CONFIG = @PKG_CONFIG@ -PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ -PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ -RANLIB = @RANLIB@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -VERSION = @VERSION@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -EXTRA_DIST = voronoj10.testcase \ - voronoj11.testcase \ - voronoj12.testcase \ - voronoj13.testcase \ - voronoj14.testcase \ - voronoj15.testcase \ - voronoj16.testcase \ - voronoj17.testcase \ - voronoj18.testcase \ - voronoj19.testcase \ - voronoj1.testcase \ - voronoj20.testcase \ - voronoj2.testcase \ - voronoj3.testcase \ - voronoj4.testcase \ - voronoj5.testcase \ - voronoj6.testcase \ - voronoj8.testcase \ - voronoj9.testcase - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_voronoj2_tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign test/sql_stmt_voronoj2_tests/Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - -.PRECIOUS: Makefile - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: DELETED test/sql_stmt_voronoj2_tests/voronoj1.testcase Index: test/sql_stmt_voronoj2_tests/voronoj1.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj1.testcase +++ test/sql_stmt_voronoj2_tests/voronoj1.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - Invalid BLOB input (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(zeroblob(4)) -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj10.testcase Index: test/sql_stmt_voronoj2_tests/voronoj10.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj10.testcase +++ test/sql_stmt_voronoj2_tests/voronoj10.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - text extra_frame_size (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 'alpha') -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj11.testcase Index: test/sql_stmt_voronoj2_tests/voronoj11.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj11.testcase +++ test/sql_stmt_voronoj2_tests/voronoj11.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - NULL extra_frame_size (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, NULL); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, NULL) -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj12.testcase Index: test/sql_stmt_voronoj2_tests/voronoj12.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj12.testcase +++ test/sql_stmt_voronoj2_tests/voronoj12.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - BLOB tolerance (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, zeroblob(4)) -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj13.testcase Index: test/sql_stmt_voronoj2_tests/voronoj13.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj13.testcase +++ test/sql_stmt_voronoj2_tests/voronoj13.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - text tolerancey (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, 'alpha') -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj14.testcase Index: test/sql_stmt_voronoj2_tests/voronoj14.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj14.testcase +++ test/sql_stmt_voronoj2_tests/voronoj14.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - NULL tolerance (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, NULL); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, 0.0, NULL) -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj15.testcase Index: test/sql_stmt_voronoj2_tests/voronoj15.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj15.testcase +++ test/sql_stmt_voronoj2_tests/voronoj15.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 0))) -MULTIPOLYGON(((9.5 2.5, 9.5 6.5, 12.5 6.5, 12.5 5.5, 9.5 2.5)), ((12.5 6.5, 14.5 6.5, 16.9 4.1, 14.5 2.5, 12.5 5.5, 12.5 6.5)), ((19.5 1.5, 14.3 1.5, 14.5 2.5, 16.9 4.1, 17.642857 4.285714, 19.5 1.5)), ((14.3 1.5, 9.5 1.5, 9.5 2.5, 12.5 5.5, 14.5 2.5, 14.3 1.5)), ((14.5 6.5, 18.75 6.5, 17.642857 4.285714, 16.9 4.1, 14.5 6.5)), ((18.75 6.5, 20.5 6.5, 20.5 1.5, 19.5 1.5, 17.642857 4.285714, 18.75 6.5))) DELETED test/sql_stmt_voronoj2_tests/voronoj16.testcase Index: test/sql_stmt_voronoj2_tests/voronoj16.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj16.testcase +++ test/sql_stmt_voronoj2_tests/voronoj16.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - (only_edges=yes) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 1))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(10 5, 15 5, 20 4, 12 3, 17 2, 16 6)'), 1))) -MULTILINESTRING((9.5 2.5, 9.5 6.5, 12.5 6.5, 12.5 5.5, 9.5 2.5), (12.5 6.5, 14.5 6.5, 16.9 4.1, 14.5 2.5, 12.5 5.5, 12.5 6.5), (19.5 1.5, 14.3 1.5, 14.5 2.5, 16.9 4.1, 17.642857 4.285714, 19.5 1.5), (14.3 1.5, 9.5 1.5, 9.5 2.5, 12.5 5.5, 14.5 2.5, 14.3 1.5), (14.5 6.5, 18.75 6.5, 17.642857 4.285714, 16.9 4.1, 14.5 6.5), (18.75 6.5, 20.5 6.5, 20.5 1.5, 19.5 1.5, 17.642857 4.285714, 18.75 6.5)) DELETED test/sql_stmt_voronoj2_tests/voronoj17.testcase Index: test/sql_stmt_voronoj2_tests/voronoj17.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj17.testcase +++ test/sql_stmt_voronoj2_tests/voronoj17.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZ(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZ(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))) -MULTIPOLYGON Z(((9.5 2.5 0, 9.5 6.5 0, 12.5 6.5 0, 12.5 5.5 0, 9.5 2.5 0)), ((12.5 6.5 0, 14.5 6.5 0, 16.9 4.1 0, 14.5 2.5 0, 12.5 5.5 0, 12.5 6.5 0)), ((19.5 1.5 0, 14.3 1.5 0, 14.5 2.5 0, 16.9 4.1 0, 17.642857 4.285714 0, 19.5 1.5 0)), ((14.3 1.5 0, 9.5 1.5 0, 9.5 2.5 0, 12.5 5.5 0, 14.5 2.5 0, 14.3 1.5 0)), ((14.5 6.5 0, 18.75 6.5 0, 17.642857 4.285714 0, 16.9 4.1 0, 14.5 6.5 0)), ((18.75 6.5 0, 20.5 6.5 0, 20.5 1.5 0, 19.5 1.5 0, 17.642857 4.285714 0, 18.75 6.5 0))) DELETED test/sql_stmt_voronoj2_tests/voronoj18.testcase Index: test/sql_stmt_voronoj2_tests/voronoj18.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj18.testcase +++ test/sql_stmt_voronoj2_tests/voronoj18.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - XYM (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTM(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTM(10 5 10, 15 5 11, 20 4 12, 12 3 13, 17 2 14, 16 6 15)'), 0))) -MULTIPOLYGON M(((9.5 2.5 0, 9.5 6.5 0, 12.5 6.5 0, 12.5 5.5 0, 9.5 2.5 0)), ((12.5 6.5 0, 14.5 6.5 0, 16.9 4.1 0, 14.5 2.5 0, 12.5 5.5 0, 12.5 6.5 0)), ((19.5 1.5 0, 14.3 1.5 0, 14.5 2.5 0, 16.9 4.1 0, 17.642857 4.285714 0, 19.5 1.5 0)), ((14.3 1.5 0, 9.5 1.5 0, 9.5 2.5 0, 12.5 5.5 0, 14.5 2.5 0, 14.3 1.5 0)), ((14.5 6.5 0, 18.75 6.5 0, 17.642857 4.285714 0, 16.9 4.1 0, 14.5 6.5 0)), ((18.75 6.5 0, 20.5 6.5 0, 20.5 1.5 0, 19.5 1.5 0, 17.642857 4.285714 0, 18.75 6.5 0))) DELETED test/sql_stmt_voronoj2_tests/voronoj19.testcase Index: test/sql_stmt_voronoj2_tests/voronoj19.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj19.testcase +++ test/sql_stmt_voronoj2_tests/voronoj19.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - XYZM (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZM(10 5 10 1, 15 5 11 2, 20 4 12 3, 12 3 13 4, 17 2 14 5, 16 6 15 6)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINTZM(10 5 10 1, 15 5 11 2, 20 4 12 3, 12 3 13 4, 17 2 14 5, 16 6 15 6)'), 0))) -MULTIPOLYGON ZM(((9.5 2.5 0 0, 9.5 6.5 0 0, 12.5 6.5 0 0, 12.5 5.5 0 0, 9.5 2.5 0 0)), ((12.5 6.5 0 0, 14.5 6.5 0 0, 16.9 4.1 0 0, 14.5 2.5 0 0, 12.5 5.5 0 0, 12.5 6.5 0 0)), ((19.5 1.5 0 0, 14.3 1.5 0 0, 14.5 2.5 0 0, 16.9 4.1 0 0, 17.642857 4.285714 0 0, 19.5 1.5 0 0)), ((14.3 1.5 0 0, 9.5 1.5 0 0, 9.5 2.5 0 0, 12.5 5.5 0 0, 14.5 2.5 0 0, 14.3 1.5 0 0)), ((14.5 6.5 0 0, 18.75 6.5 0 0, 17.642857 4.285714 0 0, 16.9 4.1 0 0, 14.5 6.5 0 0)), ((18.75 6.5 0 0, 20.5 6.5 0 0, 20.5 1.5 0 0, 19.5 1.5 0 0, 17.642857 4.285714 0 0, 18.75 6.5 0 0))) DELETED test/sql_stmt_voronoj2_tests/voronoj2.testcase Index: test/sql_stmt_voronoj2_tests/voronoj2.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj2.testcase +++ test/sql_stmt_voronoj2_tests/voronoj2.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - text input (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram('alpha'); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram('alpha') -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj20.testcase Index: test/sql_stmt_voronoj2_tests/voronoj20.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj20.testcase +++ test/sql_stmt_voronoj2_tests/voronoj20.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - (only_edges=no) -:memory: #use in-memory database -SELECT AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(5 10, 2 15, 4 20, 3 12, 2 17, 6 16)'), 0))); -1 # rows (not including the header row) -1 # columns -AsText(ST_ForceLHR(ST_VoronojDiagram(GeomFromText('MULTIPOINT(5 10, 2 15, 4 20, 3 12, 2 17, 6 16)'), 0))) -MULTIPOLYGON(((6.5 18.75, 6.5 12.833333, 5.928571 12.928571, 4.346154 14.115385, 3.875 16, 4.285714 17.642857, 6.5 18.75)), ((1.5 13.166667, 1.5 16, 3.875 16, 4.346154 14.115385, 1.5 13.166667)), ((1.5 16, 1.5 19.5, 4.285714 17.642857, 3.875 16, 1.5 16)), ((2.5 9.5, 1.5 9.5, 1.5 13.166667, 4.346154 14.115385, 5.928571 12.928571, 2.5 9.5)), ((1.5 19.5, 1.5 20.5, 6.5 20.5, 6.5 18.75, 4.285714 17.642857, 1.5 19.5)), ((6.5 12.833333, 6.5 9.5, 2.5 9.5, 5.928571 12.928571, 6.5 12.833333))) DELETED test/sql_stmt_voronoj2_tests/voronoj3.testcase Index: test/sql_stmt_voronoj2_tests/voronoj3.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj3.testcase +++ test/sql_stmt_voronoj2_tests/voronoj3.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - integer input (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(1); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(1) -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj4.testcase Index: test/sql_stmt_voronoj2_tests/voronoj4.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj4.testcase +++ test/sql_stmt_voronoj2_tests/voronoj4.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - NULL input (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(NULL); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(NULL) -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj5.testcase Index: test/sql_stmt_voronoj2_tests/voronoj5.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj5.testcase +++ test/sql_stmt_voronoj2_tests/voronoj5.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - NULL edges_only (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), NULL); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), NULL) -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj6.testcase Index: test/sql_stmt_voronoj2_tests/voronoj6.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj6.testcase +++ test/sql_stmt_voronoj2_tests/voronoj6.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - text edges_only (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 'alpha'); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 'alpha') -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj8.testcase Index: test/sql_stmt_voronoj2_tests/voronoj8.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj8.testcase +++ test/sql_stmt_voronoj2_tests/voronoj8.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - double edges_only (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0.0); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0.0) -(NULL) DELETED test/sql_stmt_voronoj2_tests/voronoj9.testcase Index: test/sql_stmt_voronoj2_tests/voronoj9.testcase ================================================================== --- test/sql_stmt_voronoj2_tests/voronoj9.testcase +++ test/sql_stmt_voronoj2_tests/voronoj9.testcase @@ -1,7 +0,0 @@ -ST_VoronojDiagram - BLOB tolerance (error) -:memory: #use in-memory database -SELECT ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, zeroblob(4)); -1 # rows (not including the header row) -1 # columns -ST_VoronojDiagram(GeomFromText('MULTIPOINT(0 0, 1 1, 2 2, 0 1, 2 1)'), 0, zeroblob(4)) -(NULL) Index: test/sql_stmt_xmlsec_tests/Makefile.in ================================================================== --- test/sql_stmt_xmlsec_tests/Makefile.in +++ test/sql_stmt_xmlsec_tests/Makefile.in @@ -1,9 +1,9 @@ -# Makefile.in generated by automake 1.15 from Makefile.am. +# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2014 Free Software Foundation, Inc. +# Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -12,21 +12,11 @@ # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = { \ - if test -z '$(MAKELEVEL)'; then \ - false; \ - elif test -n '$(MAKE_HOST)'; then \ - true; \ - elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ - true; \ - else \ - false; \ - fi; \ -} +am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ @@ -86,18 +76,18 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = test/sql_stmt_xmlsec_tests +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) -DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) @@ -118,11 +108,10 @@ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ @@ -296,10 +285,11 @@ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/sql_stmt_xmlsec_tests/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign test/sql_stmt_xmlsec_tests/Makefile +.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ @@ -470,11 +460,9 @@ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am -.PRECIOUS: Makefile - # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Index: test/test-legacy-3.0.1.sqlite ================================================================== --- test/test-legacy-3.0.1.sqlite +++ test/test-legacy-3.0.1.sqlite cannot compute difference between binary files Index: test/test_helpers.h ================================================================== --- test/test_helpers.h +++ test/test_helpers.h @@ -2,12 +2,10 @@ #define UNUSED __attribute__ ((__unused__)) #else #define UNUSED #endif -#include - #ifdef __WIN32 /* * Windows replacement for strcastr * * original code from: